デフォルトでは(plain
スタイルを使用)、BibTeXは引用をアルファベット順に並べます。
文書内の出現順に引用を並べるには?
この質問には3つの良い答えがあります。
unsrt
参考文献スタイルを使ってください。makebst
(link) ツールを使ってあなた自身の書誌スタイルをデザインしましょうそして私の個人的な勧告は:
biblatex
パッケージ (link) を使用してください。これは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
および.bbl
ファイルを置き換えるために、それを数回再構築します。
あるいは単に.aux
と.bbl
ファイルを削除して再構築してください。
MiKTeXを使用している場合は、追加のものをダウンロードする必要はありません。
ちょっと一言 - 私は 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の書誌の順序についての私のグーグル検索照会の多くで出てきたのを見つけたので私はこの古い記事を復活させたい。
私はこの質問にもっと冗長な答えを提供しています。それは私と同じ困難に直面している初心者に役立つかもしれないことを願っています。
参考文献が呼び出されるメインの.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
で問題はフォーマットです。ドキュメントの引用順にrefencesを取得するには\bibliographystyle{ieeetr}
を使用してください。
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}
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}