这个问题纯粹是学术性的。对包含以下内容的文件进行 TeX 处理
\valign{\halign#\cr!
导致! Emergency stop.
错误。这是在 TeX 中产生致命错误的最短代码吗?
答案1
\def\a{a\a}\a
编辑:简短版本,正如 Bruno 所建议的:
\def~{~~}~
得出I can't go on meeting you like this
:
\halign{#&&#\cr\multispan{300}}
结果是This can't happen
:
\halign{#&&#\cr\multispan{300}\cr}
答案2
一个仅由以下内容组成的文件^H
(IIRC 唯一一个在 LaTeX 中默认情况下 catcode 无效的字符)将执行此操作:
[1 1016] ~/temp % echo -e '\b' | latex
This is pdfTeX, Version 3.1415926-2.3-1.40.12 (TeX Live 2011)
**entering extended mode
! Text line contains an invalid character.
<*> ^^H
?
! Emergency stop.
<*> ^^H
No pages of output.
Transcript written on texput.log.
[1 1017] ~/temp %
答案3
{
以下是日志:
This is TeX, Version 3.1415926 (TeX Live 2011) (format=tex 2011.8.28) 14 OCT 2011 11:17
**short
(./short.tex)
! Emergency stop.
<*> short
*** (job aborted, no legal \end found)
No pages of output.
如果允许跑步-interaction=batchmode
那么我赢了:试试看
touch inexistent.tex
tex -interaction=batchmode inexistent
你会得到
This is TeX, Version 3.1415926 (TeX Live 2011) (format=tex 2011.8.28) 14 OCT 2011 11:25
**inexistent.tex
(./inexistent.tex)
! Emergency stop.
<*> inexistent.tex
*** (job aborted, no legal \end found)
No pages of output.
要检查的 shell 的输出:
> ls -l inexistent.tex
-rw-r--r-- 1 enricomb staff 0 Oct 14 11:25 inexistent.tex
答案4
另一种导致引擎崩溃的方式是:\closeout18\bye
在尝试发送页面时导致 pdfTeX 和 XeTeX 出现分段错误。终端上显示的最后一行是
[1zsh: segmentation fault (core dumped) pdftex '\closeout18\bye'