这可能是一个简单或不合时宜的问题,但我已经遇到了很多文档编译的细微差别,我真的只需要从头开始理解这一点。
有人能向我解释一下标准 LaTeX 编译链/事件链/LaTeX 制作的工作原理吗?我还想知道字体加载在哪里适用,tikz 何时运行,标签如何分配,为什么 pdflatex 比 latex 好等等。
我在网上看到过一些关于 2 * latex、1 * bibtex、1 * latex 的参考资料,但我正在寻找一个图表来向我解释这是如何工作的,或者一个深入解释这一点的参考资料,这样我就可以自己在命令行上调试它,而不是被一个错误消息不足的编辑器所困扰(进程已启动,进程因错误而退出)
这听起来像是一个非常基本的问题,但我需要一个答案——因为尝试解决这个问题导致了将近一天的写作停机时间,如果我有一个可以检查的因果链,希望将来可以避免这种情况。我很抱歉一开始没有通过 CLI 完成所有操作。
答案1
标准 LaTeX‘配方’:
latex <filename>
bibtex <filename>
latex <filename>
latex <filename>
过程如下。第一次运行期间,只有文件.tex
。运行期间,LaTeX 将任何引用关键字和\label
信息写入.aux
文件。然后 BibTeX 读取.aux
文件并提取引用,在.bib
文件中查找这些引用,并将格式化的参考文献写入.bbl
文件。第二次 LaTeX 运行会读取文件.aux
以及文件.tex
,并能够使用它来解决交叉引用。它还会读取文件.bbl
,将参考文献插入输出,并为最终的LaTeX 运行将引用标签(数字、作者日期等)放入输出中。
在某些情况下,生活会变得更加复杂,因为可能需要额外的 LaTeX 或 BibTeX 运行,例如如果有多个参考书目、参考文献中的引文,ETC。因此,支持工具尝试使用多种方法来检测是否需要更多运行。这些方法大致包括 (1) 固定“配方”或 (2) 查找和.aux
其他“派生”文件中的更改。
如果你的编辑无法识别运行 BibTeX 的需求(通常情况下可以),那么要么是“配方”损坏了,要么是其使用的脚本缺少辅助文件中的某些内容。具体细节取决于您使用的具体工具。