使用 biblatex 时 Crossrefs 未显示在参考书目中

使用 biblatex 时 Crossrefs 未显示在参考书目中

我正在使用 Mac 版 BibDesk(仅用于创建和维护 BibTex 文件的前端)和BibLaTeX-mla。我遇到的问题是,只要我设置BibLaTeXstyle=mla,那么引文就会内联显示,但不会在实际参考书目中显示。超链接甚至可以工作,但它只会转到其他引文下方。

LaTeX文件如下:

\documentclass[12pt,letterpaper]{article}
\usepackage[parfill]{parskip}
\usepackage[american]{babel}
\usepackage{csquotes}
\usepackage{hyperref}
\usepackage[style=mla]{biblatex}
\usepackage{mla}
\defbibheading{bibliography}{\newpage\centering Works Cited}
\bibliography{Bibliography}
\begin{document}
\begin{mla}{Stephen}{Searles}{Professor's last name}{Class name}{\today}{Title}
Start typing paragraph 1 here
Continue the rest of the paper as normal \cite{Kauffman:2002kx}.
\begin{center}
\printbibliography
\end{center}
\end{mla}
\end{document}

以及相关的 BibTex 记录:

@book{shepard2002act,
    Date-Added = {2011-02-25 12:48:03 -0800},
    Date-Modified = {2011-02-25 12:48:03 -0800},
    Editor = {Shepard, B. and Hayduk, R.},
    Isbn = {1859843565},
    Publisher = {Verso Books},
    Title = {From ACT UP to the WTO: Urban protest and community building in the era of globalization},
    Year = {2002}}

@inbook{Kauffman:2002kx,
    Author = {Kauffman, LA},
    Chapter = {A short history of radical renewal},
    Crossref = {shepard2002act},
    Date-Added = {2011-02-25 13:04:16 -0800},
    Date-Modified = {2011-02-25 13:04:56 -0800},
    Pages = {35-39}}

我在这里做错什么了吗?

答案1

您的数据库条目被反转了。编辑示例以读取

@inbook{考夫曼:2002kx,
    作者 = {考夫曼,路易斯安那州},
    章节 = {激进革新简史},
    Crossref = {shepard2002act},
    添加日期 = {2011-02-25 13:04:16 -0800},
    修改日期 = {2011-02-25 13:04:56 -0800},
    页数 = {35-39}}

@book{shepard2002act,
    添加日期 = {2011-02-25 12:48:03 -0800},
    修改日期 = {2011-02-25 12:48:03 -0800},
    编辑 = {Shepard, B. 和 Hayduk, R.},
    国际标准书号 = {1859843565},
    出版商 = {Verso Books},
    标题 = {从 ACT UP 到 WTO:全球化时代的城市抗议和社区建设},
    年份 = {2002}}

解决问题。

这在优秀的驯服野兽,第 26 页:

另一个重要的注意事项是,必须定义交叉引用的条目包含相应crossref字段的条目。并且您无法嵌入交叉引用,也就是说,您无法crossref嵌入已经包含 的条目crossref

答案2

您的示例有两个问题。正如 Joseph 指出的那样,bibtex需要在 bib 文件中将交叉引用条目定义在具有 crossref 的条目之后。要在 BiBDesk 中执行此操作,您需要将 Crossreferences 首选项设置为“保存 BiBTeX 文件时自动对 corssref 进行排序”。(将“将重复的“标题”字段设置为“书名””首选项也不错。)

第二个问题是,交叉引用条目的类型错误:应该是@incollection而不是@inbook。将条目类型更改为 可以@incollection正确生成具有参考书目样式的引用mla

答案3

这是使用 @inbook 和 @book 而不是 @incollection 和 @collection 的问题。Biblatex-mla 没有为 @inbook 条目定义交叉引用,这仅仅是因为我做了一个设计选择:在 MLA 风格的论文中,很少(如果有的话)应该引用特定的章节。论文集完全不同,正如您在此处的使用所表明的那样。

我计划在 biblatex-mla 的未来版本中改变这种行为,因为添加它很简单,并且可以避免将来因这是一个错误而产生混淆。

相关内容