编译 LaTeX 源代码生成的文件

编译 LaTeX 源代码生成的文件

.tex每次我编译 LaTeX 源代码时,除了文件和(显然!)之外,都会生成很多文件.pdf。我猜它们对某些人来说确实很有用,对创建最终 pdf 文件的程序来说显然也很有用,但对用户来说却没用。所以我的问题是,是否有任何方法可以让它们在最后停止创建或直接删除,因为我创建项目的文件夹中充斥着大量我不需要的文件。

另外,我真的不知道该在这篇文章中放置什么标签(并且我不知道我选择的标签是否正确),所以请使用正确的标签编辑这篇文章!

答案1

LaTeX 编译器的工作方式是线性的。一个编译过程从上到下遍历源代码。

这导致 LaTeX 编译器无法知道通过设计您要引用哪个图表,该图表是否出现在文档的后续页面上,或者第 5 章从哪一页开始。

辅助文件的必要性与多次运行 LaTeX 以获得最终结果的必要性密切相关。

最常见的文件是:

  • 。日志 :日志文件包含编译运行的所有输出。加载文件警告、错误等。虽然对于进一步的 LaTeX 运行来说不是必需的,但它对于调试非常有用。
  • .辅助:包含参考文献、链接等。在下次运行 LaTeX 时进行解析。
  • .toc:包含目录的条目
  • .bcf:包含所有需要的引用,需要 biber 或 bibtex 来创建:
  • .bbl:包含格式化的引文和参考书目项目,由 LaTeX 解析

仅当您确定不再需要运行 LaTeX 后,您才可以删除这些文件。

此文件应该发生错误后会被删除,因为错误可能会损坏文件,尽管源代码中的错误已被修复,但错误仍然存​​在于文件中并会被解析。

\usepackge[aux]{rerunfilecheck}如果需要运行另一个编译器来完成文档,则应始终使用发出警告的包。此包还依赖于辅助文件。

最后,我想提示您使用构建目录作为输出。然后所有输出文件都在此文件夹中创建(包括 pdf)。您可以通过使用以下选项进行编译来实现这一点--output-directory=foldername

例如:

lualatex --output-directoy=build

该文件夹必须存在。

如果你使用 git 和 make,这真的很方便。你的 .gitignore 非常简单,build/cleanmake 只需rm -rf build

相关内容