在 biblatex 中对多个参考书目进行排序

在 biblatex 中对多个参考书目进行排序

我有一篇论文,其中有两份参考书目。其中包括一份出版物清单和一份参考文献清单。

参考文献列表应该不排序,或者按出现顺序排序,而出版物列表应该按日期排序。

我使用 biblatex 来执行此操作。为了按出现顺序对参考文献进行排序,我在序言中使用了 sorting=none 选项,并使用以下方法生成了出版物列表

\nocite{*}
\printbibliography[keyword=pub]

但注意到这实际上是按名称对出版物进行排序。

我曾见过这样的情况:biblatex 样式,一个文档中有多个参考书目,这似乎表明使用不同的排序选项对单独的参考书目进行排序是一项即将推出的功能。我刚刚更新了 biblatex,但似乎还没有实现。

有没有办法强制按日期对出版物列表进行排序?我尝试手动设置预排序、sortkey 和 sortname 字段,但似乎不起作用。在等待新版 biblatex 期间,任何 hack 解决方案都将不胜感激。

答案1

用于\nocite按照您想要的顺序“引用”出版物。

\documentclass{article}

\usepackage[sorting=none]{biblatex}

\usepackage{filecontents}

\begin{filecontents}{\jobname.bib}
@misc{A01,
  author = {Author, A.},
  year = {2001},
  title = {Alpha},
}
@misc{B02,
  author = {Buthor, B.},
  year = {2002},
  title = {Bravo},
}
@misc{C03,
  keywords = {pub},
  author = {Cuthor, C.},
  year = {2003},
  title = {Charlie},
}
@misc{Z00,
  keywords = {pub},
  author = {Zuthor, Z.},
  year = {2000},
  title = {Zulu},
}
\end{filecontents}

\addbibresource{\jobname.bib}

\begin{document}

Some text \autocite{B02,A01}.

\nocite{Z00,C03}

\printbibliography[title={Reference list},notkeyword=pub]

\printbibliography[title={List of publications},keyword=pub]

\end{document}

在此处输入图片描述

答案2

目前,您不能针对不同的参考书目采用不同的排序方案,这仍然需要实现。

我使用了一种绕过此限制的方法,但它可能对您不起作用:我经常有一个书目和一个电影目录。虽然书目是按标题排序的nyt,但电影目录应该按标题排序。在这种情况下,您可以使用该\DeclareSortExclusion命令获取不同的排序方案:

\DeclareSortExclusion{misc,movie,video}{sortname,author,editor,translator}

这里我可以简单地定义,各种名称不应该用于某些文档类型。当然,这只有在参考列表使用与参考书目不同的文档类型时才会对您有帮助。

编辑:现在,开发版本中可以使用不同的排序方案,这将成为“biblatex 2./biber 1.0”的一部分。如果您不惧怕 Github 和构建自己的 Perl 程序,那么您可以拥有此功能。

相关内容