![pdflatex 错误:未找到 600 处的字体 msbm10](https://linux22.com/image/425278/pdflatex%20%E9%94%99%E8%AF%AF%EF%BC%9A%E6%9C%AA%E6%89%BE%E5%88%B0%20600%20%E5%A4%84%E7%9A%84%E5%AD%97%E4%BD%93%20msbm10.png)
使用 amsfonts 和 \mathbb 时,我使用 pdflatex 时会遇到上述错误,但使用 latex/dvipdfmx 时不会出现错误。我想在 Inkscape 中渲染 LaTeX,这是那里使用的工具链。
我正在使用的(非常简单的)测试文件是:
\documentclass{article}
\usepackage{amssymb}
\begin{document}
\[\mathbb{N} = \{1,2,3,\cdots\} \]
\end{document}
amsfonts 包已安装并使用,并且我已经安装了字体:
/usr/share/texlive/texmf-dist/fonts/afm/public/amsfonts/symbols/msbm10.afm
/usr/share/texlive/texmf-dist/fonts/source/public/amsfonts/symbols/msbm10.mf
/usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm10.tfm
/usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/symbols/msbm10.pfb
/usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/symbols/msbm10.pfm
但是在 missfont.log 中,我有:
mktexpk --mfmode / --bdpi 600 --mag 1+0/600 --dpi 600 msbm10
运行 pdflatex 时,出现以下警告和错误:
pdfTeX warning: pdflatex (file pdftex.map): cannot open font map file
] (./test.aux) ) </usr/share/texlive/texmf-dist/fonts/pk/ljfour/public/cm/dpi60
0/cmmi10.pk> </usr/share/texlive/texmf-dist/fonts/pk/ljfour/public/cm/dpi600/cm
sy10.pk> </usr/share/texlive/texmf-dist/fonts/pk/ljfour/public/cm/dpi600/cmr10.
pk>
kpathsea: Running mktexpk --mfmode / --bdpi 600 --mag 1+0/600 --dpi 600 msbm10
kpsewhich: symbol lookup error: kpsewhich: undefined symbol: kpathsea_cnf_line_env_progname
kpsewhich: symbol lookup error: kpsewhich: undefined symbol: kpathsea_cnf_line_env_progname
mktexpk: Cannot find mktex.opt; check your installation.
kpathsea: Appending font creation commands to missfont.log.
!pdfTeX error: pdflatex (file msbm10): Font msbm10 at 600 not found
==> Fatal error occurred, no output PDF file produced!
有人能解释一下为什么我在使用 pdflatex 时会遇到这个问题吗?
谢谢!
答案1
事实证明,这是 textlive-lib 库中的一个错误,它缺少一些符号(包括 kpathsea_cnf_line_env_progname)。升级到最新版本的库可以修复它(这是在 Fedora 32 上)。