我在 overleaf 中使用 jabref 创建的 .bib 文件。我的 main.tex 格式如下:
\documentclass[conf]{new-aiaa}
%\documentclass[journal]{new-aiaa} for journal papers
\usepackage[utf8]{inputenc}
\usepackage{graphicx}
\usepackage{amsmath}
\usepackage{mathrsfs}
\usepackage[version=4]{mhchem}
\usepackage{siunitx}
\usepackage{longtable,tabularx}
\setlength\LTleft{0pt}
\begin{document}
% document stuff...
blah blah blah \citep{Holmes_2012}.
\bibliography{Stuff}
\end{document}
Stuff.bib 文件如下所示:
@Book{Holmes_2012,
title = {Turbulence, Coherent Structures, Dynamical Systems and Symmetry: Second Edition},
publisher = {Cambridge University Press, New York},
year = {2012},
author = {Holmes, Philip and Lumley, John L. and Berkooz, Gahl and Rowley, Clarence W.},
number = {978-1-107-00825-0},
keywords = {rank5},
owner = {me},
timestamp = {2018.03.23},
}
% other sources...
我曾将这种格式用于较旧的 .tex 文档和完全相同的 .bib 文件,并且它可以正常工作。但它不适用于我的新文件(基于旧文件的副本)。我在网上阅读了各种各样的解决方案,但找不到一个有效的。除了文档的内容之外,它看起来甚至与我以前的代码没有任何不同。我检查了文件名的大小写敏感性,确保在调用参考书目时不写文件扩展名,尝试使用natbib
(使用\bibliographystyle{plainnat}
命令)而不是使用natbib
,切换到\cite
而不是\citep
,在 .bib 文件中查找语法错误,等等。无论如何,它都会将引文(以及文档中的所有其他 57 个)显示为 [?],并显示:
Package natbib Warning: Citation 'Holmes_2012' on page 1 undefined on input line __.
You have cited something which is not included in your bibliography.
Make sure that the citation (\cite{...}) has a corresponding key in
your bibliography, and that both are spelled the same way.
它们的拼写肯定是一样的。可能出了什么问题?