在列表末尾添加特定引用,覆盖调用它们的顺序

在列表末尾添加特定引用,覆盖调用它们的顺序

我在 beamer 上有一个大型项目,使用 biblatex 进行引用。参考文献以数字形式给出:[1]、[2] 等。我已将幻灯片的部分内容导出为 PDF,一些同事随后将其导出为 PPT 以录制演讲。这意味着我无法再更改参考文献的当前顺序。我唯一能做的就是在列表末尾添加参考文献,但它们会按照调用的顺序显示。

有没有办法强制 biblatex 将特定的引用放在列表的末尾,无论何时调用它们?

答案1

biblatexpresort用于此类内容的字段。默认情况下,所有条目都按其值为 进行排序presortmm因此如果您添加presort具有明确值的 ,则可以将特定条目排在所有“正常”条目之前或之后。

默认情况下,排序方案none不考虑,presort因为它纯粹根据文本中的出现情况进行排序,但我们可以定义一个使用的新排序模板presort

\documentclass[british]{article}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage{csquotes}

\usepackage[backend=biber, style=numeric, sorting=nonepre]{biblatex}

\DeclareSortingTemplate{nonepre}{
  \sort{\field{presort}}
  \sort{\citeorder}
}

\begin{filecontents}{\jobname.bib}
@book{elk,
  author    = {Anne Elk},
  title     = {A Theory on Brontosauruses},
  year      = {1972},
  publisher = {Monthy \& Co.},
  location  = {London},
  presort   = {zz},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\addbibresource{biblatex-examples.bib}

\begin{document}
Lorem \autocite{elk} % cited first, still sorts last
ipsum \autocite{sigfridsson}
dolor \autocite{worman}
sit \autocite{nussbaum}

\printbibliography
\end{document}

Lorem [4] ipsum [1] 忧伤 [2] 坐 [3]

相关内容