BibTeX
BibTeXとは参考文献の一覧の整形に使われるツールである。
BibTeX はオーレン・パタシュニク (Oren Patashnik) とレスリー・ランポート (Leslie Lamport) が1985年に開発した。BibTeX では文献書誌情報とその情報の表記方法とを分離して記述できるため、文献の参照形式を一貫した形式で書くことが可能である。コンテンツと表記・スタイルの分離という同様の方式は、LaTeX や XHTML、HTML と CSS といったマークアップ言語にも見てとることができる。
なお、BibTeX を基にして日本語処理に対応させたものが JBibTeX である。そのため、日本語文字を含む .bib ファイルを処理する場合には、BibTeX ではなく JBibTeX を使用する必要がある。
BibTeX は参考文献の一覧用に、出力形式とは独立したテキストベースのファイル形式を用いる。各書誌情報は論文・書籍・学位論文といった書誌項目の種別を持つ。BibTeX 書誌情報ファイルは通常 「.bib」 の拡張子を持つ。
書誌情報には以下のような標準的なデータ項目がある。
さらに各書誌項目には、その書誌を引用参照もしくは相互参照する際に用いられるキーが付与される。このキーは各書誌項目の先頭で与えられ、データ項目の一部とはならない。
書誌情報ファイルに含まれる各エントリは、いくつかの種類に分けられる。以下の種類は全て BibTeX スタイルが解釈する。
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
LaTeX 文書中では \bibliographystyle
コマンドにより書誌スタイルを指定する必要がある。一般的な指定値として、「\bibliographystyle{plain}」や 「\bibliographystyle{abbrv}」 といった指定がある。
BibTeX の書誌スタイルファイルは 「.bst」という拡張子を持ち、書誌項目をどのように整形するかを記述するのに、単純なスタックベースのプログラミング言語を用いる。BibTeX プログラム bibtex はこのスタイルファイルに従って書誌事項を整形し、TeX または LaTeX の整形コマンドに変換する。なお、HTML を出力するようなスタイルファイルも存在する。固有の BibTeX スタイルファイルは latex makebst コマンドにより生成することができる。
参考文献一覧の情報を出力するには BibTeX ツールを動作させる必要がある。
まず latex コマンドを起動し、元の論文ファイルを整形し、参照情報を取り出す。この時点では、LaTeX ツールからは参考文献情報が未定義であるとの警告メッセージが出力される。
BibTeX ツールを動作させる。
再度 LaTeX ツールを動作させる。この時点でも再び参考文献情報が未定義であるとの警告メッセージが出力される。
3回目の LaTeX ツールの動作。参考文献情報が整形され、出力される。
参照情報を加えるもしくは削除するたびに、上記手順を繰り返す。
ファイルに以下のような数学ハンドブックのエントリが含まれているとする。
本文中でこのハンドブックを参照する場合に、書誌情報は参照スタイル(APA、MLA、Chicago など)に応じて様々な形式で表記される。LaTeX は \cite コマンドおよび書誌参照スタイルの指定に従って、これを扱う。LaTeX 文書中に \cite{abramowitz+stegun} というコマンドが現れた場合に、bibtex プログラムはこれを参考文献リストに追加し、LaTeX の整形用コードを出力する。LaTeX 文書を組版した結果としては、以下のような見栄えになることが多い。
スタイルファイルに応じて BibTeX は著者名の姓名の順を入れ替えたり、タイトルの大文字・小文字を変えたり、.bib ファイルにある情報のうちいくつかの項目については省略したり、テキストの一部を斜体に変更したり、約物を加えたりなどの整形を行う。参考文献一覧の情報全体を同一のスタイルファイルで整形することによって、最小限の労力で全体の出力の一貫性を保ち、一定の整形結果を得ることができる。
「von」、「van」、「der」のような姓に付与される接頭辞は自動的に処理され、ミドルネームと区別するために小文字で整形される。複数語からなる姓を名・ミドルネームと区別する場合には、姓を先に書き、カンマを間に加えてから、名・ミドルネームを書く。「Jr.」、「Sr.」や 「III」などの、名に付与される接尾辞は通常2つのカンマを間に加えることで自動的に処理できる。
姓接頭辞を認識させるのにカンマを使わない場合、代わりに波括弧を用いる書き方(「{Hicks III}」)もある。
BibTeX では crossref フィールドを用いて、他の書誌情報を参照することができる。以下の例では、文献「author:06」 から文献 「conference:06」を参照している。
上記入力を LaTeX にかけると、以下のような出力が得られる。
学術雑誌毎に多くの異なるスタイルファイルがいわば「お手製」で作られてきた。引用スタイルをカスタマイズする必要がある場合は、natbib や jurabib といった LaTeX
マクロパッケージを使うか、makebst といったツールを使える。
大半の参考文献管理ソフトウェアが BibTeX 形式の入出力に対応している。以下のパッケージはBibTeX を内部形式として用いている。