我记得在某个地方看到过这种引用程序的语法:
@proceedings{proc01,
...
}
进而
@inproceedings{paper01,proc01,
...
}
这样,proc01 中的所有字段都会自动复制到 paper01 的合适字段中(即 title 变成 booktitle,years 变成 year,...)。但是我查阅的所有 bibtex 手册都没有显示此语法,并且 bibtex 给出了以下错误,这是否存在?我需要一些外部软件吗?
"," immediately follows a field name---line 590 of file paper.bib
: @inproceedings{paper01,proc01
答案1
我从未在 BibTeX (或) 中看到过这种可能性biblatex
。字段有一种继承crossref
:
@incollection{companion-bib,
crossref = "companion",
title = "Bibliography Generation",
chapter = 13,
pages = "371-420",
}
是“Tame the BeaST”手册中关于 BibTeX 的示例(texdoc tamethebeast
当然,你有一个这样的条目
@book{companion,
author = "Goossens, Michel and Mittelbach, Franck and Samarin, Alexander",
title = "The {{\LaTeX}} {C}ompanion",
publisher = "Addison-Wesley",
year = 1993,
}
该crossref
字段还可以与@inproceedings
任何条目一起使用并引用任何条目。
答案2
作为补充egreg 的回答请注意 BibTeX 要求出现交叉引用的条目后文件中引用它们的所有条目.bib
。因此,除了问题中给出的示例中存在的语法问题等之外,将@proceedings
条目前@inproceedings
引用它的那个。
还有一些额外的限制。例如,您不能有交叉引用链。如果<entry 1>
包含crossref = {<entry 2>}
,则<entry 2>
不应包含crossref
字段:此条目中的信息应足够独立。
如果您使用 Biblatex,尤其是与 Biber 一起使用,其中一些限制将被解除,并且可以使用一些附加选项。除了 之外crossref
,还有xdata
,例如xdata
就像crossref
但@xdata
条目永远不会作为独立条目添加到参考书目中:它仅用作其他条目使用的数据源。
您还可以定义“条目集”:
@set{set-things,
entryset = {<key1>,<key2>,<key3>},
title = {Set of Connected Entries}}
如果<set-things>
被引用,则集合中的所有条目都将添加到参考书目中并分组在一起。 Biblatex 手册包含所有详细信息。