我尝试解决在 stackoverflow 上询问的有关使用 TeX 创建 matplotlib 标签的 python 脚本的问题。请参阅https://stackoverflow.com/questions/50875637/matplotlib-how-do-i-have-to-provide-font-metrics-files-for-rendering-text-by-te了解详情。
结果是缺少一个 tfm 文件。FileNotFoundError:缺少字体度量文件:rsfs10
但是,包 rsfs 已安装,但包中不包含 tfm 文件。https://ctan.org/tex-archive/fonts/rsfs/ 这有什么原因吗?我在哪里可以得到这样的 tfm 文件?
我已经找到了类似的主题:编译时查找元字体时出现问题 那里提供的解决方案是安装软件包。但这在我的系统上已经完成了。
答案1
在对我的问题进行讨论的帮助下(参见评论),我找到了一个解决方案:
在我的计算机上,MikTex 安装相当新,并且以前从未使用过该字体,因此尚未创建所需的 tfm 文件。
然而,matplotlib Python 包 (dviread.py) 试图在使用前识别 tfm 文件,以便创建字体文件缓存(请参阅此处的问题https://stackoverflow.com/questions/50875637/matplotlib-how-do-i-have-to-provide-font-metrics-files-for-rendering-text-by-te)
我在另一台电脑上安装了完整的 TeXLive。安装过程中已经创建了 tfm 文件,我只需将文件复制到电脑上的相应位置即可。
答案2
虽然 Stellarator 和 David Carlisle 的回答和评论很有帮助,但命令不起作用(特别是mktextfm rsfs10
评论中的建议)。我也不想完全重新安装 Miktex,因为我已经花了一些时间设置和运行其他外部程序。
我在 C:\Program Files\MiKTeX\miktex\bin\x64 文件夹中进行了一些搜索,它看起来像正在运行:
miktex-maketfm.exe rsfs10
成功了。它构建了 rsfs10.tfm 并将其放在 C:\Users\XXX\AppData\Local\MiKTeX\fonts\tfm\public\rsfs 文件夹中。
Miktex 的作者可能重命名了 David Carlisle 提到的包装器脚本。当我想在字体系列中使用 tex 渲染时,这个问题就出现了matplotlib
。times
它在 python 控制台中给我的错误是:
FileNotFoundError: missing font metrics file: rsfs10
请注意,此解决方案适用于 Miktex 20.10。运行此程序后,matplotlib 没有任何问题。