在.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
也不能有author
和editor
。)
您正在寻找的可能是incollection
条目。此条目类型甚至需要字段booktitle
。还请注意,没有collection
条目类型,这将是交叉引用incollection
条目的自然目标。incollection
条目可以同时具有author
和editor
字段。
该inproceedings
条目只是字段可选的变体incollection
(publisher
还有一些较小的变体)。因此它应该不是被视为通常交叉引用条目的条目类型proceedings
。遗憾的是,类比在这里被打破了。proceedings
然而,该类型又非常类似于带有可选的 的书publisher
。
但请注意,这些规则并非万无一失。制定这些规则时,出版的许多方面并未得到解决。因此,BibTeX 文档的这些有用提示始终适用:
标准样式的十三种条目类型在格式化大多数条目方面表现相当不错,但没有一种仅使用十三种格式的方案可以完美地完成所有事情。因此,您可以自由发挥创意来使用这些条目类型(但如果您太过于有创造力,很有可能您使用了错误的条目类型)。
别太在意字段名称。例如,有时您可能需要将出版商的地址和出版商的名称一起放在出版商字段中,而不是将其放在地址字段中。或者有时,当您明智地使用注释字段时,困难的输入效果会最好。
请不要太认真对待警告信息。例如,有时年份会出现在标题中,如《1966 年世界牛羚年鉴》。在这种情况下,最好省略年份字段并忽略 BibTEX 的警告消息。
(重点是我的)
答案2
这一切都很好,但我从事逻辑史研究,我接触过大量有作者和编辑的作品。这些书通常是著名逻辑学家作品的评注版。它们不是合集。例如,奥卡姆的《逻辑大全》的评注版有一位作者(奥卡姆的威廉)和三位编辑(菲洛修斯·博纳、吉迪恩·加尔和史蒂夫·布朗)。参见http://www.logicmuseum.com/wiki/Summa_Logicae_(Ockham)。现在我知道可以使用 INCOLLECTION 来解决这个问题,但这些作品中的大多数都不是集合:它们是书籍的版本。(另外,当我谈到这一点时,BibTeX 似乎没有区分书籍和书籍的版本:也许它也应该这样做)。为什么这很重要?好吧,有人可能想从 BibTeX 文件收集一些数据到其他书目数据库,而这种做法使这变得不可能。BibTeX 需要修补。