在 biblatex windycity 样式中使用 crossref 时提供完整引用

在 biblatex windycity 样式中使用 crossref 时提供完整引用

我引用了合集的几个章节以及整个合集。在注释中,我希望第一次提到合集时给出完整引用,而任何后续引用都给出合集的缩写版本。为了实现这一点,我使用了字段crossref。然而,在参考书目中,我希望每一章都给出完整的引用。这通常可以通过将选项设置mincrossrefs为较大的数字来实现,当合集本身也被引用时,这种解决方法不起作用。有没有办法在参考书目中始终为参考书目中的子条目提供完整引用?

我正在使用该windycity样式,但我相信这是所有 biblatex 样式的问题。biblatex-chicago有一个longcrossref可以设置为的选项bib以实现我想要的效果,但由于其他原因我无法使用该包(因为我需要将我的引文中的基于注释的样式与我的参考书目中的作者日期样式混合在一起)

梅威瑟:

\documentclass{article}
\usepackage[style=windycity,sorting=nyt,mincrossrefs=25]{biblatex}
\bibliography{windycity}
\begin{document}
\cites{lippincott1968}{keating1968}{angle1968}
\printbibliography[env=reflist]
\end{document}

您可以在 CTAN的目录windycity.bib中找到该 bib 文件。docwindycity

答案1

windycity检查该crossref字段是否存在以决定是否显示完整的引用。

因此,一个简单的解决方法就是删除crossref参考书目中的字段。

\documentclass{article}
\usepackage[style=windycity,sorting=nyt]{biblatex}
\addbibresource{windycity.bib}

\AtEveryBibitem{\clearfield{crossref}}

\begin{document}
\cites{lippincott1968}{keating1968}{angle1968}
\printbibliography[env=reflist]
\end{document}

Angle, Paul M.,1968 年编辑。草原之州:旅行者和其他观察者对伊利诺伊的印象,1673–1967 年。芝加哥:芝加哥大学出版社。//Keating, William H. 1968 年。“迪尔伯恩堡和芝加哥。”在由 Paul M. Angle 编辑的《草原之州:旅行者和其他观察者对伊利诺伊的印象,1673–1967 年》中,第 84–87 页。芝加哥:芝加哥大学出版社。//Lippincott, Sara Clarke。1968 年。“芝加哥。”在由 Paul M. Angle 编辑的《草原之州:旅行者和其他观察者对伊利诺伊的印象,1673–1967 年》中,第 362–70 页。芝加哥:芝加哥大学出版社。


或者,您可以重新定义相关的 bibmacro(在参考书目的开头)以跳过所有测试crossref并打印完整数据

\documentclass{article}
\usepackage[style=windycity,sorting=nyt]{biblatex}
\addbibresource{windycity.bib}

\AtBeginBibliography{%
  \renewbibmacro*{crossref+incollections}{%
    \usebibmacro{incollections}}}

\begin{document}
\cites{lippincott1968}{keating1968}{angle1968}
\printbibliography[env=reflist]
\end{document}

相关内容