我正在寻找一个命令序列来终止正在运行的实例
pdflatex --interaction batchmode
无论其状态和先前的输入如何。我不关心输出或错误消息——基本上我想要一个“神版”的
\makeatletter\@@end
终止pdflatex
进程,即使之前的输入是
\newcommand{\iwannabeclever}{
或者
\begin{verbatim}
。我当时正在考虑一个长序列}
,但 catcode 可能已经改变(例如,在逐字模式下)。
应用
我想通过 fifo(由 创建mkfifo
)来输入 LaTeX。这可行,但关闭 fifo 似乎无法终止该pdflatex
过程。
答案1
如果你使用
pdflatex --halt-on-error
然后它将在第一个错误处停止。引入错误的一种方法是使用非法字符。在 LaTeX 中,默认情况下只有 0(ASCII NULL)和 127(ASCII DEL)。(在纯 TeX 中,只有 DEL 是非法的,NULL 会被忽略。)
通常情况下,您可以输入该内容,^^@
但如果您希望它能够逐字逐句地工作,则需要输入流中有一个实际的字节 0。