我在 Windows 7 机器上运行 TeXLive 2016。过去,当我对使用 的新文件运行 XeLaTeX 时mathspec
,第一次编译会花费很长时间,无论文档的长度如何。(不管怎么说,我使用的是 Calibri 字体。)看着 Build Output 滚动(使用 TeXnicCenter),行上总会有一个停顿
xelatex> (c:/texlive/2016/texmf-dist/tex/latex/euenc/eu1enc.def)
就在行之前
xelatex> (c:/texlive/2016/texmf-dist/tex/latex/euenc/eu1lmr.fd)
。
经过第一次编译后,xelatex 运行速度很快,与 pdflatex 相当(如果我没有使用的话mathspec
)。
现在它总是挂在这里,每次编译都会增加 20 多秒的时间。我能做些什么来加快速度吗?
编辑:根据评论的建议,我运行了一个进程监视器,似乎 xelatex.exe 正在读取每一个我的字体目录中没有字体。有什么方法可以防止这种情况发生吗?
答案1
将 TeXLive 从 2013 升级到 2016 后,我也一直在努力解决同样的问题。每次编译都开始花费一分钟以上的时间,并且进程监视器显示正在读取大量字体文件。
fc-cache.exe
从 LaTeX 发行版的文件夹运行bin
(如上面的评论所示)解决了该问题,而无需重新安装 TeXLive。
请注意,发行版的texmf-var\fonts\cache
文件夹需要对运行的用户具有可写入权限fc-cache.exe
。
答案2
另一个解决方案是更改属性,xelatex.exe
使其始终以管理员身份运行。(右键单击bin\win32
文件夹中的文件,然后单击“兼容性”选项卡,然后单击底部的框以“以管理员身份运行此程序”。)
这需要我提升 TeXnicCenter 的权限以管理员身份运行。进行这些更改后,问题可能会消失。
答案3
这与已经发布的内容类似,但不完全相同,因此就在这里。
如果其他答案都不适用于未来的读者,请尝试运行fc-cache -f
(感谢 Hao 和 Ulrike Fischer此解决方案) 位于类似于以下内容的目录中D:\texlive\2016\bin\win32
(这正是我的机器上的目录,我运行的是 Win10)或者 - 假设您的PATH
a设置为它 - 您计算机上的任何其他位置都可以。这对我来说有效。
这个解决方案似乎不是曾工作于另一起仍未解决的案件。
答:如果您不知道这意味着什么,现在不必担心。当您尝试安装最新的 vanilla TexLive 并必须手动设置路径时,您才需要担心这个问题。这很有趣,只要您有时间学习绝地武士的方法。
答案4
我TeXStudio
在 Windows 10 中将其用作 TeXLive 2016 的文本编辑器。我尝试了上述所有解决方案。但fc-cache -fv
对我来说都有效。只有这个命令cmd
可以更新texmf-var\fonts\cache
,其余的命令没有效果,即使我刚刚删除了v
(用于在终端上书写)。
请确保使用cmd
管理员权限而不是PowerShell
。但是最后提供的命令在 内有效PowerShell
,但fc-cache -f
没有输出,与 形成鲜明对比,cmd
尽管它没有被要求详细!
不过,我应该提到,加速并不是永久性的,它应该每六个月重复一次(至少对我来说是这样!)。
TeXWorks
我还应该提到,虽然使用的是相同的版本,但我在使用时从未遇到过这个问题xelatex
。