警告——我没有找到“:”的数据库条目

警告——我没有找到“:”的数据库条目

此警告与我在此网站上看到的其他问题略有不同,因为其中只提到了冒号和 bibtexkey。它不会导致错误,而且输出对我来说似乎不错,但我感兴趣的是我需要清理哪些内容才能消除此警告。

我使用\usepackage[numbers]{natbib}\bibliographystyle{unsrtnat}

当我运行 BibTex 时,我得到了Warning--I didn't find a database entry for ":"通常的输出。我通过{:}在文档中搜索来检查,以确保我从未通过此 bibtexkey 引用任何内容,例如\cite[...]{:}\cite[...]{:},但没有找到任何内容。但我相信这也会导致未定义的引用,因为这肯定是打字错误。

可能存在什么问题?

答案1

如果我尝试

\documentclass{article}
\usepackage[numbers]{natbib}

\begin{document}

\cite{x}

\citep[x]:

\end{document}

那么.aux文件包含

\relax
\citation{x}
\citation{:}

BibTeX 将拾取这些条目以填充文件.bbl。再次运行 BibTeX 和 LaTeX 后,.bbl文件中的条目将\bibcite在文件中产生行.aux,例如

\bibcite{x}{{1}{2020}{{Uthor}}{{}}}

这样,您将能够\citation{:}.aux文件中找到有问题的条目并猜测问题出在哪里。二分搜索有助于缩小查找范围。

警告

Warning--I didn't find a database entry for “:”

仅有的由 BibTeX 发出,并且它只在文件中查找\citation.aux。因此,如果发出警告,则形式为 的一行\citation{:}

答案2

我偶然发现了答案:我打错了\citep[...]:,用的是方括号而不是卷曲括号。在做了一些其他更改并重新编译后,我注意到有未定义的引用。对我来说,这条消息似乎以前不存在,但我不知道这是否合理,所以我可能只是错过了它。

相关内容