如何使用BibTeX按照出现顺序排序引文?

382

默认情况下(使用“plain”样式),BibTeX按字母顺序排序引用。

如何按照文档中出现的顺序对引用进行排序?


53
有帮助的问题(已获赞),但这个问题不应该属于http://tex.stackexchange.com/吗? - Chthonic Project
21
@ChthonicProject,我认为tex.stackexchange.com直到2010年才开始运作,而这个问题是在2008年提出的。此外,这个问题太旧了无法迁移,因此它仍然存在于这里。 - Richard Erickson
4
删除 .aux 和 .bbl 文件并重新构建。 - Emad Aghaei
@EmadAghayi 对我不起作用。 - untreated_paramediensis_karnik
我遇到了与\documentclass[acmlarge]{acmart}相同的问题。 - user3582228
13个回答

1
如果您正在使用amsrefs,它们将覆盖上述所有内容 - 因此请注释掉:\usepackage{amsrefs}

1
欢迎来到Stack Overflow!您的回答似乎并没有真正回答所提出的问题。您的信息可能很有价值,但最好适合作为其他答案的评论(一旦您获得了发表评论所需的声望)。 - Zero3

0

datatool包提供了一种很好的方法,通过将参考文献首先转换为某些数据库格式,按任意标准进行排序。

以下是一个简短的例子,取自这里并发布以备记录:

\documentclass{article}

\usepackage{databib}

\begin{document}
% First argument is the name of new datatool database
% Second argument is list of .bib files
\DTLloadbbl{mybibdata}{acmtr}
% Sort database in order of year starting from most recent
\DTLsort{Year=descending}{mybibdata}
% Add citations
\nocite{*}

% Display bibliography
\DTLbibliography{mybibdata}
\end{document}

0

我在使用natbibbibliographystyle{apa}相结合。例如:

\begin{document}

The body of the document goes here...

\newpage

\bibliography{bibliography} % Or whatever you decided to call your .bib file 

\usepackage[round, comma, sort&compress ]{natbib} 

bibliographystyle{apa}
\end{document}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接