BIBTEX の使い方 · 簡易資料
2020/2/8 第 7.6 版
by NIDE, N. (nidxyze@ics.nara-wu.ac.jp)
LATEX で書いた論文などで「参考文献」の節を書くには、thebibliography 環境と \bibitem コマンドを使って手作業で書く方法もあるが、それだと書式がバラバラになりやすく、そうならないようにするには結構神経を使う。これに対し、BIBTEX (英文の場合) ないしはJBIBTEX (和文の場合) を使うと、書式が自動的に揃うので楽である。他にも、参考文献リストを複数の TEX ファイルで使い回せる、スタイルの指定だけ変更すれば参考文献部全体の書式がまるごと変わる、など多数の特典が享受できる。
本資料は、卒業論文類の執筆に BIBTEX を使用するための最低限の資料である。

BIBTEX を用いて論文類に参考文献節を記載するには、次のような手順を踏む。以下、この手順に沿って順に述べる。
1. 参考文献リストのファイル (Bib ファイル) を作成 (1 節)
2. TEX ファイル側で参考文献を参照 (2 節)
3. 文書を清書 (3 節)

1

参考文献リストの作成
BIBTEX を使って参考文献の節を書くには、まず、参考文献リストのファイル (Bib ファイルと呼ぶ) を、TEX の原稿ファイルとは別に作る。Bib ファイルのファイル名は「×××.bib」にする。「×××」の部分は、TEX の原稿ファイルのファイル名とは無関係でもよい。例えば TEX の原稿ファイルが hahaha.tex で、Bib ファイルが kekeke.bibでもかまわない。

Bib ファイルの中には以下のようなことを書く。ここに挙げた文献が全て TEX で書いた文書側の参考文献欄に載るわけではなく、 TEX ファイル側で \cite コマンドで参照した文献しか載らない (特別な指定をしない限り)。またそのため、1 つの Bib ファイルに参考文献を片っ端から溜め込み、いくつもの TEX ファイルで共用することができる。

@Article{Kamo00,
title = "Computational complexity of fractal sets",
author = "Kamo, Hiroyasu and Kawamura, Kiko and Takeuti, Izumi",
journal = "Real Analysis Exchange",
volume = 26,
number = 2,
pages = "773--794",
year = 2000,}@InProceedings{Fujita14,author = "Megumi Fujita and Yuki Goto and Naoyuki Nide andKen Satoh and Hiroshi Hosobe",
title = "Logic-based and robust decision making for robots in real world",
booktitle = "Proc. of AAMAS 2014",
pages = "1685--1686",
year = 2014,}@Book{ 加藤 14,author = " 加藤 暢 and 高田 司郎 and 新出 尚之 ",title = " 数理論理学 --- 合理的エージェントへの応用に向けて ---",
publisher = " コロナ社 ",1

year = 2014,}@PhDThesis{ 藤田 12,author = " 藤田 恵 ",title = "{BDI} モデルに基づく自律エージェントの行動決定アルゴリズムの拡張および応用 ",type = " 博士論文 ",school = " 奈良女子大学大学院人間文化研究科 ",year = 2012,}@MastersThesis{ 山西 11,
author = " 山西 康世 ",title = "{MUA} における分類学習機能の実装 ",type = " 修士論文 ",school = " 奈良女子大学大学院人間文化研究科 ",year = 2011,}「@Article{」や「@Book{」などから「}」までが文献 1 つにあたる。@ の次が文献の種別を表すもので、表 1 のような種類がある。種別の部分は大文字小文字の区別がないので、「@Article」でも「@ARTICLE」でも、あるいは「@article」や「@aRtIcLe」でも同じ意味である。
表 1: 文献の種別
種別名

種別@Article

論文誌の論文や、雑誌の記事など

@Book

本

@InProceedings

学会の予稿集の中の 1 論文

@MastersThesis

修士論文@PhDThesis
博士論文..
その他いくつかあり.
@Misc

他のどれにもあてはまらないもの「@種別{」の直後には、文献を特定するためのラベルを書く。ラベルは適当な名前でよく、「著者名+年」でなければならないなどの決まりは一切ないが、自分で名前の付け方に一定の規則を設けておく方がよい。文献の種別 (@Article など) に大文字小文字の区別がないのと違って、ラベルには大文字小文字の区別がある。例えば、「@Article{Kamo00,」と書くのと「@article{Kamo00,」と書くのは同じ意味になる (種別の部分には大文字小文字の区別がないため) が、「@Article{Kamo00,」と「@Article{kamo00,」とは別々の文献の指定と見なされる (ラベルには大文字小文字の区別があるため)。
「=」の左の title や author などは項目名で、この部分も大文字小文字の区別はない (「title」でも「TITLE」でも同じである)。
「=」の右にはその項目の内容として表 2 のようなものを書く。この部分には一般に大文字小文字の区別があるので注意。また、この部分は原則として「" "」で囲むが、内容が数字だけの場合 (年や巻 · 号など) は「" "」で囲まなくてもよい。
「卒業論文」という種別は用意されていないので、@MastersThesis を使い、type のところに「××年度卒業論文」のように書いて代用する。
訳本の場合は (いくつか方法はあるが 1 つの書き方として)、note のところに訳者などの情報を書く。以下がその例。
1 採録未定、あるいは未投稿など、他者が参照できないものはそもそも参考文献欄に挙げるべきでないとする分野もある。その場合は本文中で言及するだけにしよう。また、採録未定のものでも Web でアクセス可能にしておいて、その URL を付けることで参考文献欄に載せるケースもある。いずれにせよ、分野毎の慣習には従っておこう。

2

表 2: 各項目の内容
項目名author

内容著者。和文では「姓␣名」、欧文では「姓,␣名」あるいは「名␣姓」(ミドルネームがあれば名の次) と書く。複数の著者の間は「,」ではなく「␣and␣」で区切る (出力では区切りは自動的に「,」に変わる。ただし日本語の場合を除き、最後の 2 人の間だけは「, and」に変わる)。
著者名が多すぎるために最初の数人だけ挙げる場合は、最後を「␣and␣others」で終える (出力では自動的に「et al.」あるいは「ほか」になる)。
名前にアクセント付き文字 (ü など) が含まれる場合はその文字を「{ }」で囲んで「{\"u}」あるいは「{\"{u}}」のように書く

booktitle

本の名前。@InProceedings のように、その文献がある本の一部であるときに使う。@Bookのようにその文献が本全体である場合の題名には使わない (title を使う)

journal

論文の場合の論文誌の名前や、雑誌記事の場合の雑誌の名前など

memo

注釈 (無視される)。実は memo でなくても、BIBTEX が知らない項目名は全て無視されるので、「hahaha =」などと書いても同じ

number

論文誌や雑誌の巻号の「号」

pages

掲載ページ

publisher

出版社

school

博士論文などの場合の学校名

title

題目。なお、@InProceedings や @Article などの title では、英字は原則として小文字 (文の先頭だけ大文字) に変換されるので、その変換をしてほしくない (固有名詞や略語などで)箇所は「{ }」で囲んでおくこと (英字なら何でも「{ }」で囲むというわけではない)。サン
プルの「藤田 12」の title 中の「{BDI}」はその例

type

博士論文や修士論文の場合に、デフォルトでは「PhD thesis」とか「Master’s thesis」と英語で出るので、日本語で「博士論文」とか「修士論文」と出したい場合はここに指定する

volume

論文誌や雑誌の巻号の「巻」

year

出版あるいは公表の年。未公表のものは、その状況に合わせて「to appear」(公表が決定済み)、「submitted」(論文誌などに投稿済みで、査読中などのため採録されるかどうか未決定の状態)1 、「to be submitted」(論文誌などに投稿予定中) などと書く

howpublished 特殊な公表形態をとる場合の公表方法..
. その他いくつかあり
note

他の項目に当てはまらない雑多な事項@Book{Bratman87,author = "Michael E. Bratman",title = "Intention, Plans, and Practical Reason",publisher = "Harvard University Press",year = 1987,
note = "( 門脇俊介 , 高橋久一郎 ( 訳 ).
意図と行為 --- 合理性、計画、実践的推論 ---, 産業図書 , 1994)",}
また、Web ページを参考文献として挙げたい場合は (これもいくつか方法はあるがその 1 つとして)、「@Misc」を使って以下のようにすればよい。この例の中では \url というコマンドを使っており、そのためには TEX ファイルのプリアンブルに \usepackage{url} が必要である (\url コマンド自身は別に BIBTEX 専用ではない)。

@Misc{Weisstein,author = "Weisstein, Eric W.",
title = "Delta Function",note = "A Wolfram Web Resource (2017 年 2 月 8 日閲覧 )",3

howpublished = "{\url{http://mathworld.wolfram.com/DeltaFunction.html}}",}種別と項目の組み合わせによっては、書いても使われないものもある。例えば、@PhDThesis や @MastersThesisに volume や number を書いておいても使われない (博士論文や修士論文には巻号はないからである)。
また逆に、種別によってはある項目が必須であり、ないと (3 節で bibtex コマンドを動かす際に) 警告メッセージが出る場合がある。例えば、ほとんどの種別では author や title は必須であるし (@Misc のような例外もある)、@InProceedings などでは booktitle や year も必須である (必須と言いつつ、なくても警告メッセージが出るだけでエラーにはならない)。
種別によっては、項目のうちのある 2 つが同時に存在できないという場合もある。例えば @InProceedings など
では、volume と number の両方は存在できない。両方書くと「Warning--can’t use both volume and numberfields in 文献名」のような警告が出て、volume の方しか出力されない。しかし、Proceedings of the IEEE の掲載
論文のように、 @InProceedings でありながら volume と number が両方あるような例外も世の中にはあるようである。そういう場合は、姑息だが volume を「"86,␣No.␣11"」のように記載するなどの手でごまかすしかないだろう (BIBTEX のスタイルファイル自体を書き直すのでなければ)。
人名、タイトルなど、間違えないよう慎重にチェックすること。特に人名や、タイトル中に出てくる固有名詞などは、大文字小文字の区別やアクセント記号の有無などを含めて正確に書く必要がある (参考文献欄に限らないが)。
また、各項目の内容の途中に英文のピリオドやコンマがある場合は、その直後に必ず空白を空けること (URLや数値の一部である、空けないのが正式な名前である、など特別な理由がない限り)。例えば「H.Kamo」ではなく「H.␣Kamo」のようにする。
なお、TEX では通常、文末でなく略語を示すピリオドが英小文字の直後に来る場合は、そのピリオドが文末のピリオドと見なされるのを防ぐために、その後の空白を「\␣」と書かねばならないが (例えば「Proc.\␣of AAMAS」のように)、参考文献の記述 (Bib ファイル内でも thebibliography 環境でも) においてはその必要はなく、単に「Proc.␣of· · ·」でよい。参考文献の記述内では自動的に「French spacing」というモードになるためである。

2 TEX ファイル側で参考文献を参照
TEX ファイルのどこか (通常は \end{document} の直前、Appendix がある場合はその前) に次のように書く。
\bibliographystyle{jplain}\bibliography{×××}
ただし「×××」の部分には、Bib ファイルの名前から .bib を取り除いたものを書く。例えば Bib ファイルの名前が kekeke.bib なら、\bibliography{kekeke} と書く。thebibliography 環境は書かなくてよい。

\bibliographystyle コマンドの引数は参考文献節の「スタイル」で、特に何も指示がなければ jplain (欧文なら plain) を指定しておけばよい (学会の論文誌などの場合は学会指定のスタイルを用いなければならないことが多い)。ここを変えると、参考文献節の書式が変わる。jplain, plain 以外に標準で用意されているスタイルとしては、

jabbrv, junsrt (以上和文用)、abbrv, unsrt (以上欧文用) などがある。
そうしてから、TEX ファイルの本文中で「\cite{ラベル}」として文献を参照する (これは thebibliography 環境を使って手作業でやる場合と共通)。例えば「鴨ら\cite{Kamo00}は ×× のように述べた」などと書く。
「\cite{ラベル1 , ラベル2 }」のようにして一度に複数参照してもよい。
本文中での「\cite{ラベル}」の部分が実際にどのように出力されるかは、上述の「スタイル」によって異なる。

jplain などでは「[1]」のような出力になるが、学会指定のスタイルなどでは「[Kamo00]」のような出力になることもある。
あまり使わないと思われるが、本文中での文献参照を「\cite[××]{ラベル}」のように書くと、「××」の部分が参照先の直後に出力される。例えば「\cite{Kamo00」が「[1]」を出力するなら、「\cite[p.\ 23--25]{Kamo00}」
は [1, p. 23–25] を出力する。これは、文献中の特定のページを参照先としたい場合などに使える。ただし、書籍の中での特定の節、あるいはタイトルのついた特定の一部分を参照したい場合は、ページ数で指定するのでなく、文4

献の種別として InBook や InCollection (表 1 には示していない。別途調べられたし) を使うことによって、参照先自体を「ある書籍の一部」という形で指定する方がスマートである。

1 節で述べた通り、\cite コマンドで参照している文献しか、参考文献節には載らない2 。Bib ファイルにある文献が全て参考文献節に現れるわけではない。
なお、(BIBTEX を使わない場合でもそうだが) \cite コマンドの部分は、飛ばして読んでも文章として成り立つように書くべきであり、\cite コマンドの部分が名詞となってそこを飛ばすと文章として成り立たないような書き方は、あまりよくない。例えば「Bishop らの研究 \cite{Bishop07} では」とするのはよいが、「従来研究の \cite{Bishop07}
では」のような書き方は避けるべきである。避けるべきと言いつつ、それでは文章が書きにくい場合にはよく使われているのが実態ではあるが。

3bibtex, latex コマンドで文書を清書
BIBTEX を使った TEX 文書を清書するには以下の作業を行う。以下は和文の場合で、欧文なら jbibtex の代わりに bibtex、platex の代わりに latex コマンドを使う。また、最近の環境ではJBIBTEX のコマンド名が jbibtex でなく pbibtex になっている場合も (というより、その方が) 多いので、その場合はそのように読み替えること。
以下では、TEX ファイルの名前が △△△.tex とする。

1. platex␣△△△  とする
2. jbibtex␣△△△  とする (Bib ファイルの名前ではなく TEX ファイルの名前を指定することに注意。ただし「.tex」は付けない3 )3. platex␣△△△  とする
4. 再度 platex␣△△△  とする
ただし、4. で platex コマンドが出したメッセージの中に「Label(s) may have changed.」というものが混じっていたら、それが出なくなるまで 4. を繰り返す。

4. を怠ると、本文中の文献参照箇所が「[?]」のように、参照先が正しく入らずに「?」になってしまうので注意。
「There were undefined references.」が出るようなら、どこかに \cite あるいは \label, \ref の指定間違いがある (\cite 指定の間違いの場合、jbibtex コマンドを実行した段階で警告メッセージが出ているはずである)。
毎回上の 1. から 4. までを全てしなければならないわけではない。前回に作業をして以降、参照する文献が全く変わっていなければ (\cite の加除がなく、Bib ファイルにも変更がなければ)、3. と 4. だけでよい (1. と 2. はいらない)。また、3. の段階で「Label(s) may have changed.」が出なかったら 4. もいらない。
文書の文字コードと TEX コマンドの標準の文字コードが違っていたら、platex␣-kanji=utf8␣△△△  のように明示的に文字コードを指定する必要がある場合もある (jbibtex でも同様)。また、一旦間違った文字コードでplatex や jbibtex を実行してしまった場合、△△△.aux や △△△.bbl (△△△.bib ではない) を消さないと正しい文字コードを指定し直しても正常に処理できない場合がある。
例として 1 節の p.1 や p.3 などに示した Kamo00, Fujita14, 加藤14, 藤田12, 山西11, Bratman87, Weisstein の 7
項目を内容に持つ Bib ファイルの場合、TEX 文書内で \cite{Kamo00}, \cite{Fujita14}, \cite{加藤14}, \cite{藤田12}, \cite{山西11}の 5 つを参照しているとすると、本文書の末尾に示すような参考文献節のうち [2, 3, 5, 6, 7]だけのもの4 が生成される (jplain スタイルの場合)。参照していない Bratman87 と Weisstein は通常、参考文献節に出てこない (ただし末尾に示すものは、1 節に述べた「特別な指定」をしているので5 、参照していない Bratman87と Weisstein も参考文献として出ている)。参考文献の順序は、第 1 著者の姓のアルファベット順 (日本語の姓の場合は文字コード順) にソートされるので、本文中で \cite で参照された順番にはならない (スタイルを junsrt にすればソートされないので、本文中で参照された順番になる)。
2 論文などでは、本文中で参照した文献のみを「参考文献」として挙げるのが一般的な作法である (本文中で言及しなければ参考文献にも挙げなくてよいという意味ではない。研究背景について本文中で十分サーベイするのは大前提であり、その上での話である)。
3 正確には T X ファイルではなく aux ファイルの名前を指定する (その「.aux」を省略する) からである。
E
4 むろんその場合、番号は [2, 3, 5, 6, 7] ではなく 1 からの通し番号で [1, 2, 3, 4, 5] と付く。
5 Bratman87, Weisstein の参考文献としての出力のされ方を例として示すためにそうしている。

5

番外AUCTEX 利用時の操作

ここでなぜ (YaTeX や Emacs の TEX モードでなく) AUCTEX の話をするのかといえば、著者が使っているのがAUCTEX だからである。
AUCTEX を使って 3 節の 1. ∼ 4. の操作をする場合、AUCTEX は jbibtex コマンドを実行するタイミングを検知できない。従って、まず 1. を Ctrl-C Ctrl-C で行った後、続いて 2. の jbibtex コマンドを実行しようとして Ctrl-C Ctrl-C を押しても、そのままではミニバッファに「Command (default LaTeX):」あるいは「Command (default View):」が表示され、これでは jbibtex が実行できない。
この場合、その段階でミニバッファに「BibTeX」と入力する。全部入力しなくても、補完が効くので「B」(小文字でも可) だけ入れて Tab を押せば「Bib」まで、さらに「T」(小文字でも可) だけ入れて Tab を押せば「BibTeX」まで入る。しかる後に Enter を押せば jbibtex コマンドが実行される。入力するのが j なしの「BibTeX」であっても、日本語文書の場合は (AUCTEX がちゃんと設定されていれば) jbibtex が起きるはずである (このあたりの事情は、「Command (default LaTeX):」と表示されていても日本語文書なら platex が起きるのと一緒)。
引き続き platex コマンドを実行するのは、いつもと同じ Ctrl-C Ctrl-C でできる。

参考文献[1] Michael E. Bratman. Intention, Plans, and Practical Reason. Harvard University Press, 1987. (門脇俊介, 高橋久一郎(訳). 意図と行為—合理性、計画、実践的推論—, 産業図書, 1994).
[2] Megumi Fujita, Yuki Goto, Naoyuki Nide, Ken Satoh, and Hiroshi Hosobe. Logic-based and robust decision making
for robots in real world. In Proc. of AAMAS 2014, pp. 1685–1686, 2014.
[3] Hiroyasu Kamo, Kiko Kawamura, and Izumi Takeuti. Computational complexity of fractal sets. Real Analysis Exchange, Vol. 26, No. 2, pp. 773–794, 2000.
[4] Eric W. Weisstein. Delta function. http://mathworld.wolfram.com/DeltaFunction.html. A Wolfram Web
Resource (2017 年 2 月 8 日閲覧).
[5] 藤田恵. BDI モデルに基づく自律エージェントの行動決定アルゴリズムの拡張および応用. 博士論文, 奈良女子大学大学院人間文化研究科, 2012.

[6] 山西康世. MUA における分類学習機能の実装. 修士論文, 奈良女子大学大学院人間文化研究科, 2011.
[7] 加藤暢, 高田司郎, 新出尚之. 数理論理学—合理的エージェントへの応用に向けて—. コロナ社, 2014.

6