有时,当我在 LaTeX 编辑器中编写一些新的“代码”(纯文本、方程式、特殊命令等)并编译文件时,就会出现错误。通常,当我遇到错误时,我会检查编辑器随后突出显示的代码。但是,对于这些“无法解释的错误”,没有突出显示任何代码(与所有“红色”错误一样,代码无法编译)。所以,我再次编译并且...它成功了。通常我只是继续写作,但这次我想尝试找出是否有人遇到过这种情况,以及是否有人知道为什么会发生这种情况。
编辑1 以下是错误截图:
答案1
有时错误(或其描述)可能与错误指向的位置或内容无关。最简单的形式可能是 LaTeX 的\label
-\ref
系统,尽管这并非真正的错误。您的文档很完美,但参考资料却显示为??
编译时。“突然”,当您再次编译时,引用会按预期显示。目录也是如此;它似乎总是落后一步,或者“不知从何而来”导致错误。
如果情况确实如此,总是通过删除辅助文件重新开始(.aux
,.toc
...参见LaTeX 相关文件的文件扩展名和/或天哪!这些文件都是什么?) 并再次编译,至少两次(有时更多),因为引用和其他内容可能需要几次运行才能解决。
典型的错误与编译相关的问题通常源自.aux
上次运行中遗留的内容。导致此问题的常见软件包包括hyperref
和tikz
/pgf
,因为他们在其中写入了实际的命令定义(当然,软件包作者会尝试避免这种情况)。也就是说,在删除这些软件包后,第一次重新编译仍会处理.aux
包含完全不受支持的定义,并且可能会导致文档出现问题。
Knuth 将 TeX 描述为“进食机器”(第7 TeX 如何读取你输入的内容,第 38 页):
如果您想彻底了解 TeX,那么理解标记列表的概念非常重要,通过将 TeX 视为活的有机体来学习这个概念会很方便。文件中的各行输入只能被 TeX 的“眼睛”和“嘴巴”看到;但在文本被吞噬之后,它会以标记列表的形式发送到 TeX 的“胃”,而实际排版的消化过程完全基于标记。就胃而言,输入以标记流的形式流入,有点像您的 TeX 手稿被全部输入到一行非常长的行中。
说白了,TeX 可能已经吞噬了你的部分内容,只是在完全不同/后期的阶段才出现了胃问题。
对于一些塔姆斯大学*, 看
*可能的补救措施电视eX 的乌未知股票米每个问题年代