当我开始编译语法错误的 TeX 文件时,LaTeX 会发出警告。我尝试做的第一件事就是停止(终止)LaTeX 编译。但是,没有任何效果。我尝试过Ctrl+C
、Ctrl+q
、quit
、exi
t、q
、quit()
... 最后我需要使用 Linux 中的 top 命令来终止该进程。有没有一种文明的方式来终止 LaTeX?
答案1
个人陈述
我是一个命令行人,对 LaTeX IDE(前端)和编辑器特定的编译一无所知。我使用emacs使用奥科特克斯,并在终端中编译。因此,我的答案集中在命令行区域。
解决方案
事实上,文明地杀死 LaTeX,正如您所问的那样。
x
在提示符下输入 Enter ,然后按Enter
。按Ctrl-d
可能更快。大多数终端使用此按键发送文件结束符,这会使 LaTeX 做出与x
输入 相同的反应。
(以上两者并不完全相同。如果出现x
,LaTeX 将会提示“没有输出页面...”。如果出现Ctrl-d
,它将被视为“紧急停止... 致命错误”。我希望我可以更具体地说明这两者之间的细微差别。)
请考虑以下示例。我故意在文件中引入了一个语法错误。
LaTeX 停止并提示“未定义控制序列”。我输入内容x
,然后按Enter
。然后干净地退出。
如果我Ctrl-d
在类似情况下按下,则会再次出现出口,但信息会略有不同。
如果你想了解更多可用选项,请?
在 LaTeX 提示符中输入 并按Enter
。结果如下:
? ? Type <return> to proceed, S to scroll future error messages, R to run without stopping, Q to run quietly, I to insert something, E to edit your file, 1 or ... or 9 to ignore the next 1 to 9 tokens of input, H for help, X to quit.
额外但有帮助
此外,学习以下内容有帮助(可能是 Linux/命令行特定的)。
- 要中断较长的编译,请按
Ctrl-c
,这将给出上述提示。 - 如果 LaTeX 正在等待不存在的输入文件,
! I can't find file `nosuchfile.tex'. l.5 \input nosuchfile.tex (Press Enter to retry, or Control-D to exit) Please type another input file name:
按Ctrl-d
。
答案2
如果你pdflatex
运行
pdflatex -halt-on-error file.tex
第一个错误发生后它将停止。
答案3
我迟到了,但我也在想同样的事情,并在搜索中找到了这个答案,所以我想发布它。
如果您正在使用AUCTeX
,则该命令TeX-kill-job
就是您所需要的。默认情况下,它绑定到C-c C-k
。