\LaTeX において,参考文献(リファレンス)をかく基本的な方法をわかりやすく解説します。
自分で参考文献をかいてそれを参照する方法と,BibTeXを用いた自動化について解説します。
自分で参考文献をかいてそれを参照する方法
まずは,自分で参考文献を書いてそれを参照する方法を述べましょう。文献参照のうえで,ここの理解は必須です。
thebibliographyからのciteによる参照
参考文献を列挙するには,参考文献を出力したい場所で thebibliography
環境を用います。使い方は以下です。
\begin{thebibliography}{※文献番号で一番長いものをかく※}
ここに各文献情報を記述
\end{thebibliography}
※には,文献番号で一番長いものを記述します。ここに入力した文字列自体の長さで,文献の字下げ位置が変わります。単に各文献番号を [1], [2] のように数字で出力するならば,文献数に応じて,\begin{thebibliography}{9}
や \begin{thebibliography}{99}
のようにしておけばよいです(文字列の「長さ」が大事なので別に \begin{thebibliography}{1}
や \begin{thebibliography}{23}
でも同じです)。
各文献情報を記述するには,\bibitem{ラベル名}
の形で記述します。ラベル名には,本文中で文献を参照するのに用います。
例を見るのが一番手っ取り早いと思うので,例を挙げましょう。
\begin{thebibliography}{9}
\bibitem{Lang:alg}
S.~Lang.
\newblock {\em Algebra}, volume 211 of {\em Graduate Texts in Mathematics}.
\newblock Springer-Verlag, New York, third edition, 2002.
\bibitem{Rudin:RCA}
W.~Rudin.
\newblock {\em Real and complex analysis}.
\newblock McGraw-Hill Book Co., New York, third edition, 1987.
\bibitem{Rudin:FA}
W.~Rudin.
\newblock {\em Functional analysis}.
\newblock International Series in Pure and Applied Mathematics. McGraw-Hill, Inc., New York, second edition, 1991.
\end{thebibliography}
~
は改行禁止のスペースです。\newblock
はブロックを分ける命令で,スペースを増やすために用いています。これをコンパイルすると,以下のような出力が得られます。
jsarticle
などの日本語のクラスの場合は,Refecenceの部分が「参考文献」となるはずです。
実際に文献を引用するには,本文中で \cite{ラベル名}
や \cite[補足]{ラベル名}
とします。ラベル名は \bibitem{ラベル名}
で定義したものを用います。上であれば Lang:alg, Rudin:RCA, Rudin:FA
です。たとえば,
The following theorem is due to~\cite{Lang:alg} and~\cite[Theorem 3.3]{Rudin:RCA}.
などとします(~
は改行禁止のスペースです)。この際,1回コンパイルしただけでは,文献番号が [?] となることがありますから,複数回コンパイルしてください。出力結果が以下です。
\cite{Lang:alg,RudinRCA}
とすると,[1,2] とすることもできます。
番号の出力形式を変える方法
[1], [2] ではなく,[Lang02] のように,番号の出力形式を変えたいときは,各 \bibitem
について,
\bibitem[出力形式]{Lang:alg}
のように,オプションをつけます。たとえば,上について,
\begin{thebibliography}{Rudin87}
\bibitem[Lang02]{Lang:alg} 中略
\bibitem[Rudin87]{Rudin:RCA} 中略
\bibitem[Rudin91]{Rudin:FA} 中略
\end{thebibliography}
とすると,出力は以下のようになります。最初の \begin{thebibliography}{長さ}
のところで Rudin87
と,文献番号で一番長いものが指定されていることに注意してください。
このように文献番号を変えると,\cite
としたときの番号も [Lang02] のように変わります。
BibTeXを用いる方法
上の方法でも良いですが,一つ一つ文献情報をアルファベット順に記載していくのは苦行以外の何でもありません。文献が増えてくれば,BibTeXを用いた文献管理を検討しましょう。
BibTeXは,以下の順に用います。
- 各文献情報を特定の形式で別ファイル(
.bib
ファイル)に記す - 本文中の,文献を出力したい場所に
\bibliography{.bibファイルのファイル名}
とかく。各文献を参照したい場所に\cite{ラベル名}
をかく。 pdflatex -> bibtex -> pdflatex -> pdflatex
の順に4回コンパイルする(日本語の場合はptex2pdf(platex/uplatex) -> pbibtex -> ptex2pdf -> ptex2pdf
)
すると,アルファベット順に並び替えられた文献リストと,正しい参照が得られます。
ひとつずつ解説していきましょう。
1. .bibファイルに各文献情報を記す
拡張子を .bib
として,ドキュメントのファイルと同じフォルダ上にファイルを作り,各文献情報を並べましょう。書き方の例は以下の通りです。
@book{Lang:alg,
author = {Lang, Serge},
title = {Algebra},
series = {Graduate Texts in Mathematics},
volume = {211},
edition = {Third},
publisher = {Springer-Verlag, New York},
year = {2002},
}
@book{Rudin:RCA,
author = {Rudin, Walter},
title = {Real and complex analysis},
edition = {Third},
publisher = {McGraw-Hill Book Co., New York},
year = {1987},
}
最初の @book
が文献の種類です。@book
の他にも,@article
や @incollection
などさまざまなものが指定できます。その直後の Lang:alg
や Rudin:RCA
はラベル名で,\cite{ラベル名}
で参照するときに用います。
author
は著者で,「性, 名」(コンマ必要)か「名 性」の順にかきます。複数の著者がいる場合は,Lang, Serge and Rudin, Walter
のように and
で区切ります。
他にも,title
や publisher
などさまざまなものがあります。かく順番は順不同です。この辺のかき方について,詳しくは以下で解説しています。
実際のところは,この辺のかき方はちゃんと覚えなくて良いです。多くの場合,Google scholar などが提供しているBibTeX情報をコピペして持ってくれば良いです。数学科の学生なら,MathSciNet 等を使いましょう。必要に応じて,コピペした情報を手直しします。
2. 本文の書かれたファイルに文献挿入のコマンドを書く
参考文献を書きたい場所(ふつうは末尾,\end{document}
の手前)に以下のように記入しましょう。
\bibliographystyle{abbrv} %日本語の場合は jabbrv などとする
\bibliography{.bibファイル名}
.bib
ファイル名のところには,たとえば,ステップ1でのファイル名が reference.bib
なら reference
のように指定します。\bibliography{reference1,reference2}
のように複数のファイルを指定することもできます。
\bibliographystyle{abbrv}
は,文献情報の出力形式を指定します。代表的なものは以下です。
bibliographystyle | 日本語の場合 | 説明 |
---|---|---|
plain | jplain | 標準的なスタイル |
abbrv | jabbrv | 著者名が W. Rudin のように省略形になる |
unsrt | junsrt | 文献をアルファベット順にソートせず,引用順にする |
alpha | jalpha | 文献番号が [Lan02] や [Rud87] のようになる |
amsplain | AMS (Amarican Mathematical Society) の plain スタイル | |
amsalpha | AMS (Amarican Mathematical Society) の alpha スタイル |
この状態でコンパイルしても,エラーが出ると思います。BibTeXは,本文中に \cite{}
引用された文献しか参考文献に載せないためで,まだ一つも \cite
していない状態だと出力するものがありません。実際に本文中で \cite{Lang:alg}
や \cite[Theorem 4.5]{Lang:alg}
のように参照してからコンパイルしましょう。\cite
コマンドの使い方は上のBibTeXを用いない場合と全く同じです。
なお,引用された文献以外も載せたい場合は,\nocite{*}
とかきます。 特定の文献のみを載せたい場合は \nocite{Lang:alg,Rudin:RCA}
などとします。
上に紹介した以外のスタイルに関しては,以下の記事で解説しています。
3. コンパイル
ドキュメントのファイルを main.tex
とすると,以下の順に4回コンパイルします。
pdflatex main
bibtex main
pdflatex main
pdflatex main
日本語なら,
ptex2pdf main
pbibtex main
ptex2pdf main
ptex2pdf main
などとします。これで正しく出力されるはずです。
この際,main.bbl
というファイルが生成されます。これは,BibTeXを用いない方法で解説した,\begin{thebibliography}{9} ...\end{thebibliography}
のコマンドが書かれています。
実際は main.bbl
の中身を main.tex
にコピペして,必要に応じて手直しを行い,BibTeXを使わずにコンパイルすることも多いです。
さらなる発展
citeの形式を変更する方法
citeの形式を [1,2,3] から [1-3] にしたり,上付き文字にしたい場合は,cite
パッケージ や overcite
パッケージを用いるとよいです。
この辺は,公式ドキュメントや,以下に挙げる参考文献を見てください。
BibTeXのさらにその先へ
BibTeXを新しくしたもの・拡張したものとして,amsrefs
パッケージや biblatex
パッケージが知られています。他にも,natbib
パッケージがあります。
この辺も,公式ドキュメントなどを見てください。