理解编译错误日志

理解编译错误日志

是否有文档可以提供有关解释错误日志的温和指导?

有时真的很难通过日志来弄清楚如何纠正某些事情,我认为了解一些技巧会很有用。

编辑:

用户推荐了一个好维基百科这似乎有一些有用的提示(对于建议的乳胶伴侣也是如此)但这些日志文件的内容仍然存在很多谜团。

此外,编译文档 dvi、pdflatex、conteXt 等的方法有很多,这有点令人困惑。为什么会这样?是简单的演变,还是有特殊原因要用一种方法而不是另一种方法进行编译?我知道 bibtex 需要单独编译,但除此之外,我对这里的选择数量有点困惑。在此期间调用了哪些文件(以及它们在哪里)?

答案1

答案确实是“进化”。下面是简要总结:

  • 唐纳德·克努斯 (Donald Knuth) 最初于 1977 年左右开发了 TeX,因为他对自己的书的外观不满意。
  • 那时,文档格式 PS 和 PDF 还不存在,只有 DVI
  • DVI 从 1979 年开始开发
  • PS 从 1984 年开始开发
  • PDF 于 1993 年开始开发
  • LaTeX 开发始于 1980 年(Laslie Lamport)
    • 从 .tex 文件获取文档的第一种方法是:latex doc.tex获取 DVI
    • 后来 PS 开发出来了,你就可以打字dvips doc.dvi来获得 PS
  • 这三种文档格式的目标相似。不过,它们的实现方式不同。一种文档格式中的所有特性并非都能在另一种文档格式中体现出来。
  • 自 2000 年以来,我们使用 pdftex/pdflatex 直接从 .tex 文件创建 PDF

由于这个简单的事实(不同的文件格式),可以包含的功能和图形也不同。例如:

  • DVI/PS 只能使用 (E)PS 图形
  • PDF 基本上可以使我们使用除 (E)PS 之外的任何其他文件格式,例如:PDF、JPG、PNG、...

PDF 允许使用 PS 无法实现的许多新功能。与此相反,有许多 LaTeX 软件包大量使用 PS 功能,例如pstricks

根据您的要求,您必须选择一种或另一种文件格式。如果您必须使用pstricks,唯一(干净)的方法是使用 latex/dvips。在任何其他情况下,我可能会推荐使用 pdflatex 来排版文档。

“最近”,pdflatex 后继产品的开发开始了,主要是为了克服“旧”pdflatex 做某些事情的方式的架构限制。最值得注意的是:

  • LuaTeX
  • 特克斯

与此相反,ConTeXt“仅仅”是一个宏包(就像 LaTeX 与 TeX 相比)。它不是像 pdftex、luatex 或 xetex 这样的排版引擎。这里有一篇很好的帖子解释了细节:LuaTeX、ConTeXt 和 XeTeX 之间的区别

遗憾的是,所有这些都导致一些人在解释错误日志时遇到困难。

最后,回答你关于 bibtex 的问题的最后一部分:我认为,准备有用的参考书目不是排版系统的任务。因此,需要一个额外的程序来处理“数据库”(bib 文件)并输出排版引擎本身可以使用的必要信息(例如 pdftex)。当然,一体化解决方案可能更受欢迎,但这可能也归功于 (La)TeX 的进化过程。

相关内容