bibtex:书中的作者和编辑

bibtex:书中的作者和编辑

在.bst文件中,该inbook函数如下所示:

FUNCTION {inbook}
{ output.bibitem
  author empty$
    { format.editors "author and editor" output.check
    }
    { format.authors output.nonnull
      crossref missing$
        { "author and editor" editor either.or.check }
        'skip$
      if$
    }
  if$
  new.block
  format.btitle "title" output.check
  crossref missing$
    { format.in.ed.booktitle "booktitle" output.check
     format.bvolume output
          format.chapter.pages "chapter and pages" output.check
      new.block
      format.number.series output
      new.sentence
      format.publisher.address output
    }
    {
      format.chapter.pages "chapter and pages" output.check
      new.block
      format.book.crossref output.nonnull
    }
  if$
  format.edition output
  format.date "year" output.check
  new.block
  format.note output
  fin.entry
}

并产生can't use both editor and author fields错误。但是,inproceedings这没问题:

FUNCTION {inproceedings}
{ output.bibitem
  format.authors "author" output.check
  new.block
  format.title "title" output.check
  new.block
  crossref missing$
    { format.in.ed.booktitle "booktitle" output.check
      format.bvolume output
      format.number.series output
      format.pages output
      new.sentence
      publisher empty$
        { format.organization.address output }
        { organization "organization" bibinfo.check output
          format.publisher.address output
        }
      if$
      format.date "year" output.check
    }
    { format.incoll.inproc.crossref output.nonnull
      format.pages output
    }
  if$
  new.block
  format.note output
  fin.entry
}

有人知道如何修复该ìnbook条目吗?

答案1

这个想法是,一个inbook条目引用另一个book条目,因此不应该有一个editor。因此,以下操作不会发出警告:

@inbook{inbook,
  author = {A. Inbook-Author},
  title = {The title of the inbook entry},
  pages = {1--5},
  year = 2013,
  crossref = "book",
  volume = 1,
}
@book{book,
  title = {A title of the book entry},
  year = 2013,
  editor = {E. Book-Editor},
  publisher = {Book Publishing Inc.},
}

这也反映在条目inbook没有booktitle字段,甚至没有选项。BibTeX并不强制要求每个inbook都有 acrossref到 a book,但我想这是唯一合理的使用方法。(不太令人信服的是, abook也不能有authoreditor。)

您正在寻找的可能是incollection条目。此条目类型甚至需要字段booktitle。还请注意,没有collection条目类型,这将是交叉引用incollection条目的自然目标。incollection条目可以同时具有authoreditor字段。

inproceedings条目只是字段可选的变体incollectionpublisher还有一些较小的变体)。因此它应该不是被视为通常交叉引用条目的条目类型proceedings。遗憾的是,类比在这里被打破了。proceedings然而,该类型又非常类似于带有可选的 的书publisher

但请注意,这些规则并非万无一失。制定这些规则时,出版的许多方面并未得到解决。因此,BibTeX 文档的这些有用提示始终适用:

标准样式的十三种条目类型在格式化大多数条目方面表现相当不错,但没有一种仅使用十三种格式的方案可以完美地完成所有事情。因此,您可以自由发挥创意来使用这些条目类型(但如果您太过于有创造力,很有可能您使用了错误的条目类型)。

别太在意字段名称。例如,有时您可能需要将出版商的地址和出版商的名称一起放在出版商字段中,而不是将其放在地址字段中。或者有时,当您明智地使用注释字段时,困难的输入效果会最好。

请不要太认真对待警告信息。例如,有时年份会出现在标题中,如《1966 年世界牛羚年鉴》。在这种情况下,最好省略年份字段并忽略 BibTEX 的警告消息。

(重点是我的)

答案2

这一切都很好,但我从事逻辑史研究,我接触过大量有作者和编辑的作品。这些书通常是著名逻辑学家作品的评注版。它们不是合集。例如,奥卡姆的《逻辑大全》的评注版有一位作者(奥卡姆的威廉)和三位编辑(菲洛修斯·博纳、吉迪恩·加尔和史蒂夫·布朗)。参见http://www.logicmuseum.com/wiki/Summa_Logicae_(Ockham)。现在我知道可以使用 INCOLLECTION 来解决这个问题,但这些作品中的大多数都不是集合:它们是书籍的版本。(另外,当我谈到这一点时,BibTeX 似乎没有区分书籍和书籍的版本:也许它也应该这样做)。为什么这很重要?好吧,有人可能想从 BibTeX 文件收集一些数据到其他书目数据库,而这种做法使这变得不可能。BibTeX 需要修补。

相关内容