以下代码pdflatex -interaction=nonstopmode file.tex
在遇到错误时会导致命令挂起。有人能告诉我原因吗?
仅当反斜杠\
位于 之前时才会发生这种情况\midrule
。如果我删除\midrule
,它就可以正常工作。
% !TEX encoding = UTF-8 Unicode
\documentclass{article}
\usepackage{booktabs}
\begin{document}
% \begin{table}\small
% \caption{Test the backslash after newline}
\begin{tabular}{cc}
\toprule
6050 & 2.06e-05\\
\ \midrule % backslash was before \midrule.
1038 & 3.37e-06\\
\bottomrule
\end{tabular}
% \end{table}
\end{document}
答案1
你可以按 Ctrl-C(在大多数系统中)来中断它,然后你会看到
! Interruption.
<to be read again>
\vskip
l.13 \end
{tabular}
?
你可以x
在这个提示处停下来,但它也表明这实际上是前几天发生的一个案例的重复
一个更简单的例子是
\documentclass{article}
\scrollmode
\begin{document}
{\let\par\relax
x\vskip 2pt
}
\end{document}
\scrollmode
告诉 TeX 不要停止,而只是执行其默认的错误恢复并继续。
如果它\vskip
在水平模式下看到,则恢复将添加\par
到(希望)进入垂直模式,然后再次看到跳过。
但是如果\par
已经定义为不执行任何操作,则添加\par
不执行任何操作,因此\vskip
再次以水平模式看到,并\par
再次插入以进行错误恢复,并且它再次不执行任何操作......