有时找不到 tfm

有时找不到 tfm

我正在尝试使用这个 Garamond 包使用其 Garamond 字体,如果我尝试将文件整理到它们自己的子目录中,则无法使用它。

与说明相反,如果我将 zip 解压到与我的文档相同的目录中(给我一个package包含许多 .tfm 和其他文件的目录)并添加package到我的 TEXINPUTS 路径,则编译会失败:

[1] (input/package/t1ggm.fd)
kpathsea: Running mktextfm ggmr8t
mktextfm: Running mf-nowin -progname=mf \mode:=ljfour; mag:=1; nonstopmode; input ggmr8t
This is METAFONT, Version 2.718281 (TeX Live 2012/Debian)


kpathsea: Running mktexmf ggmr8t
! I can't find file `ggmr8t'.
<*> ...:=ljfour; mag:=1; nonstopmode; input ggmr8t

Please type another input file name
! Emergency stop.
<*> ...:=ljfour; mag:=1; nonstopmode; input ggmr8t

Transcript written on mfput.log.
grep: ggmr8t.log: No such file or directory
mktextfm: `mf-nowin -progname=mf \mode:=ljfour; mag:=1; nonstopmode; input ggmr8t' failed to make ggmr8t.tfm.
kpathsea: Appending font creation commands to missfont.log.

! Font T1/ggm/m/n/7=ggmr8t at 7.0pt not loadable: Metric (TFM) file not found.
<to be read again> 
                  relax 
l.72 \garamond

?

但是,如果我将目录中的所有文件提取package到与我的文档相同的目录中,它可以正常编译,并且我的文本将按所需的 Garamond 格式显示。

我真的希望将所有这些文件保存在一个子目录中,无论该子目录是命名的package还是(最好)garamond。是否有一些额外的环境变量可以为 tfm 文件设置,以便它不会尝试从头开始重新编译它们?

答案1

无论如何,我有一个很长的 pdflatex 命令行,因此我将字体文件存储在名为的子目录中garamond,并使用 bash 脚本“解决”它:

#!/bin/bash

FOO=`ls garamond`
cp garamond/* .

# pdflatex command here...

rm -f $FOO

我不知道 TeX 使用什么模型来处理路径,但它与现代超文本系统不匹配,而且我找不到任何相关文档,因此需要一些荒谬的解决方法。

答案2

  • (ggm)包garamond已被加拉蒙德包。阅读后者的文档,看看切换到新包后您会得到什么。
  • 如果garamondx尚未使用 TeXLive 安装,并且无法通过包管理器安装:TeX 将其文件保存在所谓的 TEXMF 树中,并期望它们具有一定的结构。其中一个树是 TEXMFHOME 树,通常位于${HOME}/texmf(这可以在配置文件中检查texmf.cnf,我的位于/etc/texmf/web2c/texmf.cnf)。然后您可以手动下载这个文件将其${HOME}/texmf放在unzip那里。之后,运行texhash将使所有文件都garamondx可以供 TeX 访问。这些.tds.zip文件包含预先构造的包文件,适用于 TEXMF 树。

但请先尝试通过您的包管理器或 TeXLive 包管理器获取包。

相关内容