我更新了软件包 (Windows 10 / MikTex 2.9),其中包括 2020 年 1 月 26 日对 fontspec 的更新。在更新后的第一次编译 (LuaTex) 中,更新前立即编译正常的文件报告了几个错误。我将提供现在失败的示例代码,然后在下文进一步讨论这些错误。
\documentclass[11pt]{book}
\usepackage{amsmath}
\usepackage{fontspec}
\usepackage[math-style=ISO, bold-style=ISO]{unicode-math}
\setmainfont{TeX Gyre Termes}
\setmathfont{TeX Gyre Termes Math}
\setsansfont{Latin Modern Sans}
%
\begin{document}
Hello
\end{document}
终端上显示的错误:
Undefined control sequence \setmathfont
Undefined control sequence \setsansfont
Undefined control sequence \begin
日志文件中的几个片段:
! Undefined control sequence.
<argument> {\str_lowercase:f
{\l__fontspec_extension_tl }}
l.8 \setmathfont
{TeX Gyre Termes Math}
The control sequence at the end of the top line
of your error message was never \def'ed. If you have
misspelled it (e.g., `\hobx'), type `I' and the correct
spelling (e.g., `I\hbox'). Otherwise just continue,
and I'll forget about whatever was undefined.
! Undefined control sequence.
<argument> {\str_lowercase:f
{\l__fontspec_extension_tl }}
l.11 \begin
{document}
我觉得这不太可能是由 fontspec 引起的,因为现在应该有多个报告了。但我想不出其他替代方案,除非更新以某种方式破坏了我的 MikTex 环境。
有什么建议吗?
答案1
我遇到了和你上面描述的一样的问题。在对我更新的 Miktex 安装进行了一些观察后,发现l3kernel
系统中缺少软件包。请尝试通过 Miktex 控制台手动安装。