是否可以根据文件中的顺序对参考文献的顺序进行排序.bib
?
答案1
这是一个应该适用的解决方案任何bib 文件,其中包括按字母相反顺序排列条目的文件。
首先,在bib文件的顶部插入以下指令:
@preamble{ "\newcommand{\noop}[1]{}" }
乍一看,\noop
指令似乎毫无意义,因为它没有对其参数执行任何操作。虽然这对于LaTeX 排版运行,它是不是正确答案:BibTeX 排序阶段。事实上,对于其工作的排序阶段,BibTeX 将替换\noop{abc}
为abc
并将“ abc
”视为需要按字母顺序排序的材料的一部分。
其次,假设 bib 文件中的条目少于 26*26=676 个,在每个条目字段中第一作者姓氏前立即(不带空格)插入\noop{aa}
, \noop{ab}
, ..., \noop{az}
, \noop{ba}
, ... 指令:\noop{bb}
author
@article{xyz,
author = "Dane \noop{aa}Miller and Jane Smith",
...
}
@book{123,
author = "Jill \noop{ab}Anderson and Bill Carlson",
...
}
...
@techreport{johnson:2012,
author = "\noop{ac}Johnson, Jimmy",
...
}
(如果有超过 676 个条目,只需适当扩展参数的字符串长度\noop
,例如,扩展为aaaa
,aaab
等等。)
第三,一定要使用按字母顺序对 bib 条目进行排序的参考书目样式文件。现在说明的要点\noop
应该很清楚了:对于分类目的,相关姓氏为“aaMiller”、“abAnderson”和“acJohnson”,因此这三个条目将按照它们在 bib 文件中的顺序排序(而不是 Anderson 后接 Johnson 后接 Miller)。稍后,当 LaTeX 进行排版时,它会丢弃aa
、ab
等前缀,这样名字就会被正确排版。
答案2
@egreg 在此线程中提供了解决方案:https://tex.stackexchange.com/a/56640/204235
\nocite{*}
可以在任何引用之前添加到文档顶部,您的参考书目将按照您的顺序打印,.bib
并且您仍然可以添加使用您的编号的引用.bib
。