未定义引用

未定义引用

直到今天,我都可以毫无问题地将参考文献添加到我的文档中。现在,当我添加新的参考文献时,突然收到两条错误消息,并提示以下内容:

软件包 natbib 警告:第 x 页上的引用 xzy 在第 y 行上未定义

软件包 natbib 警告:存在未定义的引用

我使用的是 Windows、MiXTeX 2.9、TeXnic center 和 JabRef。我查看了 JabRef 生成的 bib 文件,文件中有引用信息。

我之前输入的引文仍然可以编译,并且可以毫无错误地输入到文档的新部分。只是我今天输入到 Jabref 程序中的新引文不起作用。

\documentclass{article}

\usepackage[a4paper,hmargin={2cm,2cm},vmargin={2cm,2cm}]{geometry}
\usepackage{setspace}
\usepackage[maxauthors=20,etalmode=truncate,biblabel=period]{achemso}
\usepackage[journal=rsc]{chemstyle}
\usepackage{chemscheme}
\usepackage[version=3]{mhchem}
\usepackage{textcomp}
\usepackage{threeparttable}
\usepackage{textcomp}
\usepackage{lmodern} 
\usepackage{color, colortbl}
\usepackage{array} 
\usepackage{float}
\usepackage{color}
\usepackage{soul}
\usepackage{picins}
\usepackage{graphicx}
\usepackage{hyperref}
\usepackage{longtable}
\usepackage{caption}
\usepackage{subcaption}

\begin{document}

text goes here.\cite{Global2013} 

\bibliography{References}

\end{document}

.bib 文件中有问题的部分如下:

@TECHREPORT{Global2013,
  author = {Future Markets, Inc},
  title = {The Global Market for Quantum Dots},
  year = {2013},
  owner = {x},
  timestamp = {2013.06.17}
}

答案1

该软件包natbib会自动加载achemso。这就是您会收到来自该natbib软件包的那些警告的原因。

假设您的.tex文件名为test.tex,我建议您先删除文件test.auxtest.bbl

之后,按以下顺序运行:

pdflatex 测试

bibtex 测试

pdflatex 测试

pdflatex 测试

您提供的 MWE 不应该有问题。

还要记住,该achemso包会自动加载achemso参考书目样式,这与插入行相同

\bibliographystyle{achemso}

所以您不必在文档中添加这样的行。

答案2

尽管参考书目和引文在 TeXworks pdf 预览中显示正确,但我的所有引文的控制台输出中都弹出此消息。

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

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

变成:

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

答案3

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

相关内容