对于文档中的代码片段,我更喜欢 Bitstream Courier 10 Pitch,它比通常的 Monotype/Linotype Couriers 更暗。使用 fontspec,我说:
\setmonofont[Scale=0.92]{Courier 10 Pitch}
但是,我经常与不想使用 XeTeX 的人合作,他们也不一定有 Bitstream 的 Courier 的本地副本。所以我使用 pdftex,并说
\usepackage{courier}
有没有办法强制 pdftex 在生成的 PDF 中嵌入 Bitstream Courier 而不是 Nimbus Mono?
附录:也许我应该多介绍一些背景知识。我们讨论的是学生的练习表,它们托管在一个共享的git存储库,并且必须易于所有导师编译,其中许多人不是 TeX 专家。虽然我并不反对在我的私人 TeX 树中安装额外的包,但共享目录中的文档git存储库必须是可编译的,而无需安装 TeXlive 中未提供的任何内容。
答案1
技术给出这个答案很好地解决了我的问题。我创建了一个名为的文件10pitch.map
,其中包含以下几行:
pcrr8r Courier10PitchBT-Roman " TeXBase1Encoding ReEncodeFont " <8r.enc <c0419bt_.pfb
pcrr8rn Courier10PitchBT-Roman " .85 ExtendFont TeXBase1Encoding ReEncodeFont " <8r.enc <c0419bt_.pfb
pcrro8r Courier10PitchBT-Italic " TeXBase1Encoding ReEncodeFont " <8r.enc <c0582bt_.pfb
pcrb8r Courier10PitchBT-Bold " TeXBase1Encoding ReEncodeFont " <8r.enc <c0583bt_.pfb
pcrbo8r Courier10PitchBT-BoldItalic " TeXBase1Encoding ReEncodeFont " <8r.enc <c0611bt_.pfb
然后我说
pdflatex '\pdfmapfile{=10pitch.map}\input{filename.tex}'
并且字体在编译时被替换。