我引用了合集的几个章节以及整个合集。在注释中,我希望第一次提到合集时给出完整引用,而任何后续引用都给出合集的缩写版本。为了实现这一点,我使用了字段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 文件。doc
windycity
答案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}
或者,您可以重新定义相关的 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}