我今天 (2021 年 12 月 7 日) 使用 MiKTeX 控制台更新了每个包,现在使用 XeLaTeX 编译任何使用\setmainfont
或 的文档时遇到问题\fontspec
,但加载fontspec
包可以正常工作。有时它们可以工作,但通常不工作,而且我无法确定它们在什么条件下可以工作。删除辅助文件不会改变任何东西;我以为可以在不使用 synctex 作为命令选项时生成 pdf,但它似乎也不总是有效。我fontspec
已经尝试重新安装了。尝试编译 .tex 文件,它给我留下了一个空的或不完整的 .log 文件和一个 .synctex(busy) 文件。到达 后它往往会崩溃fontspec.cfg
。
以下是导致我出现问题的 MWE:
\documentclass{article}
\usepackage{fontspec}
\setmainfont{Latin Modern Roman}
\begin{document}
Hello World!
\fontspec{Consolas}
Try this thing?
\IfFontExistsTF{Latin Modern Roman}{T}{F}
\IfFontExistsTF{Times New Roman}{T}{F}
\IfFontExistsTF{Consolas}{T}{F}
\end{document}
在某些时候,注释掉 时它会起作用\setmainfont
,但现在除非也注释掉 ,否则它不起作用\fontspec
。生成的 pdf 仍然包含三个 的“T” \IfFontExistsTF
。
抱歉,如果缺少详细信息,但我真的不知道还要寻找什么,这是我能找到的最好的解决方法。如果有帮助的话,我可以发送已更新软件包的列表。
答案1
这是由于 miktex xetex 二进制文件中的错误造成的。已在此处报告
https://github.com/MiKTeX/miktex/issues/984
作为一种解决方法,请使用 lualatex。