BibTeX

とは参考文献の一覧の整形に使われるツールである。

概要 
 はオーレン・パタシュニク (Oren Patashnik) とレスリー・ランポート (Leslie Lamport) が1985年に開発した。 では文献書誌情報とその情報の表記方法とを分離して記述できるため、文献の参照形式を一貫した形式で書くことが可能である。コンテンツと表記・スタイルの分離という同様の方式は、 や XHTML、HTML と CSS といったマークアップ言語にも見てとることができる。

なお、 を基にして日本語処理に対応させたものが  である。そのため、日本語文字を含む  ファイルを処理する場合には、 ではなく  を使用する必要がある。

書誌情報ファイル 
 は参考文献の一覧用に、出力形式とは独立したテキストベースのファイル形式を用いる。各書誌情報は論文・書籍・学位論文といった書誌項目の種別を持つ。 書誌情報ファイルは通常 「」 の拡張子を持つ。

書誌情報には以下のような標準的なデータ項目がある。

さらに各書誌項目には、その書誌を引用参照もしくは相互参照する際に用いられるキーが付与される。このキーは各書誌項目の先頭で与えられ、データ項目の一部とはならない。

エントリ種別 
書誌情報ファイルに含まれる各エントリは、いくつかの種類に分けられる。以下の種類は全て  スタイルが解釈する。
article 雑誌に掲載された論文。必須項目：author, title, journal, yearオプション項目：volume, number, pages, month, note, key
book 出版社が刊行した書籍。必須項目：author/editor, title, publisher, yearオプション項目：volume, series, address, edition, month, note, key
booklet 出版社や機関名が明示的されていない印刷物や製本済の作品。必須項目：titleオプション項目：author, howpublished, address, month, year, note, key
conference inproceedings と同一。Scribe との互換性のために残されている。必須項目：author, title, booktitle, yearオプション項目：editor, pages, organization, publisher, address, month, note, key
inbook 書籍中の一部。一章もしくは一節など。範囲ページの指定による。必須項目：author/editor, title, chapter/pages, publisher, yearオプション項目：volume, series, address, edition, month, note, key
incollection それ自体がタイトルを持っている書籍中の一部。必須項目：author, title, booktitle, yearオプション項目：editor, pages, organization, publisher, address, month, note, key
inproceedings 会議論文集中の一論文。必須項目：author, title, booktitle, yearオプション項目：editor, pages, organization, publisher, address, month, note, key
manual マニュアル。技術文書。必須項目：titleオプション項目：author, organization, address, edition, month, year, note, key
mastersthesis 修士学位論文。必須項目：author, title, school, yearオプション項目：address, month, note, key
misc その他該当種別が無いもの。必須項目：無しオプション項目：author, title, howpublished, month, year, note, key
phdthesis 博士学位論文。必須項目：author, title, school, yearオプション項目：address, month, note, key
proceedings 会議論文集。必須項目：title, yearオプション項目：editor, publisher, organization, address, month, note, key
techreport 大学、研究機関などから出版された報告書。通常シリーズ化され、番号付けされる。必須項目：author, title, institution, yearオプション項目：type, number, address, month, note, key
unpublished 著者とタイトルがある文書であるが、公式に刊行されていないもの。必須項目：author, title, noteオプション項目：month, year, key

書誌スタイルファイル 
 文書中では \bibliographystyle
コマンドにより書誌スタイルを指定する必要がある。一般的な指定値として、「\bibliographystyle{plain}」や 「\bibliographystyle{abbrv}」 といった指定がある。

 の書誌スタイルファイルは 「」という拡張子を持ち、書誌項目をどのように整形するかを記述するのに、単純なスタックベースのプログラミング言語を用いる。 プログラム bibtex はこのスタイルファイルに従って書誌事項を整形し、 または  の整形コマンドに変換する。なお、HTML を出力するようなスタイルファイルも存在する。固有の  スタイルファイルは latex makebst コマンドにより生成することができる。

コマンドの動作 
参考文献一覧の情報を出力するには  ツールを動作させる必要がある。
まず latex コマンドを起動し、元の論文ファイルを整形し、参照情報を取り出す。この時点では、 ツールからは参考文献情報が未定義であるとの警告メッセージが出力される。
 ツールを動作させる。
再度  ツールを動作させる。この時点でも再び参考文献情報が未定義であるとの警告メッセージが出力される。
3回目の  ツールの動作。参考文献情報が整形され、出力される。
参照情報を加えるもしくは削除するたびに、上記手順を繰り返す。

例 

ファイルに以下のような数学ハンドブックのエントリが含まれているとする。

 @Book{abramowitz+stegun,
 author = "Milton Abramowitz and Irene A. Stegun",
 title = "Handbook of Mathematical Functions with
 Formulas, Graphs, and Mathematical Tables",
 publisher = "Dover",
 year = 1964,
 address = "New York",
 edition = "ninth Dover printing, tenth GPO printing"
 }

本文中でこのハンドブックを参照する場合に、書誌情報は参照スタイル（APA、MLA、Chicago など）に応じて様々な形式で表記される。 は \cite コマンドおよび書誌参照スタイルの指定に従って、これを扱う。 文書中に \cite{abramowitz+stegun} というコマンドが現れた場合に、bibtex プログラムはこれを参考文献リストに追加し、 の整形用コードを出力する。 文書を組版した結果としては、以下のような見栄えになることが多い。

スタイルファイルに応じて  は著者名の姓名の順を入れ替えたり、タイトルの大文字・小文字を変えたり、 ファイルにある情報のうちいくつかの項目については省略したり、テキストの一部を斜体に変更したり、約物を加えたりなどの整形を行う。参考文献一覧の情報全体を同一のスタイルファイルで整形することによって、最小限の労力で全体の出力の一貫性を保ち、一定の整形結果を得ることができる。

著者名の整形 
「von」、「van」、「der」のような姓に付与される接頭辞は自動的に処理され、ミドルネームと区別するために小文字で整形される。複数語からなる姓を名・ミドルネームと区別する場合には、姓を先に書き、カンマを間に加えてから、名・ミドルネームを書く。「Jr.」、「Sr.」や 「III」などの、名に付与される接尾辞は通常2つのカンマを間に加えることで自動的に処理できる。

 @Book{hicks2001,
 author = "von Hicks, III, Michael",
 title = "Design of a Carbon Fiber Composite Grid Structure for the GLAST
 Spacecraft Using a Novel Manufacturing Technique",
 publisher = "Stanford Press",
 year = 2001,
 address = "Palo Alto",
 edition = "1st,",
 isbn = "0-69-697269-4"
 }

姓接頭辞を認識させるのにカンマを使わない場合、代わりに波括弧を用いる書き方（「{Hicks III}」）もある。

相互参照 
 では crossref フィールドを用いて、他の書誌情報を参照することができる。以下の例では、文献「author:06」 から文献 「conference:06」を参照している。

 @INPROCEEDINGS {author:06,
 title = {Some publication title},
 author = {First Author and Second Author},
 crossref = {conference:06},
 pages = {330--331},
 }
 @PROCEEDINGS {conference:06,
 editor = {First Editor and Second Editor},
 booktitle = {Proceedings of the Xth Conference on XYZ},
 year = {2006},
 month = {October},
 }

上記入力を  にかけると、以下のような出力が得られる。

用途別スタイルファイル 
学術雑誌毎に多くの異なるスタイルファイルがいわば「お手製」で作られてきた。引用スタイルをカスタマイズする必要がある場合は、natbib や jurabib といった 
マクロパッケージを使うか、makebst といったツールを使える。

フリーソフトウェア 
大半の参考文献管理ソフトウェアが  形式の入出力に対応している。以下のパッケージは を内部形式として用いている。

書誌情報データベース

脚注

外部リンク 
the Comprehensive  Archive Network (CTAN)
The  Catalogue OnLine, Entry for , Ctan Edition（Ring Server によるミラーリング）
てんびんの経済学
 の家
BibTeX 活用術
私的文書置場 — 新堂 安孝
BibTeX と bibtex-mode，reftex-mode の使い方
齋藤経史 (Keiji Saito) のホームページ
齋藤経史（Keiji Saito）の Web 倉庫 #BibTeX と文献管理
LaTeX handbook — 萩平 哲 (Hagihira, Satoshi)
II. レファレンスの書式設定について
BibTeX.org
Managing Citations and Your Bibliography with BibTeX by Jürgen Fenn ( 2006, number 4)
Getting to Grips with  — Bibliography Management
 Bibliography Style Database……各種論文誌用の  スタイルファイルのデータベース
BibTeX in WinEdit
BibTeX Style Examples……50以上のパブリックドメインの  スタイルファイルの例
Bibliography Styles (PDF) ……参考文献スタイルの種類別に引用スタイルと書誌項目の整形例を例示

TeX