我有这个示例 LaTeX 文件,我正在使用latexmk -f -interaction=nonstopmode -latex Eqn.tex
,但 nonstopmode 无效。我了解方程中的实际问题。我的问题是如何让引擎通过并仅在日志文件中显示错误。
\documentclass{article}
\usepackage{amsmath,amssymb,amsfonts}
\begin{document}
$$\begin{aligned} Q - Q' = {\left\{ \begin{array}{ll} [ -2^j]P &{} \text {if } k_j = 0,\\ [2^j]P &{} \text {if } k_j = 1. \end{array}\right. } \end{aligned}$$
\end{document}
日志
...
entering extended mode
^C! Interruption.
<to be read again>
\vskip
l.7 ... [ -2^j]P &{} \text {if } k_j = 0,\\ [2^j]
P &{} \text {if } k_j = 1....
? x
No pages of output.
它只是等待用户的一些输入。
答案1
如果您滚动经过一个错误(在批处理模式或非停止模式下),tex 将尝试在没有任何用户交互的情况下进行恢复,但是如果您编写一个循环,无论是明确的还是由于不幸的错误恢复,都不会出现错误提示,但 TeX 可能会在循环时挂起。
如果你以交互方式运行提供的示例,你会看到 8 个错误,但之后就不会再有错误提示,因为 TeX 处于一个紧密的循环中。如果你按 Ctrl-C 来中断它,你会看到
! Interruption.
<to be read again>
\vskip
l.7 ... [ -2^j]P &{} \text {if } k_j = 0,\\ [2^j]
P &{} \text {if } k_j = 1....
?
这表明该文件现在相当于
\documentclass{article}
\begin{document}
\let\par\relax
zzz\vskip 5pt
\end{document}
这将永远循环,直到被中断为止,不会出现任何错误。
TeX\vskip
在水平模式下看到 ,因此将其添加\par
到段落末尾,然后执行重新插入\vskip
,但\par
已被重新定义为不执行任何操作,因此\vskip
再次在水平模式下看到 并循环。由于这里没有错误,因此--interaction
没有任何影响。