![Latexmk:第 YY 页上的引用“XXX”未定义](https://linux22.com/image/236612/Latexmk%EF%BC%9A%E7%AC%AC%20YY%20%E9%A1%B5%E4%B8%8A%E7%9A%84%E5%BC%95%E7%94%A8%E2%80%9CXXX%E2%80%9D%E6%9C%AA%E5%AE%9A%E4%B9%89%20.png)
当我使用编译我的文档时,latexmk.pl
每次引用我都会收到警告:
Latexmk: Citation 'XXX' on page YY undefined
引用出现在文档末尾的参考文献中,但在 \cite 的位置仅显示(?)。
该文档被分成多个文件放置在不同的目录中,但主 tex 文件中的情况也一样,bib 文件与主 tex 文件一起位于根文件夹中。
答案1
通常,这些错误发生的原因是 LaTeX 编译器需要多次运行文档才能使所有内容正确,因为它使用辅助文件来跟踪方程式、引用等。
如果你使用 BiBTeX,建议的编译过程是
pdflatex yourdocument.tex
bibtex yourdocument.aux
(注意文件结尾)pdflatex yourdocument.tex
pdflatex yourdocument.tex
pdflatex yourdocument.tex
但如果您不改变引用的顺序或位置(在章节内),通常只需要运行一次。
原因很简单,它会pdflatex
即时从辅助文件中读取信息,并同时更新它们。如果不完成整个编译过程,您无法确保在第四步之前所有文件都已更新。
答案2
已修复:问题可能与harvard
包有关,在我评论后一切都很好\usepackage[abbr,dcucite]{harvard}