Latex 如何使用BibTeX按外观排序引用?

Latex 如何使用BibTeX按外观排序引用?,latex,bibtex,Latex,Bibtex,默认情况下(使用普通样式),BibTeX按字母顺序排列引用 如何按文档中出现的顺序对引用进行排序?我想到的最好方法是使用unsrt样式,这似乎是一种经过调整的普通样式。i、 e \bibliographystyle{unsrt} \bibliography{bibliography} 但是,如果我的样式不是默认样式,该怎么办?您回答了自己的问题--unsrt将在您希望按照出现顺序列出对ne的引用时使用 但你可能还想看看,一个非常灵活的引文包。我无法想象没有它的生活。这个问题有三个很好的答案

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


如何按文档中出现的顺序对引用进行排序?

我想到的最好方法是使用
unsrt
样式,这似乎是一种经过调整的
普通
样式。i、 e

\bibliographystyle{unsrt}
\bibliography{bibliography}

但是,如果我的样式不是默认样式,该怎么办?

您回答了自己的问题--
unsrt
将在您希望按照出现顺序列出对ne的引用时使用


但你可能还想看看,一个非常灵活的引文包。我无法想象没有它的生活。

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

  • 如果您对其格式感到满意,请使用
    unsrt
    书目样式
  • 使用
    makebst
    工具设计您自己的书目样式
我个人的建议是:

  • 使用
    biblatex
    软件包。它是世界上最完整、最灵活的书目工具
使用
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}

使用
unsrt
时,问题在于格式。使用
\书目样式{ieeetr}
按引文顺序获取参考文献。

更改

\bibliographystyle{plain}

然后重新构建几次,以替换使用普通样式时生成的
.aux
.bbl
文件

或者简单地删除
.aux
.bbl
文件并重新生成


如果你使用MiKTeX,你不需要下载任何额外的东西。

只是一个简短的说明-我使用的是一个修改版的Latex文件目录;事实证明,按外观顺序排序是一个相对容易的改变;只需找到一段代码:

...
ITERATE {presort}

SORT
...
。。。并对其进行评论-我将其转向:

...
%% % avoid sort:
%% ITERATE {presort}
%%
%% SORT
...
。。。然后,在运行
bibtex
pdflatex
pdflatex
-引用将按外观顺序排序(即,它们将被取消排序:)

干杯


编辑:刚刚意识到我写的实际上是@ChrisN的评论:“你能编辑它以删除排序命令吗”;)

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

该软件包提供了一种很好的方法,可以根据任意标准对书目进行排序,首先将其转换为某种数据库格式

为记录而采取并发布的简短示例:

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

我对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文件格式的更多信息,请参见此处:

我将
natbib
书目样式{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}

如果希望引用的数量在文档中按顺序显示,请添加此项 它们将仅在参考页中取消排序:

\bibliographystyle{unsrt}

如果您使用的是自定义BibTeX样式,是否可以对其进行编辑以删除排序命令?默认情况下,wiki页面建议您使用纯文本。如果您不小心复制粘贴,您将使用普通样式而不是非RT样式。natbib仅影响文档本身中\cite命令的排版。话虽如此,它与unsrtnat.bst一起分发,以达到原始海报所追求的效果。(我现在推荐biblatex而不是natbib,除非绝对稳定性是最重要的。)biblatex软件包的一个明显优势让我接受了这个答案,那就是它允许使用TeX宏而不是怪异的BibTeX巫毒来编辑参考样式。对于更快/更可靠的解决方案,其他软件包可能更好。如果您使用biblatex,我需要补充一点。最好使用\addbibresource而不是\书目。所以
\addbibresource{journals.bib,phd references.bib}
谢谢!优秀和简单的修复!伟大的感谢您提供了简单的解决方案。如果您正在为ACM出版物撰写论文,则
unsrt
将优于
ieeetr
,因为后者适用于格式稍有不同的IEEE论文
unsrt
abbrv
生成相同类型的格式。你可能想看看这个简单的答案出现了!虽然以
biblatex
为中心最终是乳胶社区的前进方向,但LyX继续缺乏对
biblatex
的内置支持是一个巨大(并且越来越令人尴尬)的拦路虎。这个问题首次提出已经八年了!我永远不会了解LyX的开发者优先权。2016年。无人驾驶汽车和便携式超级计算机是一种东西,但我们仍然在这里——被同一块可恶的BibTeX耻辱之石所束缚。它在背面的应用程序中不起作用。我在背页中删除了它们,但它并没有解决问题。有用的问题(向上投票),但这不应该属于?@ChthonicProject,我认为tex.stackexchange.com要到2010年才开始,这个问题是从2008年开始的。另外,这个问题太老了,无法迁移,所以它仍然存在于这里rebuild@EmadAghayi不适用于我。我在\documentclass[acmlarge]{acmart}中面临着同样的问题。您关于格式的声明似乎与公认的(而且投票率很高)答案相矛盾。库伊
\bibliographystyle{unsrt}