我想了解如何在使用多个条目时更改引文出现的顺序。不幸的是,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
)。
在biblatex
3.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}
答案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