未定义的引用警告

未定义的引用警告

当我编译我的文档时,我收到以下形式的警告:

Package natbib Warning: Citation `xxxxx' on page y undefined on input line 
z.

当编译器到达我的文件时,这个问题最终会自行解决,bibliography.bib但是有没有办法可以从一开始就防止它们发生?

答案1

获得正确的引用和参考文献总是需要多次运行 latex。正常程序如下

latex <file>
bibtex <file>
latex <file>
latex <file>

第一次编译会找到所有引用命令并在 .aux 文件中列出它们,并记录参考书目样式。您的文档中尚未解析任何引用。

然后 bibtex 处理辅助文件并使用参考书目样式,引用列表创建一个包含参考书目的 .bbl 文件。这里还没有解析任何引用。

下一个 latex 编译也不会解析引用,但会读取 .bbl 文件并跟踪引用。

最后,最后的 Latex 编译解决了所有引用。

您收到的警告是正常的,并且实际上只应在上述步骤中的最后一次乳胶编译之后引起注意。

有各种脚本可以自动执行其中一些程序,以便你不会忘记多次运行 latex;其中一个是latexmk另一个是rubber

许多文本编辑器可以通过某种简单的方式访问这些功能,因此在考虑安装它们之前,您应该了解您的编辑器是否已经有办法使用它们。

答案2

尽管参考书目和引文实际上在 TeXworks pdf 预览中正确显示,但经过几次编译后,我的所有引文的控制台输出中都弹出此消息。

就我的情况而言,我的 .bib 文件中有一些参考文献,其中带有变音符号的单词没有用花括号括起来。更改所有此类情况可以消除这些消息。例如:

publisher = {Universidad Nacional de Río Negro},

变成:

publisher = {Universidad Nacional de {Río} Negro},

答案3

不确定这是否与您的问题直接相关,但bibtex key is undefined即使参考书目编译得很好,我仍然在 Texlipse 中收到错误。

我使用 Jabref 管理我的参考书目。有时我会在 Jabref 中意外创建一个新的空条目(例如,单击添加新条目,不做任何更改,然后按 Enter = 空条目)。这就是 Texlipse 中产生错误的原因。删除这些空条目,一切都会好起来。

答案4

我遇到了这个问题。检查代码后发现我不小心删除了代码\bibliographystyle{ACM-Reference-Format} \bibliography{bibfile}。确保先定义好书目样式和书目文件。:)

相关内容