我的文件中有许多项目.bib
都按预期工作,包括交叉引用的项目。但是,我最新添加的项目(指向同一本书的 2 个链接)出现“空标题”错误,并将该书作为单独的条目包含在内。参考资料有什么不同liu2009
?
我尝试删除两个引用中的一个,liu2009
但得到了相同的结果。同样,从 切换到 也是如此@inproceedings
。@incollection
我在 Mac 上使用 TeXShop,带有Natbib
。这是一个 MWE:
TeX
文件:
\documentclass{article}
\usepackage[authoryear]{natbib}
\begin{document}
\section{Introduction}
Two references crossref'd to one book \citep{gruber2009, stevens2009},
and one to another \citep{tangi1998}. \\
Error message ``BibTeX empty title in liu2009''.
\medskip
\addcontentsline{toc}{section}{References }
\bibliography{tempref}
\bibliographystyle{authordate1}
\end{document}
Bib
文件:
@incollection{tangi1998,
author = {Tangi, Randee I},
title = {Design and ...},
chapter = {4},
pages = {105-127},
crossref = {fellbaum1998}
}
@inproceedings{gruber2009,
author = {Gruber, Tom},
title = {Ontology},
pages = {1963-1965},
crossref = {liu2009}
}
@inproceedings{stevens2009,
author = {Stevens, Robert and Lord, Phillip},
title = {Ontologies and Life Science...},
pages = {1960-1963},
crossref = {liu2009}
}
// -----------------------
@book{fellbaum1998,
editor = {Fellbaum, Christiane},
booktitle = {{WordNet}: an Electronic Lexical Database},
publisher = {MIT Press},
year = {1998}
}
@book{liu2009,
editor = {Liu, Ling and {\"O}zsu, M Tamer},
booktitle = {Encyclopedia of Database Systems},
publisher = {Springer},
year = {2009}
}
答案1
首先,您使用了错误的字段类型book
,请参见BibTeX 文档,第 8 页
书有明确出版商的书籍。必填字段:
author
或editor
,title
,
publisher
,。year
可选字段:volume
或number
,series
,address
,edition
,month
。note
进一步请参阅第 6 页有关交叉引用的部分:
- 标准样式使用了 BibTEX 新的交叉引用功能,它给出了
\cite
交叉引用条目的 ,并从交叉引用条目中省略了交叉引用条目中出现的(大部分)信息。当一个标题事物(交叉引用条目)是更大的标题事物(被交叉引用条目)的一部分时,这些样式会这样做。有五种这样的情况:当 (1) 一个INPROCEEDINGS
(或CONFERENCE
,相同)交叉引用 一个 时PROCEEDINGS
;当 (2) 一个BOOK
、(3) 一个INBOOK
或 (4) 一个INCOLLECTION
交叉引用 一个 时BOOK
(在这些情况下,交叉引用条目是多卷著作中的单卷);以及当 (5) 一个ARTICLE
交叉引用 一个 时ARTICLE
(在这种情况下,交叉引用条目实际上是一个期刊,但没有JOURNAL
条目类型;这将导致出现关于期刊作者和标题为空的警告消息——您应该忽略这些警告)。
对于两者的交叉引用,inproceedings
您必须将其更改@book{liu2009}
为@proceedings{liu2009}
或者将两者更改inproceedings
为inbook
或incollection
。
有一个运行 BibTeX 的选项已发布这里,但我无法产生所需的输出。
我能够使用biblatex
/生成所需的输出biber
,从而可以更好地控制参考书目条目的外观。
您需要将主文件更改为
\documentclass{article}
\usepackage[
backend=biber,
citestyle=authoryear,
bibstyle=authoryear,
natbib=true,
mincrossrefs=3,
]{biblatex}
\addbibresource{tempref.bib}
\begin{document}
\section{Introduction}
Two references crossref'd to one book \citep{gruber2009, stevens2009},
and one to another \citep{tangi1998}. \\
Error message ``BibTeX empty title in liu2009''.
\medskip
\addcontentsline{toc}{section}{References }
\printbibliography
\end{document}
将数字输入mincrossrefs=3,
到您希望主条目出现的值中。我在这里将其设置为 3,这是您的示例适用的最低值。通过将其设置为 2,liu2009
出现的条目fellbaum1998
将不包含在内。