我正在尝试使用 Baskerville 字体
\usepackage{kpfonts,baskervald}
pdflatex 失败并出现以下错误:
kpathsea: Running mktexpk --mfmode / --bdpi 600 --mag 1+0/600 --dpi 600 ybvr8r
mktexpk: don't know how to create bitmap font for ybvr8r.
mktexpk: perhaps ybvr8r is missing from the map file.
kpathsea: Appending font creation commands to missfont.log.
)
(see the transcript file for additional information)
!pdfTeX error: /usr/bin/pdflatex (file ybvr8r): Font ybvr8r at 600 not found
==> Fatal error occurred, no output PDF file produced!
如果我删除,文档就会编译\usepackage{kpfonts,baskervald}
。我在 arch linux 中使用 texlive(我安装了texlive-most)。
我尝试了一些方法,但无法让它工作。该文件似乎安装在 texmf 树中:
/usr/share/texmf-dist/fonts/tfm/arkandis/baskervald/ybvr8r.tfm
并被检测到kpsewhich
:
$ kpsewhich ybvr8r.tfm
/usr/share/texmf-dist/fonts/tfm/arkandis/baskervald/ybvr8r.tfm
该错误表明地图文件可能丢失,我不知道它是什么,但我尝试了这个(遵循 baskervaldadf 文档):
sudo updmap-sys --enable Map=ybv.map
失败的原因如下:
updmap will read the following updmap.cfg files (in precedence order):
updmap may write changes to the following updmap.cfg file:
/etc/texmf/web2c/updmap.cfg
updmap: top config file /etc/texmf/web2c/updmap.cfg has not been read. at /usr/bin/updmap line 1488.
该文件/etc/texmf/web2c/updmap.cfg
存在。
我被困在这里了……我怀疑有些文件同时存在于目录/usr/share/texmf-dist
和/etc/texmf
目录中,这本身就是个问题。例如,两者都有 ls-R。 中的那个/usr/share/texmf-dist
有 baskervald(但只有.afm
文件,所以不是ybvr8r.tfm
),而 中的那个/etc/texmf
没有。但我不知道这是否真的是个问题……
我有 Baskervald ADF 字体/usr/share/texmf-dist/fonts/type1/arkandis/baskervald
和格式。虽然没有,但从 CTAN 上的包来看,这似乎是正常的.pfb
。.pfm
ybvr8r.pfb
正如@UlrikeFischer 所建议的,添加\pdfmapfile{=ybv.map}
可以解决问题,但现在 pdflatex 抱怨缺少另一种字体 (jkpsy),该字体也存在于我的 texlive 安装中。所以问题并没有真正解决。我的 texlive 配置似乎存在问题...
运行后sudo texconfig-sys
发现updmap.cfg
没有找到,虽然它在那里/etc/texmf/web2c/updmap.cfg
正如 @cfr 指出的那样,这是 arch linux texlive 包的问题,这里已经提到:https://bbs.archlinux.org/viewtopic.php?id=78899
updmap.cfg 中的 Map euler.map 行中有一个额外的空格。删除额外的空格,运行 texconfig-sys 和 updmap-sys 即可解决问题!
谢谢!
编辑:添加了一些信息来回答评论