如何正确设置和引用 bibtex 文件中的书目条目?

如何正确设置和引用 bibtex 文件中的书目条目?

当我排版我的 Latex 文档时,如果该文档引用了链接的 BibTex 库中的一篇文章,则会出现此错误undefined control sequence error。如何修复?

我已将排字机设置为pdfLaTeX> ,并将存储引文的文件BibTex8路径设置为:*.bib

\bibliography{../../../Documents/BibtexLibrary/BibtexLibrary}
\bibliographystyle{plain}

文件中的 BibTex 条目*.bib是:

@article{mcclusky2001,
  Author = {McClusky, Bjornstad, Hagar, King, Meade, Miller, Monastero, Souter},
  Date-Added = {2016-05-27 19:28:56 +0000},
  Date-Modified = {2016-05-27 19:36:26 +0000},
  Journal = {Geophysical Research Letters},
  Keywords = {Coso},
  Number = {17},
  Pages = {3369-3372},
  Title = {Present day kinematics of the Eastern California Shear Zone from a Geodetically Constrained Block Model},
  Volume = {28},
  Year = {2001}}

Latex 输入中的引用:

  "...the context of recently \citet{mcclusky2001} mapped surface..."

来自 LaTeX 输出:

  "...the context of recently mcclusky2001 mapped surface..."

答案1

如评论中所述,要使用宏\citet,您需要加载natbib包。有关如何使用该包及其提供的宏的详细信息,您可以参考其手册/文档texdoc.nettexdoc natbib或者从计算机的命令提示符/终端类型。

此外,您必须使用and来分隔作者姓名,而不是逗号。因此,

Author = {McClusky, Bjornstad, Hagar, King, Meade, Miller, Monastero, Souter},

你需要

Author = {McClusky, Bjornstad and Hagar, King and Meade, Miller and Monastero, Souter},

更多详细信息请参阅驯服野兽。最好将样式放在 之前,即\bibliographystyle{plainnat}在 之前添加该行\bibliography{BibtexLibrary}。最后,当您加载natbib包时,最好使用它提供的样式——使用plainnat而不是plain

这是 MWE 形式的代码片段。这里的filecontents包和环境仅用于此演示,您在实际示例中不需要它们。

\documentclass{article}
\usepackage{natbib}
\usepackage{filecontents}
\begin{filecontents*}{BibtexLibrary.bib}
@article{mcclusky2001,
  Author = {McClusky, Bjornstad and Hagar, King and Meade, Miller and Monastero, Souter},
  Date-Added = {2016-05-27 19:28:56 +0000},
  Date-Modified = {2016-05-27 19:36:26 +0000},
  Journal = {Geophysical Research Letters},
  Keywords = {Coso},
  Number = {17},
  Pages = {3369-3372},
  Title = {Present day kinematics of the Eastern California Shear Zone from a Geodetically Constrained Block Model},
  Volume = {28},
  Year = {2001}}
\end{filecontents*}
\begin{document}
"...the context of recently \citet{mcclusky2001} mapped surface..."
\bibliographystyle{plainnat}
\bibliography{BibtexLibrary}

\end{document}

顺便说一句,不要使用bibtex8进行编译,而是使用bibtex。这就足够了。因此编译顺序将是

pdflatex yourfile
bibtex yourfile
pdflatex yourfile
pdflatex yourfile

其中yourfileyourfile.tex 是您的实际.tex文件名。

答案2

你的目标并不完全明确。由于你使用的是plain参考书目样式,它只能生成数字样式的引文标注,因此使用 似乎没有什么意义\citet,这是该包提供的宏,natbib用于创建文本样式的作者年份引文标注。

另一方面,如果您确实想创建作者年份样式的引用标注,并因此想要使用\citet(也可能\citep使用),您应该(a)使用该natbib选项加载包authoryear并(b)从切换plainplainnat参考书目样式。

另外,您应该修复 bib 条目中的两个主要问题。首先,该author字段严重损坏。其次,您需要采取一些措施来确保该title字段中的子字符串“Eastern California Shear Zone”不会被小写。关于前一个问题:作者字段目前显示为

Author = {McClusky, Bjornstad, Hagar, King, Meade, Miller, Monastero, Souter},

要分隔作者,请不要使用逗号;请使用关键字and。顺便说一句,您遗漏了所有八位 [!] 作者的名字。快速的 Google 搜索显示,该author字段实际上应该呈现为

Author = {Simon C. McClusky and S. C. Bjornstad and Bradford H. Hager and 
          R. W. King and Brendan J. Meade and M. M. Miller and 
          F. C. Monastero and B. J. Souter},

其次,该title字段当前显示

Title = {Present day kinematics of the Eastern California Shear Zone 
        from a Geodetically Constrained Block Model},

快速浏览一下出版物的摘要,就会发现“Eastern California Shear Zone”必须大写。(至少,“California”这个词永远不应该小写,对吧?)不过,默认情况下不会发生这种情况,因为两者都plain对字段plainnat内容实行“句子风格” title:整个字段中除第一个字母(此处为“P”)之外的所有字母都将转换为小写。要覆盖此设置,您需要将相关子字符串括在一对花括号中。因此,请按如下方式编写字段:

Title = {Present day kinematics of the {Eastern California Shear Zone} 
        from a Geodetically Constrained Block Model},

通过此设置,“Geodetically”、“Constrained”、“Block”和“Model”这几个词都将以小写形式呈现;大概这样就好了。

相关内容