直到今天,我都可以毫无问题地将参考文献添加到我的文档中。现在,当我添加新的参考文献时,突然收到两条错误消息,并提示以下内容:
软件包 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.aux
和test.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}
。确保先定义好书目样式和书目文件。:)