![如何改变 \citet{article1,article2,...} 中引用文章的顺序?](https://linux22.com/image/372531/%E5%A6%82%E4%BD%95%E6%94%B9%E5%8F%98%20%5Ccitet%7Barticle1%2Carticle2%2C...%7D%20%E4%B8%AD%E5%BC%95%E7%94%A8%E6%96%87%E7%AB%A0%E7%9A%84%E9%A1%BA%E5%BA%8F%EF%BC%9F.png)
在我的论文的某个时候,我写了一些类似于以下 MWE 生成的内容。
\documentclass[a4paper]{scrartcl}
\usepackage[isbn=false,style=authoryear-comp,backend=biber,natbib,maxbibnames=99,maxcitenames=2,hyperref=true]{biblatex} % To get fancy bibliography as desired.
\usepackage{csquotes} % To make sure that my Bibliography loads correctly.
% REFERENCES SETTINGS
\usepackage[colorlinks=true,urlcolor=blue,linkcolor=black]{hyperref}
% BIBLIOGRAPHY SETTINGS
\addbibresource{Bib.bib}
\setlength\bibitemsep{2\itemsep}
\AtBeginBibliography{
\renewcommand*{\mkbibnamefamily}[1]{\textsc{#1}}
\renewcommand*{\mkbibnamegiven}[1]{\textsc{#1}}
\renewcommand*{\mkbibnameprefix}[1]{\textsc{#1}}
\renewcommand*{\mkbibnamesuffix}[1]{\textsc{#1}}
}
\DeclareNameAlias{author}{last-first}
\DeclareDelimFormat[cbx@textcite]{nameyeardelim}{\addspace}
\renewcommand*{\bibfont}{\small}
\begin{document}
Following \citet{hartmascolell,evans}, utilities...
\printbibliography
\end{document}
将关联的 .bib 文件命名为 Bib.bib 并将其保存在与 MWE 相同的文件夹中,以便 MWE 运行。.bib 文件应该准确如下:
@article{hartmascolell,
author = "S. Hart and A. Mas-Colell",
title = "Bargaining and Value",
journal = "Econometrica",
volume = "64",
pages = "357--380",
year = "1996",
url = "https://doi.org/10.2307/2171787"
}
@article{evans,
author = "R. Evans",
title = "Coalitional Bargaining with Competition to Make Offers",
journal = "Games and Economic Behavior",
volume = "19",
pages = "211--220",
year = "1997",
url = "https://doi.org/10.1006/game.1997.0553"
}
然后,我们得到以下输出:
我怀疑 Evans 出现在 Hart & Mas-Colell 之前是因为顺序是按照字典顺序的。但是,对我来说,先找到 Hart & Mas-Colell 再找到 Evans 更合理,因为论文的顺序是按照时间顺序的(一篇来自 1996 年,另一篇来自 1997 年)。
因此,我的问题是:我怎样才能将作者出现的顺序从词典顺序改为时间顺序?并且:有什么理由认为字典顺序更好(又名默认顺序)?
注意:除非有理由不这样做,否则我想保持参考书目中条目的顺序不变。
注 2:有相关问题,但没有一个用 \citet{...} 来解决这个问题。
答案1
您之所以看到这种行为,是因为authoryear-comp
内部设置了sortcites=true
。该选项会导致引用按参考书目中引用作品的方式排序。这对于您使用的紧凑/压缩样式至关重要,因为 的所有排列\cite{knuth:ct:b,sigfridsson,knuth:ct:a}
都应显示为“Knuth 1984, 1986; Sigfridsson and Ryde 1998”。
如果您根本不想对引文进行任何排序,而希望手动确定排序,则可以使用 禁用排序sortcites=false
。但这会严重损害 的-comp
位authoryear-comp
。除非您手动对条目进行排序,否则您通常会得到authoryear
而不是authoryear-comp
。
由于多引用命令默认不排序(见使用 biblatex 中的 \cites 命令对引用进行排序),你可以用它\textcites
来抑制排序
\textcites{hartmascolell}{evans}
可以使用与参考书目不同的排序模板对引文进行排序,请参阅Biblatex:当参考文献按名称排序(sorting=nyt)时,如何自动按年份对引用进行排序(sortcites=ynt)。