Biblatex 中多引文条目的顺序

Biblatex 中多引文条目的顺序

我想了解如何在使用多个条目时更改引文出现的顺序。不幸的是,BibLatex 文档并没有真正帮助我,因为它太复杂了。

假设我有这个引文,\citep{Smith2003,Black2011,Church2012}我希望它们出现(Smith,2003;Black,2011;Church,2012)但我却得到了(Black,2011;Church,2012;Smith,2003)

我假设默认情况下按字母顺序对它们进行排序。我该如何更改它?我不想更改它们在参考书目中的显示顺序,它们是按字母顺序排列的,我希望它们这样。我想更改的是引文中的顺序。

有没有办法告诉它不要对它们进行排序,而是按照我在引用多个参考文献时放置的顺序排列?

答案1

请参阅Biblatex:当参考文献按名称排序(sorting=nyt)时,如何自动按年份对引用进行排序(sortcites=ynt)更彻底的讨论和更现代版本的替代方法biblatex

您可以sorting单独指定参考书目的排序和引文的排序(通过 启用sortcites)。

biblatex3.0 版本之前,您只需使用一个可选参数\printbibliography,但现在(即从 3.0 版本开始),您必须使用一个可选参数来设置新的“refcontext”环境并将参考书目包装在该环境中。

\documentclass{article}
\usepackage[backend=biber,style=authoryear,sorting=ynt,sortcites]{biblatex}
\addbibresource{biblatex-examples.bib}

\begin{document}
\cite{worman,geer,baez/article,wilde,knuth:ct:a,knuth:ct:b}

\begin{refcontext}[sorting=nyt]
\printbibliography
\end{refcontext}
\end{document}

Wilde 1899;Knuth 1984;Geer 1985;Knuth 1986;Worman 2002;Baez 和 Lauda 2004

答案2

如果您只是希望您的多重引用按照您引用的顺序出现,同时保持您的参考书目排序,那么您需要sortcites=false在加载 biblatex 时进行指定。

例如:

\usepackage[style=authoryear,sorting=nyt,sortcites=false]{biblatex}

我要感谢@乌尔里克·菲舍尔的评论,但由于评论很容易被忽略,所以我想将其添加为答案。

答案3

这个很简单,只需要在序言中指定:

\usepackage[comma]{natbib}

更多内容请见:https://es.sharelatex.com/learn/Bibliography_management_with_natbib

相关内容