我有一个非常大的 tex 文件和一个非常大的 bib 文件。当我运行 (xelatex, bibtex) 时,我收到了几个这样的警告:
Database file #1: Thesis.bib
Warning--I didn't find a database entry for "Jag08"
Warning--I didn't find a database entry for "Jag08"
Warning--I didn't find a database entry for "Aharonian2005c"
Warning--I didn't find a database entry for "Marandon2008f"
问题是这些条目存在于 bib 文件中。
编辑:Jag08 实际上是第一个条目。bib 文件中的一些后续条目可以正常工作。在 tex 文件中,大多数早期和晚期的引用也同样有效。
因此,我创建了一个最小示例(所有文件始终位于同一目录中):tex:
\documentclass{book}
\usepackage{natbib}
\begin{document}
Test citation: \citep{Jag08}
\bibliographystyle{plainnat}
\bibliography{mytestbiblio}
\end{document}
和围兜:
@article{Jag08,
author = {{de Jager}, O.~C. and {Djannati-Ata{\"i}}, A.},
title = "{Implications of H.E.S.S. observations of pulsar wind nebulae}",
journal = {ArXiv e-prints},
archivePrefix = "arXiv",
eprint = {0803.0116},
keywords = {Astrophysics},
year = 2008,
month = mar,
adsurl = {http://adsabs.harvard.edu/abs/2008arXiv0803.0116D},
adsnote = {Provided by the SAO/NASA Astrophysics Data System}
}
但是当我运行这个例子时,一切都按预期工作(请注意,Jag08 正是在大型文件中出现第一个问题的条目)。
所以我的问题是:在你的经验中可能导致这些问题?我既不能发布整个文件,也不能指望您解决这个问题,因此我只是在寻找导致此错误的可能原因。
答案1
回答我自己的问题:
在我替换之后:
regime \citep[][]{Jager2008}.
和:
regime \citep[][]{Jager2008}.
一切正常。
注意:我可以不是看到任何差异,但新命令是从 latex 文件中的不同位置复制的(我也在这里复制粘贴了新版本和旧版本...)。这种行为是可重复,这意味着如果我单击“撤消”然后再次运行,相同的警告会再次出现......
答案2
遇到同样的警告后,您的答案不起作用,但我设法通过为“.bib”文件使用较短的文件名解决了该问题。因此,我没有使用“langer marsch durch die Institutionen.bib”,而是输入了“marsch.bib”,警告就消失了。