使用本地字体显示一些数学符号

使用本地字体显示一些数学符号

为了与我的出版商兼容,我不得不为一些数学符号制作自己的字体(使用 fontforge)。但是,我不知道如何让 latex 使用我的字体,所以我最终只制作了一个 pdf/eps,每个符号只有一个符号,并将 pdf/eps 作为图形包含在内。这可行,但现在即使只有几页,编译也会花费很长时间。

那么,如何让 latex 直接使用我的字体而不是包含图形呢?我需要一个解决方案,让我的合著者只需检查我们的目录并通过 latex 和 pdflatex 在 Windows 和 Linux 上进行编译(可能使用特殊标志和僵硬)(假设他们在 miktex 和 texlive 套件中安装了适当的软件包)。也就是说,任何要求我将文件放在包含我的 latex 文件或其子目录的目录之外的任何位置的解决方案都不幸是不够的。

任何帮助都将不胜感激(如果有解决方案的话)。我不是高级用户,因此需要详细说明。我可以访问 Windows 和 Linux(特别是 Ubuntu)机器来创建任何必要的文件。谢谢!

答案1

首先,您需要一个包含度量标准的 tfm 文件。(如果您有一个 afm 文件,则可以使用 afm2tfm 轻松生成 tfm。)首先将 tfm 和 pfb 放在与测试文档相同的文件夹中,以测试字体。在一个小的 latex 文档中添加行 \pdfmapline{=tfm-name fontname type1.pfb}(使用正确的名称),然后尝试符号应该所在的位置。下面是使用 wasy 字体进行此类测试的示例:

\documentclass{article}
\pdfmapline{=wasy10 wasy10 <wasy10.pfb}

\begin{document}
\font\test=wasy10 \test \char62 \char63
\end{document}

当这项工作完成时,列出所有符号、它们的位置、您想要使用的命令名称、tfm 和 pfb 的名称,以便有人可以为您制作一个小猪圈和一个地图文件。

编辑:下一步:地图文件。如您所见,pdflatex 可以简单地使用\pdfmapline(或\pdfmapfile) 加载映射信息,但 dvips、dvidpfmx 等需要其地图中的信息。

制作一个 wpl.map,其中包含来自\pdfmapline(不带等号)的行。将其保存在以下某处的本地 texmf 树中。在此过程中,还将其他文件移动到本地 texmf 树。更新 FNDB/运行 texhash。然后使用(通常)或(miktex 和特殊情况下使用 texlive)/fonts/map/...添加映射文件。另请参阅 TeX-FAQ:updmap-sysupdmaphttps://texfaq.org/FAQ-instt1font

然后再次测试。首先使用 pdflatex。如果可以,尝试使用 dvips。如果 pdflatex 可以工作,但 dvips 不行,则地图行中的“字体名称”(中间条目)是错误的(dvips 更挑剔)。在 afm 中检查正确的名称,在地图中更正,然后使用重新生成地图udpmap(-sys)

相关内容