是否可以编写 cm-super 包?

是否可以编写 cm-super 包?

几乎所有 PDFTeX 的预配置字体都是通过\usepackage{...}语句启用的,除了cm-super。这个包的工作原理是:如果你安装它,它会默认替换所有 T1 编码(位图)Computer Modern 字体,并且只有在你创建没有条目的地图文件cm-super\pdfmapfile{nosuper.map}在你的文档中使用时才能使用原始字体。

现在,普通的 LaTeX 最终用户(比如我)不知道什么是映射文件,也不关心。是否可以编写一个cm-super.sty包,在加载时启用这些字体,而默认字体保持不变?

注意:我知道这不是很重要,因为lmodern, 但是无所谓。

答案1

当您在 TeX 发行版中安装 CM-Super 字体时,Type1 字体的映射会更新以使用它们。因此,无需手动禁用TeX Live 上updmap(通常在变体中updmap-sys)或 MiKTeX 中等效方法加载的映射文件,您就可以将字体自动映射到其 Type1 对应字体。

因此,如果不对自己的 TeX 发行版进行(恶意)操作,就不可能编写一个按需加载 CM-Super 字体的包。

另一方面,您可以轻松制作一个nocmsuper.sty避免使用 CM-Super 字体的包,但我不明白您为什么要这样做。

\ProvidesPackage{nocmsuper}
\pdfmapfile{-cm-super-t1.map}
\pdfmapfile{-cm-super-t2a.map}
\pdfmapfile{-cm-super-t2b.map}
\pdfmapfile{-cm-super-t2c.map}
\pdfmapfile{-cm-super-ts1.map}
\pdfmapfile{-cm-super-x2.map}
\endinput

在排版任何框之前尽快加载。

相关内容