PR

【LaTeX】参考文献のかき方をわかりやすく

LaTeX
記事内に広告が含まれています。

\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コマンドの出力例

\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は,以下の順に用います。

  1. 各文献情報を特定の形式で別ファイル(.bib ファイル)に記す
  2. 本文中の,文献を出力したい場所に \bibliography{.bibファイルのファイル名} とかく。各文献を参照したい場所に \cite{ラベル名} をかく。
  3. 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:algRudin:RCA はラベル名で,\cite{ラベル名} で参照するときに用います。

author は著者で,「性, 名」(コンマ必要)か「名 性」の順にかきます。複数の著者がいる場合は,Lang, Serge and Rudin, Walter のように and で区切ります。

他にも,titlepublisher などさまざまなものがあります。かく順番は順不同です。この辺のかき方について,詳しくは以下で解説しています。

実際のところは,この辺のかき方はちゃんと覚えなくて良いです。多くの場合,Google scholar などが提供しているBibTeX情報をコピペして持ってくれば良いです。数学科の学生なら,MathSciNet 等を使いましょう。必要に応じて,コピペした情報を手直しします。

2. 本文の書かれたファイルに文献挿入のコマンドを書く

参考文献を書きたい場所(ふつうは末尾,\end{document} の手前)に以下のように記入しましょう。

\bibliographystyle{abbrv} %日本語の場合は jabbrv などとする
\bibliography{.bibファイル名}

.bib ファイル名のところには,たとえば,ステップ1でのファイル名が reference.bib なら reference のように指定します。\bibliography{reference1,reference2} のように複数のファイルを指定することもできます。

\bibliographystyle{abbrv} は,文献情報の出力形式を指定します。代表的なものは以下です。

bibliographystyle日本語の場合説明
plainjplain標準的なスタイル
abbrvjabbrv著者名が W. Rudin のように省略形になる
unsrtjunsrt文献をアルファベット順にソートせず,引用順にする
alphajalpha文献番号が [Lan02] や [Rud87] のようになる
amsplainAMS (Amarican Mathematical Society) の plain スタイル
amsalphaAMS (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 パッケージがあります。

この辺も,公式ドキュメントなどを見てください。

関連する記事

参考

  1. 奥村晴彦, 黒木裕介「LaTeX 美文書作成入門」(技術評論社, 第9版, 2023)