如何使用BibTeX在外观上订购引用?

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

如何在文档中按顺序排列引文?

这个问题有三个很好的答案。

  • 如果您对格式不满意,请使用unsrt书目风格
  • 使用makebst (链接)工具来devise自己的书目风格

而我个人的build议是:

  • 使用biblatex软件包(链接) 。 这是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} 

 \bibliographystyle{ieeetr} 

然后重新.aux几次,以replace使用普通样式时.bbl.aux.bbl文件。

如果您使用MiKTeX,则不需要额外下载任何内容。

你回答了你自己的问题—当你希望引用按照出版顺序列出的ne时使用unsrt。

但是你也可以看看natbib ,一个非常灵活的引用包。 没有它,我无法想象生活。

简单的说明 – 我正在使用我的Latex文件在目录中的plain.bst的修改版本; 事实certificate按照顺序sorting是一个相对容易的改变; 只需find一段代码:

 ... ITERATE {presort} SORT ... 

…并评论它 – 我把它变成:

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

…然后,运行bibtexpdflatexpdflatex – 引用将按照外观顺序sorting(即,它们将被sorting:))。

干杯!

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

我想出的最好的是使用unsrt风格,这似乎是一个调整plain风格。 即

 \bibliographystyle{unsrt} \bibliography{bibliography} 

但是,如果我的风格不是默认的呢?

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

我对Bibtex(以及一般的乳胶)有点新鲜,我想重振这个旧的post,因为我发现它出现在我的许多关于乳胶书目sorting的Googlesearch查询中。

我对这个问题提供了一个更详细的答案,希望能帮助那些和我面临同样困难的新手。

这里是一个主要的.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 = "GD 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文件格式的更多信息可以在这里find: http : //en.wikibooks.org/wiki/LaTeX/Bibliography_Management

unsrt问题是格式。 使用\bibliographystyle{ieeetr}按引用顺序在文档中获取refences。

datatool软件包提供了一个很好的方式来按照任意的标准对参考书目进行分类,首先把它转换成一些数据库格式。

简短的例子, 从这里拿到并logging在案:

 \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} 

如果你碰巧使用了amsrefs他们会覆盖上面的所有内容 – 所以注释掉:

\usepackage{amsrefs}

我使用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}