引文标注中的自定义排序顺序

引文标注中的自定义排序顺序

我使用natbib以下选项:

\usepackage[round,compress]{natbib}

使用该\citep命令,我得到了如下的引用标注:

(作者等 2013 年,作者及其他 2011 年,作者等 2012 年)

我希望将列表压缩并按年份升序排序,至少对于相同的作者列表(或缩写):

(作者及其他 2011 年,作者等 2012 年、2013 年)

如果我使用 natbibsort&compress代替sort,那么我会在另一个地方得到

(作者等人 2015a、2017、2015b)

我希望的是,年份再次按升序排列:

(作者等人 2015a、b、2017)

我认为问题在于排序是根据参考文献的顺序进行的,其中所有作者姓名都很重要,包括“et al.”部分中隐藏的作者姓名。

在我看来,由于作者年份引用和缩写作者列表,这毫无意义,并且违反了许多期刊规则。

有没有什么办法可以解决这个问题?

答案1

这是biblatexauthoryear-comp(或者authoryear-icomp) 样式。该样式的排序方案为nyt,即name > year > title。引文标注也已排序。

biblatex尽力避免将不同的作者列表合并为相同的缩写形式。如果这是必需的,并且强制使用uniquelist=false,那么您将得到您所期望的结果。

\documentclass[british]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{babel} 
\usepackage{csquotes} 
\usepackage[backend=biber,style=authoryear-icomp,maxcitenames=1,uniquelist=false]{biblatex}
\addbibresource{biblatex-examples.bib}

\usepackage{filecontents}
\begin{filecontents}{\jobname.bib} 
@misc{alpha,
  author = {Author, A. and Buthor, B. and Cuthor, C.},
  year = {2001},
  title = {Alpha},
}
@misc{beta,
  author = {Author, A. and Cuthor, C. and Buthor, B.},
  year = {2002},
  title = {Beta},
}
\end{filecontents}

\addbibresource{\jobname.bib}

\begin{document}
\cite{sigfridsson,alpha,worman,beta}
\printbibliography
\end{document}

给出

作者等人2001、2002; Sigfridsson 等人1998;沃曼 2002

在引用中。

使用uniquename=true(默认),您可以获得

作者,Buthor 等人2001;作者,Cuthor 等人2002; Sigfridsson 等人1998;沃曼 2002

有关如何切换biblatex查看的帮助要切换到 biblatex 该怎么做?biblatex 简介(适合初学者)bibtex 与 biber 以及 biblatex 与 natbib 的比较。由于建议使用新的 Biber 后端而不是 BibTeX biblatex,请查看Biblatex 与 Biber:配置我的编辑器以避免未定义的引用

相关内容