编译 arXiv LaTeX 源文件时出现问题

编译 arXiv LaTeX 源文件时出现问题

我使用 LaTeX 写论文。我在 Windows XP 计算机上使用 TeXworks/MiKTeX。当我编写 LaTeX 代码时,我可以使用“pdfLaTeX+MakeIndex+BibTeX”毫无问题地进行编译。

但是如果我从 arXiv 下载 LaTeX 源代码并尝试使用“pdfLaTeX+MakeIndex+BibTeX”进行编译,它将无法工作。我收到错误“!未定义的控制序列”。

但是,如果我使用“pdfLaTeX”而不是“pdfLaTeX+MakeIndex+BibTeX”,从 arXiv 编译 LaTeX 源代码时不会遇到任何问题。

为什么会发生这种情况?“pdfLaTeX+MakeIndex+BibTeX”和“pdfLaTeX”有什么区别?

我之所以问这些问题,是因为我想对我的一篇 arXiv 论文做一些小改动,所以我将下载 LaTeX 源代码并在那里进行修改。我想我必须使用“pdfLaTeX”来编译源代码,但我想确保论文中没有不必要的更改。

从 arXiv 下载的 LaTeX 源文件似乎没有 .tex 扩展名。它们似乎属于不同的类型(我猜这是由于 arXiv 处理所致),但无论如何,我可以使用 TeXworks 毫无问题地打开它们。

答案1

尝试将.tex扩展名重新添加到文件中。我不确定 arXiv 为什么要删除它,但许多编辑器在运行编译序列时会假设它在那里。

要了解我的意思,请比较 pdfLaTeX 和 BibTeX 的编译:

$ pdflatex myfile.tex
$ bibtex myfile

请注意,它bibtex不需要文件扩展名,因为它还会查看由 LaTeX 运行生成的文件。TeXworks 等编辑器(以及其他编辑器,毫无疑问)会自动为您运行这些序列,但这要求它知道扩展名在哪里,以便可以将其删除。当没有要删除的扩展名时,就会出现歧义:

$ pdflatex myfile
$ bibtex myfile

其中一个程序很可能发现了“错误” myfile,从而导致您看到的错误。(例如,查看文件内部auxpdflatex直接运行此文件肯定会引发错误。)

相关内容