更新:

更新:

我正在尝试弄清楚如何使用 BibTeX。问题是,我想我已经按照网上所有我能找到的 BibTeX 教程做了,但仍然无济于事。到目前为止,我的参考书目是这样的 (biblio.bib)

@ARTICLE{bovik_clark_geisler,
author="Alan Conrad Bovik, Marianna Clark and Wilson Geisler",
title={Multichannel texture analysis using localized spatial filters},
journal={IEEE Transactions on Pattern Analysis and Machine Intelligence},
volume={12},
year={1990},
pages={55-73},
}

@ARTICLE{marcos
author="Maria Sheila Angeli Marcos, Maricor Soriano and Caesar Saloma",
title={Classification of coral reef images from underwater video using neural networks},
journal={Optics Express},
volume={13},
number={22},
pages={8766-8771},
}

@ARTICLE{weldon
author="Thomas Weldon, William Higgins and Dennis Dunn",
title={Efficient Gabor Filter Design for Texture Segmentation},
journal={Pattern Recognition},
volume={29},
number={12},
pages={2005-2015},
}

@MISC{zhang
author="Dengsheng Zhang, Aylwin Wong, Maria Indrawan and Guojun Lu",
title={Content-based Image Retrieval Using Gabor Texture Features}
}

我发现(如果我错了请纠正我)BibTeX 使用正则表达式来解析条目及其不同内容,以根据指定的样式(ACM、IEEE 等)生成适当的参考格式。但是,我不知道这种格式是什么。我正在关注编译过程http://www.bibtex.org/使用/,但在调用时bibtex,我收到如下错误

I was expecting a `,' or a `}'---line 25 of file biblio.bib
...
Warning--to sort, need author or key in weldon
Warning--empty author in weldon
Warning--empty title in weldon
Warning--empty journal in weldon
Warning--empty year in weldon

其中第 25 行是 weldon 的作者属性。

marcos 和 zhang 也一样,尽管 zhang 只抱怨密钥。那么密钥是什么?为什么我没有在在线资源中看到它?我也尝试将属性中的花括号更改为引号,但仍然抱怨相同的错误。我是否遗漏了什么,您可以推荐任何教程来使其工作?

更新:

因此,我通过 Wikipedia 发现,BibTeX 解析使用而不是逗号。但是,我仍然得到相同的错误。在我将它们更改为之前的输出,就像

[1]

[2]

[3]

[4] Citation entry for bovik_clark_geisler

但是 Bovik 和 Clark 的名字根本没有分隔,看起来像一个名字。阅读 Wikipedia 后,发现它们之间用逗号隔开,但输出结果仍然相同(1-3 为空白,4 处为 bovik_clark_geisler 的引文)。

答案1

weldon在包含键、marcos和 的条目中zhang,您缺少一个逗号来分隔键和条目字段;当一个条目有多个作者时,使用 来and分隔所有作者(这就是 bibTeX 知道一个作者在哪里结束以及另一个作者在哪里开始的方式);如果您想保留字段中的大写字母title,请使用括号将必须保持大写的字母括起来(就像我{G}abor在下面的代码中所做的那样)。这是一个基于您的示例代码的示例,并进行了建议的修改(我还添加了和字段yearmarcos防止weldon出现 bibTeX 警告):

\documentclass{article}
\usepackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@ARTICLE{bovik_clark_geisler,
  author = "Alan Conrad Bovik and Marianna Clark and Wilson Geisler",
  title = {Multichannel texture analysis using localized spatial filters},
  journal = {IEEE Transactions on Pattern Analysis and Machine Intelligence},
  volume = {12},
  year = {1990},
  pages = {55-73},
}

@ARTICLE{marcos,
  author = "Maria Sheila Angeli Marcos and Maricor Soriano and Caesar Saloma",
  title = {Classification of coral reef images from underwater video using neural networks},
  journal = {Optics Express},
  volume = {13},
  number = {22},
  pages = {8766-8771},
  year = {1989}
}

@ARTICLE{weldon,
  author = "Thomas Weldon and William Higgins and Dennis Dunn",
  title = {Efficient {G}abor Filter Design for Texture Segmentation},
  journal = {Pattern Recognition},
  volume = {29},
  number = {12},
  pages = {2005-2015},
  year = {2005}
}

@MISC{zhang,
  author = "Dengsheng Zhang and Aylwin Wong and Maria Indrawan and Guojun Lu",
  title = {Content-based Image Retrieval Using {G}abor Texture Features}
}
\end{filecontents*}

\begin{document}

\nocite{*}

\bibliographystyle{plain}
\bibliography{\jobname}

\end{document}

在此处输入图片描述

答案2

我想我已经按照网上所有 BibTeX 教程做了,但仍然无济于事

由于您似乎对 BibTEX 的结构和哲学非常感兴趣,您可能还希望阅读 Nicolas Markey 的文章驯服野兽——BibTeX 的 B 到 X. 它提供了非常清晰的解释

  • 使用基本的 LaTeX 方法(即 sans-BibTeX)来创建引用和排版书目条目列表(获取这些背景知识对于深入了解 BibTeX 如何与 LaTeX 的基本书目和引用相关机制交互非常有用),
  • 如何使用 BibTeX,
  • 文件的结构.bib,以及
  • 文件的结构.bst(即参考书目样式)。

您可能还会发现,回顾一些与 bibtex 相关的基本术语也很有帮助:

  • 要使用 BibTeX(和 LaTeX)处理所有引用和参考创建任务,您需要

    • 创建一个或多个.bib文件,
    • 选择一个.bst参考书目样式文件(其中包含有关如何格式化条目的 BibTeX 说明),然后
    • 选择(通常但不一定)引文管理包 - 例如citeharvard(专为希望使用作者年份引文样式的作者编写的首批包之一),或natbib- 以启用和简化各种与引文相关的任务(超出了 LaTeX 自身命令所能实现的范围\cite
  • .bib文件包含entries一些辅助材料。entry是基本的独立单元,包含与您想要引用和参考的出版物(或任何类型的实体)相关的所有信息。

  • 包括entry

    • a type specifier,例如@book@article
    • 条目内容的开始和结束分隔符 - 通常是一对花括号,但一对圆括号也可以;
    • a key,这是用来引用条目的字符串;每个条目的键必须是独特的.bib对于该条目(至少在你通过指令告诉 LaTeX 的文件中包含的所有条目集内)\bibliography{...}
    • 几个fields,例如author,,,和(仅举几个例子)titleyearpages

    • 如果条目中包含每个字段,则应为其分配一些内容,例如,

      author = "Isaac Newton",
      

      或者

      title = {Philosophiae Naturalis Principia Mathematica},
      

      字段之间(以及与条目之间key)以逗号分隔。

      请注意,使用双引号或花括号来分隔字段的内容都没有关系(只要保持一致)。

      令人困惑的是,BibTeX 还识别场地key除了条目的字符串之外,还应添加命名的key。请确保不是来指定key使用该key = "...",构造的条目。

  • BibTeX 的原始.bst文件(plainunsrtabbrev)被设置为识别和处理 22 个不同的字段(如果包括特殊用途crossref字段则为 23 个)。(如果您对这些字段感到好奇,请plain.bst在您的 TeX 发行版中找到该文件并查找 的内容ENTRY。)更现代的 .bst 文件(例如软件包提供的文件)提供了有关如何识别和处理其他字段(natbib例如doi、、、和)的说明。eidisbnissnurl

  • 根据条目的类型,某些字段将是必需的选修的, 或者被忽略。例如,如果您使用书目样式,则plain类型条目的必填字段articleauthor、、和,可选字段为、、和。类型条目中的所有其他字段(包括,如果您使用)都将被忽略。titlejournalyearvolumenumberpagesmontharticleurlplain.bst

  • 当然,许多条目将有包含多位作者的author和/或editor字段。在这种情况下,使用分词符将作者姓名彼此分开and不是逗号。为什么不用逗号?请参阅下一项。

  • 通常,BibTeX 可以很好地将作者姓名解析为“FirstName(s)”、“von”、“LastName”和“Jr.”部分。但是,对于某些姓名,解析算法可能会严重偏离轨道,您必须进行干预 - 通过明智地插入逗号。

    • 例如,对于

      author = "Ludwig Mies van der Rohe",
      

      BibTeX 可能会“判定”此人有两个名字(“Ludwig”和“Mies”),“von”部分由“van der”组成,姓氏由单个单词“Rohe”组成。然而,此人实际上只有一个名字(Ludwig),没有“von”部分,姓氏是复合的(Mies van der Rohe)。因此,应将此字段指定为(请注意“正常”名字-姓氏顺序的反转)

      author = "Mies van der Rohe, Ludwig",
      
    • 对于西班牙姓氏以及电影演员的姓氏,经常会遇到由两个(或更多)未用连字符连接的部分组成的姓氏。假设您需要引用由 Arantxa Sanchez Vicario 和 Kristin Scott Thomas 编辑的作品(我不知道是否存在这样的作品……);您可能应该将条目的字段设置editor

      editor = "S{\'a}nchez Vicario, Arantxa and Scott Thomas, Kristin",
      

      请注意使用and分词来分隔两个编辑者的姓名,并使用逗号来构造每个姓名的内容。

    • 使用逗号来指示 BibTeX 的名字和姓氏很重要,至少有三个原因。(i)它能够正确显示作者和编辑者的姓氏,如果启用,则按第一作者姓氏的字母顺序对条目进行排序。(ii)它能够正确地缩写名字(以防您使用的参考书目样式缩写名字)。(iii)它对于生成使用作者年份引用样式的正确的文内引用也至关重要。

我将衷心支持@YiannisLazarides 的建议,使用专用程序(例如)JabRef,或者至少使用编辑器附带的一些 bibtex 感知宏,以帮助简化和自动化 bib 条目的创建、更新和漂亮打印。

BibTeX 有一个臭名昭著的缺点,这个缺点与其嵌入英语语言惯例和现在接近玛土撒拉时代(以及它 20 多年来没有进行过重大更新的事实)密切相关,那就是输入重音字符时必须小心,以免产生问题。 (您是否注意到了前面示例中的{\'a}构造,而不是直接使用á?)如果您的参考书目包含的不仅仅是少数几个包含重音符、变音符和其他变音符号的名称和其他单词,您可以考虑熟悉biblatex(一个现代且维护良好的软件包):biblatex处理包含重音符的单词没有问题。

此外,根据文档的语言,包含重音的元音或辅音的排序顺序可能与英语文档的排序顺序不同(BibTeX 假设英语文档的排序顺序与英语文档的排序顺序不同,这一点并不令人意外,因为它的起源就是如此)。幸运的是,如果您使用biblatexbabel,这些排序问题将自动为您处理。尽管有方法可以使用“普通” bibtex 来影响字母排序顺序以符合给定语言的特性,但手动进行这项工作会浪费您的时间。真的!有关切换到 bilatex 的更多信息,请参阅例如问题“如何切换到 biblatex”以及相关答案。

答案3

如果您手动输入参考书目,很容易出错。尝试从最小的示例开始。您可以使用包filecontents来保存它们。在下面的示例中,我将其命名为myrefsmyrefs.bib然后可以在您的主要写作中使用该文件。

\documentclass{article}
\usepackage{filecontents}
\begin{filecontents*}{myrefs.bib}
@INBOOK{chicago,
   title = "The Chicago Manual of Style",
   publisher = "University of Chicago Press",
   edition = "Thirteenth",
   year = 1982,
   pages = "400--401",
   key = "Chicago"
   }
@ARTICLE{bovik_clark_geisler,
author="Alan Conrad Bovik, Marianna Clark and Wilson Geisler",
title={Multichannel texture analysis using localized spatial filters},
journal={IEEE Transactions on Pattern Analysis and Machine Intelligence},
volume={12},
year={1990},
pages={55-73},
}
\end{filecontents*}
\begin{document}
The \cite{chicago} and \cite{bovik_clark_geisler}
\bibliographystyle{plain}   % (uses file "plain.bst")
\bibliography{myrefs}   
\end{document}

运行上述命令后你应该得到如下结果:

在此处输入图片描述

一个更好的方法(特别是对于刚开始的人来说)是使用两个很好的工具。贾布雷夫管理你的书目并使用比布拉特克斯而不是bibtex

相关内容