默认情况下(使用普通样式)BibTeX按字母顺序排序引用。
如何按文献中出现的顺序排列引文?
默认情况下(使用普通样式)BibTeX按字母顺序排序引用。
如何按文献中出现的顺序排列引文?
当前回答
您回答了自己的问题——unsrt用于当您希望按照出现顺序列出对ne的引用时。
但你可能也想看看natbib,一个非常灵活的引用包。我无法想象没有它的生活。
其他回答
这个问题有三个很好的答案。
使用unsrt书目样式,如果你对它的格式满意的话 使用makebst(链接)工具来设计你自己的书目风格
我个人的建议是:
使用bibliatex包(链接)。它是LaTeX世界中最完整和灵活的书目工具。
使用biblatex,您可以编写如下内容
\documentclass[12pt]{article}
\usepackage[sorting=none]{biblatex}
\bibliography{journals,phd-references} % Where journals.bib and phd-references.bib are BibTeX databases
\begin{document}
\cite{robertson2007}
\cite{earnshaw1842}
\printbibliography
\end{document}
我使用natbib结合bibliographystyle{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}
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}
改变
\bibliographystyle{plain}
to
\bibliographystyle{ieeetr}
然后重新构建它几次,以替换使用普通样式时生成的.aux和.bbl文件。
或者简单地删除.aux和.bbl文件并重新构建。
如果你使用MiKTeX,你不需要下载任何额外的东西。