默认情况下(使用普通样式)BibTeX按字母顺序排序引用。

如何按文献中出现的顺序排列引文?


当前回答

如果你碰巧使用amsrefs,他们将覆盖所有以上-所以注释:

\ usepackage {amsrefs。

其他回答

只是一个简短的说明-我使用的是平原的修改版本。bst和我的Latex文件一起放在目录中;事实证明,按外观顺序排序是一个相对容易的改变;只需要找到这段代码:

...
ITERATE {presort}

SORT
...

... 并发表评论-我把它变成了:

...
%% % avoid sort:
%% ITERATE {presort}
%%
%% SORT
...

... 然后,运行bibtex, pdflatex, pdflatex -引用将按出现的顺序排序(也就是说,它们将是无序的:))。

干杯!

编辑:刚刚意识到我写的东西实际上是在@ChrisN的评论中:“你能编辑它以删除SORT命令吗?”;)

如果您希望引用的数量在文档中按顺序出现,则添加此选项 它们只会在参考页中未排序:

\bibliographystyle{unsrt}

我经常使用书目风格的natbib,因为它为我们提供了相当完整的格式和标签。

unsrt的问题在于格式。使用\bibliographystyle{ieeetr}在文档中按引用顺序获取参考。

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}