“incollection” 中的交叉引用有什么意义?

“incollection” 中的交叉引用有什么意义?

我在处理一本书中某一章的参考文献时遇到了麻烦,这本书有很多作者。我的参考文献(以类似 APA 的格式)呈现如下:

章节作者(2017)。章节标题。第 2 章。图书出版商。

那里缺少的是对该书的参考。

最后我发现我需要在章节条目中添加书名:

\begin{filecontents}{hh.bib}
@incollection{achapter,
Title     = {Chapter Title},
Author    = {{Chapter Author}},
Booktitle = {{Wrong Book Title}},
Chapter   = {2},
Year      = {2077},
Crossref  = {abook},
}

@book{abook,
Title     = {Book Title},
Editor    = {{Book Editor}},
Author    = {{Book Author}},
Publisher = {{Book Publisher}},
Year      = {2017},
}
\end{filecontents}

\documentclass{report}
\usepackage{natbib}

\begin{document}
Hey \citep{achapter}

\bibliographystyle{apalike}
\bibliography{hh}
\end{document}

这让我很困惑。我以为交叉引用是让我的生活更轻松的工具——例如,减少插入冲突信息的风险,就像我在两个不同书名的例子中所做的那样。Crossref如果我的@incollection条目需要Booktitle和,那有什么意义呢Year

答案1

假设您有 Knuth 教授的《计算机编程艺术》几本书。对于所有书籍,您都可以使用 bib 条目

@BOOK{TAOCP,
  author    = {Donald E. Knuth},
  publisher = {Addison-Wesley},
  title     = {The Art of Computer Programming},
  series    = {7 B\"ande},
  year      = 1968,
}

为了能够引用第二本书,你需要编写 bib 条目

@BOOK{TAOCP2,
  crossref = {TAOCP},
  title    = {Seminumerical Algorithms},
  volume   = 2,
  series   = {The Art of Computer Programming},
  edition  = {Second},
  year     = 1981,
}

交叉引用TOACP。此条目缺少有效的作者和出版商bibtex。通过crossref字段 BiBTeX 能够获取缺失的信息...

在您的情况下,您需要编写以下条目来incollection 省略有关空字段的警告:

@incollection{achapter,
  Crossref  = {acollection},
  Author    = {{Chapter Author}},
  Title     = {Chapter Title},
  Editor    = {{Chapter Editor}},
  booktitle = {{Collection Title incollection}},
  Chapter   = {2},
  Year      = {2077},
}

通过交叉引用,您可以从条目中获取缺少的发布者 acollection。您需要写入字段,booktitle因为它在同名的交叉引用中不存在。由于您的样式apalike不知道collection您需要使用book

@book{acollection,
  Title     = {Collection Title},
  Editor    = {{Collection Editor}},
  Year      = {2017},
  Publisher = {{Collection Publisher}},
}

使用以下 MWE

\RequirePackage{filecontents}
\begin{filecontents}{\jobname.bib}
@BOOK{TAOCP2,
  crossref = {TAOCP},
  title    = {Seminumerical Algorithms},
  volume   = 2,
  series   = {The Art of Computer Programming},
  edition  = {Second},
  year     = 1981,
}
@BOOK{TAOCP,
  author    = {Donald E. Knuth},
  publisher = {Addison-Wesley},
  title     = {The Art of Computer Programming},
  series    = {7 B\"ande},
  year      = 1968,
}
@incollection{achapter,
  Crossref  = {acollection},
  Author    = {{Chapter Author}},
  Title     = {Chapter Title},
  Editor    = {{Chapter Editor}},
  booktitle = {{Collection Title incollection}},
  Chapter   = {2},
  Year      = {2077},
}
@book{acollection,
  Title     = {Collection Title},
  Editor    = {{Collection Editor}},
  Year      = {2017},
  Publisher = {{Collection Publisher}},
}
\end{filecontents}


\documentclass{article}
\usepackage{natbib}

\begin{document}

Citing \citep{TAOCP2} please see the author and publisher comes 
from entry \texttt{TAOCP}! 

Citing \citep{achapter} please see the publisher comes from entry 
\texttt{acollection}.

\bibliographystyle{apalike} % apalike plain
\bibliography{\jobname}
\end{document}

得到结果(见红色标记):

生成的 pdf

相关内容