为什么 TeX 尝试插入“缺失”的标记?

为什么 TeX 尝试插入“缺失”的标记?

为什么 TeX 会尝试插入缺失的标记?为什么它不会直接放弃并死掉?

更重要的是,是否存在这样的情况被忽视?

答案1

(La)TeX 文档中的许多语法错误都是由于忘记使用反斜杠$或反斜杠而导致的简单错误,例如在文本中使用&or$代替\&and \$。其他常见错误是由于输入错误命令或忘记使用括号而导致的。

当发生此类错误时,TeX 能够很好地恢复同步:$可以捕获放错或丢失的括号,并且大多数情况下这足以继续处理文档。但有时,缺少括号可能会带来灾难性的后果。

为什么 Knuth 选择尝试错误恢复?你必须记住 TeX 的设计时间:当时的计算机非常不同,大多数 TeX 运行都是以批处理作业的形式完成的:作业被发送到队列,并在大型计算机为其分配一些时间时运行。在第一次出现错误时停止运行意味着毁掉整个作业,而错误恢复可能会捕捉到一些在一次运行中输入错误。错误恢复在交互式运行中也很有用:您会看到错误和恢复尝试,但在这种情况下,您还可以插入标记或删除 TeX 想要插入的标记。

当处理网站上的 MWE 问题时,这可能非常有益。

答案2

在某些情况下,TeX 会假设某些文本拼写错误。有时,纠正的预期方式是删除有问题的命令,有时是添加其他表达式。例如,如果您只输入\sin(x),TeX 会假设您丢失了一个美元符号,因为\sin必须出现在数学中。

相关内容