我在 beamer 上有一个大型项目,使用 biblatex 进行引用。参考文献以数字形式给出:[1]、[2] 等。我已将幻灯片的部分内容导出为 PDF,一些同事随后将其导出为 PPT 以录制演讲。这意味着我无法再更改参考文献的当前顺序。我唯一能做的就是在列表末尾添加参考文献,但它们会按照调用的顺序显示。
有没有办法强制 biblatex 将特定的引用放在列表的末尾,无论何时调用它们?
答案1
biblatex
有presort
用于此类内容的字段。默认情况下,所有条目都按其值为 进行排序presort
,mm
因此如果您添加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}