默认情况下(使用plain
样式),BibTeX按字母顺序排列引用。
如何按文档中出现的顺序对引用进行排序?
默认情况下(使用plain
样式),BibTeX按字母顺序排列引用。
如何按文档中出现的顺序对引用进行排序?
Answers:
这个问题有三个好的答案。
unsrt
如果您对书目格式感到满意,请使用书目风格makebst
(链接)工具设计自己的书目风格和我个人的建议:
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}
\addbibresource{journals.bib,phd-references.bib}
更改
\bibliographystyle{plain}
至
\bibliographystyle{ieeetr}
然后重新构建几次,以替换使用普通样式时制作的.aux
和.bbl
文件。
或者直接删除.aux
和.bbl
文件并重建。
如果您使用MiKTeX,则无需下载任何其他内容。
biblatex
中心的答案最终是LaTeX社区的前进之路,但LyX持续缺乏对它们的内置支持biblatex
是一个巨大的(而且越来越令人尴尬的)障碍。提出这个问题已经八年了!我永远不会嘲笑LyX的开发人员优先事项。到了2016年。无人驾驶汽车和便携式超级计算机是一回事,但我们仍然保留在这里–与同样可执行的BibTeX耻辱石相连。
只是一个简短的注释-我正在使用带有Latex文件的目录中的plain.bst的修改版本;事实证明,按外观顺序排序是一个相对容易的更改;只需找到一段代码:
...
ITERATE {presort}
SORT
...
...并发表评论-我将其更改为:
...
%% % avoid sort:
%% ITERATE {presort}
%%
%% SORT
...
...然后,运行程序后bibtex
,pdflatex
,pdflatex
-引文将由出现的顺序(即,他们将是未排序:))进行分类。
干杯!
编辑:刚刚意识到我写的实际上是@ChrisN的注释:“ 您可以编辑它以删除SORT命令吗? ”
我想到的最好的方法是使用unsrt
样式,这似乎是一种经过调整的plain
样式。即
\bibliographystyle{unsrt}
\bibliography{bibliography}
但是,如果我的风格不是默认样式,该怎么办?
我对Bibtex(以及一般来说对Latex)还是陌生的,因此我想复活这个旧帖子,因为我在许多有关Latex中书目顺序的Google搜索查询中都发现了它。
我对此问题提供了更详细的答案,希望它可以帮助那里的一些新手面对与我相同的困难。
这是一个主要.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
数据工具包提供了一种通过任意标准对书目进行排序的好方法,方法是先将其转换为某种数据库格式。
简短示例,取自此处并发布以供记录:
\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}
我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}