デフォルトでは(plain
スタイルを使用して)BibTeXは引用をアルファベット順に並べます。
文書内の出現順に引用を並べ替える方法は?
デフォルトでは(plain
スタイルを使用して)BibTeXは引用をアルファベット順に並べます。
文書内の出現順に引用を並べ替える方法は?
回答:
この質問には3つの良い答えがあります。
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を使用している場合、追加のダウンロードは不要です。
unsrt
よりも優れieeetr
ています。同じタイプのフォーマットunsrt
をabbrv
生成します。あなたはこのリンクを
biblatex
-centric 答えは最終的にはLaTeXのコミュニティの往路で、ビルトインのサポートのLyXのの継続的な不足がbiblatex
巨大な(そしてますます恥ずかしい)遮断薬です。この質問が最初に提起されてから8年になります。私は、LyXの開発者の優先事項を決して理解しません。それは2016年です。無人の車とポータブルスーパーコンピューターは存在するものですが、ここに残ります。
簡単なメモ-私はLatexファイルのあるディレクトリにあるplain.bstの修正版を使用しています。見た目でソートするのは比較的簡単な変更です。コードを見つけてください:
...
ITERATE {presort}
SORT
...
...そしてコメントする-私はそれを次のように変えました:
...
%% % avoid sort:
%% ITERATE {presort}
%%
%% SORT
...
...そして、実行した後bibtex
、pdflatex
、pdflatex
-引用が(である、彼らはソートされていないだろう:))出現の順序でソートされます。
乾杯!
編集:私が書いたものが実際に@ChrisNのコメントにあることに気づきました:「編集してSORTコマンドを削除できますか」;)
私が思いついた最高のunsrt
スタイルは、調整されたplain
スタイルのようです。すなわち
\bibliographystyle{unsrt}
\bibliography{bibliography}
しかし、私のスタイルがデフォルトでない場合はどうなりますか?
あなたはあなた自身の質問に答えました--- unsrt
出現順にリストされたneへの参照が欲しいときに使われます。
ただし、非常に柔軟な引用パッケージであるnatbibもご覧ください。それなしでは生きられないなんて想像できません。
私は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を参照してください。
で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}
あなたがたまたま使用し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}