如何按年份对文内引用进行排序,但按名称对参考书目进行排序?

如何按年份对文内引用进行排序,但按名称对参考书目进行排序?

我正在使用类 pdflatex 和 biber 编写文档memoir。现在,文档末尾的参考书目和文本中的引文都按字母顺序排序,但我希望引文按年份排序。我该如何实现?

在我的序言中我有这样的话:

\usepackage[style=authoryear,backend=biber]{biblatex}%
\renewcommand*{\nameyeardelim}{\addcomma\space}

我已经创建了一个如下所示的配置文件:

\ExecuteBibliographyOptions{dashed=false, block=space, firstinits, maxcitenames=2,maxbibnames=99, sortcites, sorting=nyt, uniquelist=false}
\DeclareFieldFormat[article]{title}{#1\isdot}
\DeclareFieldFormat[incollection]{title}{#1\isdot}
\DeclareFieldFormat{pages}{#1}
\DeclareFieldFormat{postnote}{#1}
\DeclareNameAlias{sortname}{last-first}
\renewbibmacro{in:}{}

\renewbibmacro*{volume+number+eid}{
\printfield{volume}
\setunit*{\addnbthinspace}
\printfield{number}
\setunit{\addcomma\space}
\printfield{eid}}
\DeclareFieldFormat[article]{number}{\mkbibparens{#1}}

据我所知,排序选项只起到了一半的作用,因为它会改变书目和引用的顺序。有什么建议吗?

答案1

这是针对现已过时的版本的答案biblatex。有关较新版本,请参阅Biblatex:当参考文献按名称排序(sorting=nyt)时,如何自动按年份对引用进行排序(sortcites=ynt)

biblatexsorting选项可以全局应用(即在包加载选项中,或通过\ExecuteBibliographyOptions)。然后使用全局排序方案对引文进行排序(如果sortcites使用),此外还用于对通过\printbibliography或打印的所有参考书目和速记列表进行排序\printshorthands

如果您想使用与全局排序方案不同的排序方案对参考书目进行排序,您可以在可选参数\printbibliography:中指定该排序方案\printbibliography[sorting=nty]

在您的例子中,您可能需要全局排序方案sorting=ynt,因此使用biblatex\usepackage[sorting=ynt]{biblatex}加载\ExecuteBibliographyOptions{sorting=ynt}。您的参考书目排序方案将是sorting=nty,因此您可以通过 打印参考书目\printbibliography[sorting=nty]

相关内容