默认情况下(使用普通样式)BibTeX按字母顺序排序引用。
如何按文献中出现的顺序排列引文?
默认情况下(使用普通样式)BibTeX按字母顺序排序引用。
如何按文献中出现的顺序排列引文?
当前回答
只是一个简短的说明-我使用的是平原的修改版本。bst和我的Latex文件一起放在目录中;事实证明,按外观顺序排序是一个相对容易的改变;只需要找到这段代码:
...
ITERATE {presort}
SORT
...
... 并发表评论-我把它变成了:
...
%% % avoid sort:
%% ITERATE {presort}
%%
%% SORT
...
... 然后,运行bibtex, pdflatex, pdflatex -引用将按出现的顺序排序(也就是说,它们将是无序的:))。
干杯!
编辑:刚刚意识到我写的东西实际上是在@ChrisN的评论中:“你能编辑它以删除SORT命令吗?”;)
其他回答
我对Bibtex(和Latex一般来说)有点陌生,我想恢复这个旧帖子,因为我发现它出现在我的谷歌搜索查询中关于Latex中书目的排序。
我对这个问题给出了一个更详细的答案,希望它能帮助到一些和我面临同样困难的新手。
下面是一个主.tex文件的例子,其中的书目被称为:
\documentclass{article}
\begin{document}
So basically this is where the body of your document goes.
``FreeBSD is easy to install,'' said no one ever \cite{drugtrafficker88}.
``Yeah well at least I've got chicken,'' said Leeroy Jenkins \cite{goodenough04}.
\newpage
\bibliographystyle{ieeetr} % Use ieeetr to list refs in the order they're cited
\bibliography{references} % Or whatever your .bib file is called
\end{document}
...还有一个.bib文件本身的例子:
@ARTICLE{ goodenough04,
AUTHOR = "G. D. Goodenough and others",
TITLE = "What it's like to have a sick-nasty last name",
JOURNAL = "IEEE Trans. Geosci. Rem. Sens.",
YEAR = "xxxx",
volume = "xx",
number = "xx",
pages = "xx--xx"
}
@BOOK{ drugtrafficker88,
AUTHOR = "G. Drugtrafficker",
TITLE = "What it's Like to Have a Misleading Last Name",
YEAR = "xxxx",
PUBLISHER = "Harcourt Brace Jovanovich, Inc."
ADDRESS = "The Florida Alps, FL, USA"
}
请注意,.bib文件中的引用是按相反的顺序列出的,但引用是按照它们在论文中被引用的顺序列出的。
关于.bib文件格式的更多信息可以在这里找到:http://en.wikibooks.org/wiki/LaTeX/Bibliography_Management
我经常使用书目风格的natbib,因为它为我们提供了相当完整的格式和标签。
unsrt的问题在于格式。使用\bibliographystyle{ieeetr}在文档中按引用顺序获取参考。
这个问题有三个很好的答案。
使用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}
改变
\bibliographystyle{plain}
to
\bibliographystyle{ieeetr}
然后重新构建它几次,以替换使用普通样式时生成的.aux和.bbl文件。
或者简单地删除.aux和.bbl文件并重新构建。
如果你使用MiKTeX,你不需要下载任何额外的东西。