缺少 \begin{document}、\count22 和 mathchar 会导致无限次尝试加载字体

缺少 \begin{document}、\count22 和 mathchar 会导致无限次尝试加载字体

在一些预期的错误(缺失\begin{document}、缺失数字被视为零、$插入缺失)之后,以下代码会产生一个无限循环,其中 LaTeX 尝试加载字体^^@^^@OT1+cmr、字体^^@^^@^^@OT1+cmr、字体^^@^^@^^@^^@OT1+cmr等等,直到用尽分组级别。

a
\count22
\par
\alpha

改为或会使循环消失。我感到很困惑\count22\count21\count23

答案1

我们latex.ltx发现

\countdef\m@ne=22 \m@ne=-1

并且由于错误恢复,您的代码设置\count22为零。

将负一的值改为零并不是最好的做法,我相信您会同意这一点。

特别是字体加载代码集\endlinechar\m@ne,这就是您所看到的所有 ASCII NUL 的原因。

相关内容