我正在写一篇论文,我需要将参考书目中的特定条目放在列表的首位。其余条目应按常规排序。我使用plain
参考书目样式和外部.bib
文件。
例如:有三位作者:Jack Alien、John Bravo 和 Ally Complex,他们的论文将按参考文献排序为 [1] Alien、[2] Bravo、[3] Complex。但我希望排序为:[1] Complex、[2] Alien、[3] Bravo。
我知道,我可以做类似的事情如何手动更改参考书目样式的顺序(双语参考书目)但许多项目都使用单个.bib
文件,并且这些项目中的引用应该以标准方式排序。
那么,如何才能使特定的参考文献位于参考书目中的第一位呢?
答案1
对于一次性文档,如果只有一个(或很少)条目需要特殊排序处理,则创建一个“特殊”条目并使用该条目并不是不合理的。
\documentclass[12pt]{article}
\usepackage{natbib}
\newcommand{\noop}[1]{}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@Article{adams1986,
author = {Adams, Anthony},
title = {Article Title},
journal = {Journal},
year = 1986,
volume = 46,
pages = {1--35},
}
@Article{zedson2013,
author = {Zedson, John},
title = {Zarticle title},
journal = {Journal},
year = 2013,
volume = 22,
pages = {141--181},
}
@Article{zedson2013-special,
author = {{\noop{AAA}}Zedson, John},
title = {Zarticle title},
journal = {Journal},
year = 2013,
volume = 22,
pages = {141--181},
annote = {NOTE: use for special sorting},
}
\end{filecontents}
\begin{document}
\cite{adams1986}
\cite{zedson2013}
\cite{zedson2013-special}
\bibliographystyle{plain}
\bibliography{\jobname}
\end{document}
如果您使用biber
,实现非正统/特殊排序的一个简单方法是将 添加sortkey = {<sortkey>}
到相关条目中。摘自biblatex
手册(§2.2.3):
用于修改书目排序顺序的字段。将此字段视为主排序键。如果存在,biblatex 将在排序期间使用此字段,并忽略除预排序字段之外的所有其他字段。有关更多详细信息,请参阅 § 3.5。此字段由后端处理使用,不会出现在 .bbl 中。
如果仅使用(字母)biblatex
(样式)作为BibTeX
后端,您可以利用该sortname
字段做类似的事情。
答案2
一个非常简单的解决方案:
只需添加
\begin{document}
\nocite{refName}
并且它将强制该参考文献成为 bib 中的第一个条目,假设您使用按出现顺序排序的 bib 样式,如 IEEE(对于其他样式,您可以通过 等命令禁用字母顺序usepackage[sorting=none]{biblatex}
)。