Latex文档中的奇数Bibtex行为

时间:2009-04-16 20:17:17

标签: latex bibtex

我在我的工作Latex文档中添加了一行“\ cite {test}”作为测试。当我编译bibtex“!bibtex name_of_my_file时,我得到了预期的错误:

  

警告 - 我没有找到“test”的数据库条目

然后,我删除了该行并再次编译了bibtex,希望能再次使用一个有效的Latex文件。但是,即使使用新的shell,也会发生同样的错误。我无法理解这种行为。逻辑是什么?如何让我的Latex文档再次运行?

[更新信息] 这个问题出乎意料地消失了。我不知道为什么,但它现在有效。你知道奇怪行为的原因吗?

5 个答案:

答案 0 :(得分:9)

我认为你正在绊倒LaTex和Bibtex的多次通过性质。如果您查看Step 3 in this discussion,您会看到以下内容:

  

第一次运行(通过乳胶)   生成一个辅助文件,   paper.aux,包含信息   关于引用(和其他类型的   参考文献),参考书目的风格   使用,以及bibtex的名称   数据库。第二轮(通过   bibtex)使用中的信息   辅助文件以及数据   包含在bibtex数据库中   创建一个文件paper.bbl。这个文件   包含一个参考书目环境   用\ bibitem条目格式化   根据参考书目的风格   指定。

所以,我认为您的name_of_my_file.aux文件仍然包含占位符\cite{test}。如果删除辅助文件,您应该可以重新开始:

latex name_of_my_file
bibtex name_of_my_file
latex name_of_my_file
latex name_of_my_file

[根据其他信息进行更新] :问题是您的.aux文件仍然嵌入\cite{}。第二次运行latex时,您使用新文件覆盖旧文件。这就是为什么完整的一系列步骤包括初始latex来电,bibtex来电和两次后续latex来电。可以把它想象成一个多遍编译器,它可能更直观。

答案 1 :(得分:3)

您可以查看latexmk,它将为您处理修复点编译。

无论如何,即使您缺少参考书目项,您也应该能够构建文档(pdflatex blah.tex)。相应的引用将在PDF中显示为问号。

答案 2 :(得分:2)

重新运行乳胶以再生辅助文件。

查看this discussion以获取更多信息的指示。基本上,你可能已经把你的引文从.tex文件中删除了,但它仍然存在于一个派生文件中(aux,bbl,等等......)

答案 3 :(得分:1)

检查您的bib文件是否具有扩展名.bib而不是.tex。 如果它是.tex,只需将其更改为.bib即可。 一旦我意外地将它改为tex,通过添加一些引用,并使用“另存为”选项保存它,而不指定bib扩展名。这就是它突然发生的方式。

答案 4 :(得分:0)

删除所有 .aux 和临时文件,使用 latex 重新运行,然后是 bibtex,然后是 latex 两次。