LaTeXにおける参考文献リストの作り方は大きく分けて3種類です。
数字が大きくなるほど自動化の度合いは高くなっています。それぞれの方法について見ていきましょう。
全て手入力で行う場合と半分手入力(半自動)で行う場合にはthebibliography環境を使用します。thebibliography環境は参考文献を出力するための標準的な環境で、基本的な構文はitemize環境に似ています。例えば以下のような参考文献リストを出力したいとしましょう。
図25. 参考文献リスト例
これを出力するには以下のように記述します(赤字が相当部分です)。
\documentclass[dvipdfmx]{jsarticle}
...
\begin{document}
...
\begin{thebibliography}{9}
\item 塚原壮平, 「初めてのLaTeX講座」, 九大新書, 2023.
\item 塚原壮平, 「素粒子物理学入門」, きゅうり図書, 2023.
\end{thebibliography}
\end{document}
\begin{thebibliography}{9}の{9}は参考文献の数が1桁であることを表しています。2桁であれば{99}、3桁であれば{999}としておきましょう。数が不明である場合は{99999}のように長めに設定しておくことをお勧めします。この方法では\item以下が参考文献リストとして出力されますが、文中で参照する際の参照番号は自分で入力する必要があります。つまり、途中で参考文献リストを修正した場合は、逐一その引用箇所に立ち返って修正しなければならないということです。この悪夢を回避するには、\itemを\bibitem{hogehoge}と変更します。下記のような感じです。
\begin{thebibliography}{9} \bibitem{LaTeX} 塚原壮平, 「初めてのLaTeX講座」, 九大新書, 2023. \bibitem{素粒子} 塚原壮平, 「素粒子物理学入門」, きゅうり図書, 2023. \end{thebibliography}
\bibitemを用いる場合は、文中で引用する際も\cite{hogehoge}とします。
塚原は自身のLaTeX講座の集大成として学習ガイド「はじめてのLateX」を執筆した\cite{LaTeX}。
これをコンパイルすると次のように出力されます。
図26. \bibitemを用いた参考文献の出力例
このようにしておけば、執筆途中に参考文献リストの修正があったとしても、修正に応じて参照番号が自動的に修正されるので、いちいち引用箇所まで戻る必要はなくなります。参照名(\cite{}の引数)は自由につけられますが、大文字小文字は区別されるのでお気をつけください。
bibliography環境は参照番号の記述を自動化しますが、参考文献リスト自体は自身で記述しなければなりません。この作業でさえ自動化を実現するのがBibTeXというツールです。BibTeXはOren Patashnikにより作成されたツールで、LaTeXと組み合わせることで文献データベースから自動的に参考文献リストを作ることができます。BibTeXを用いる場合は、大雑把には以下のような手順で文献リストを出力します。
1. TeXファイル(文書)とbibファイル(データベース)を用意
2. LaTeXを実行
3. BibTeXを実行
4. LaTeXを実行
5. もう1度LaTeXを実行
では具体的な実行例を順に見ていきましょう。BibTeXを扱うには文献データベースファイル=bibファイルを用意しておく必要があります。bibファイルとは拡張子が「bib」であるようなファイルで、どんなテキストエディタで作成しても構いません。作り方については次のボックスで後述するとして、その中身の一例をお見せします。
@article{ abstract="hogehoge", author="Sohei Tsukahara", DOI="hogehoge", title="An Introduction to LaTeX Cording", year=2023 } @book{ ... }
複雑な様相をしているように見えますが、@〇〇{~}が1つの文献データに対応していると分かれば作り自体は単純です。中身には概要(abstract)、著者(author)、DOI、題目(title)、出版年(year)などの情報が記載されています。これらの順番は出力に影響しませんので、どのように並べても大丈夫です。
次にtexファイル側に移ります。texファイルの参考文献リストを出力したい位置(大体末尾だと思います)に次のように書いておきましょう。
\bibliographystyle{jplain}
\bibliography{LaTeXlec} %bibファイルの名前
1つ目の\bibliographystyle{jplain}はjplainという文献スタイルに沿って文献リストを出力せよ、という命令です。ここで、jplainというのはjplain.bstという最も一般的な文献スタイルファイルのことを指しています。他にも参照順に出力するjunsrtや論文誌独自のものなど様々な文献スタイルが用意されているので、必要に応じて調べてみてください(例えば奥村・黒木(2023)など)。2つ目の\bibliography{LaTeXlec}は文献データベースとしてLaTeXlec.bibを参照せよ、という命令です。ちなみにbibファイルはいくつあっても全く問題ありません。例えば「Stsuka.bib」というbibファイルも読み込みたいのであれば、
\bibliography{LaTeXlec,Stsuka}
のように記載してください。
ここまでできてしまえば準備完了です。まずはtexファイルをコンパイルしましょう。「referenceが定義されていない」などといったエラーをごちゃごちゃ吐きますが無視してください。
次にBibTeXを実行します。するとtexファイルとbibファイルのあるフォルダに新たに拡張子が「bbl」のbblファイルが出現します。
bblファイルの出現を確認したらtexファイルをもう一度コンパイルしましょう。この段階でもまだ「referenceが定義されていない」などとほざきつつ、新たに「相互参照を正しくするために再実行せよ」という指示をしてきます。実際、この段階で出力されたpdfでは、まだ参照番号の部分は[?]となっています。
ここでもう1度texファイルをコンパイルすると。今度は正しく表示され、めでたく文献リストも出力されます。
何度も実行作業があるので「かえってややこしいではないか」と思われてしまいそうですが、BibTeXの真価は論文や長大な文書を執筆する際にこそ発揮されます。BibTeXは文献データベースさえ用意しておけば、参考文献リストにその都度加筆する手間が省けます。つまり、よく引用する文献や使いそうな文献はとりあえずbibファイルに突っ込んでおけば、それ以降はそのbibファイルを使い回して引用するだけで良いことになります。また、文献リストの加筆修正が発生した場合、膨大な文献をthebibliography環境で管理していた場合はまさに悪夢ですが、BibTeXは引用している箇所(\cite{hogehoge}している場所)さえ加筆・修正すれば、末尾の参考文献リストは自動的に調整されるので、かなりエネルギーの節約になります。
さて、肝心のbibファイルの作り方についてですが、拡張子がbibであればどんなエディタで作成しても構いません。つまり、PCにデフォルトで入っているテキストエディタを用いても、Cloud LaTeXやOverleafのようなクラウドエディタを用いても、あるいはTeX Liveに付属しているTeXworksやMacTeXに付属しているTeXShopを用いてもなんでも良いということです。重要なのは拡張子がbibであるかどうかです。
bibファイルの中身の書き方は奥村・黒木(2023)にも詳述されていますし、全て手打ちする機会もないのでここでは省略します(仕様を知っておくことは重要なので、是非時間のある際にご一読ください)。以降では、実際に論文執筆などで必要となった場合の実践的な方法を2通りご紹介します。
まずは好きなエディタでbibファイルを用意しておきます。ここに前述した構造(@〇〇{~})をしている文献データを必要なタイミングで追加していきます。では肝心の文献データはどっから引っ張ってくるのか。実はこの文献データは大体の文献データベースには記載されています。例えばCiNii Researchを例にとってみましょう。試しに「string theory」と検索窓に入れて検索してみます。
図27. CiNii Researchの検索結果
たくさん文献が出てきましたね。ここでは一番上の文献を引用することにしましょう。リンクを踏むと次の画面が表示されます。
図28. 文献情報
右下にBibTeXで表示というリンクが表示されているのが分かるかと思います。これをクリックしてみましょう。すると、
図29. 文献データ
出ました!欲しかった文献データです。あとはこれをコピペしてbibファイルに貼り付けるだけです。以上の作業を文献ごとに繰り返していきましょう。最終的に次のような中身のbibファイルが出来上がっていくはずです(これは僕が修士論文を執筆していた際に実際に作成していたbibファイルです)。
図30. bibファイル
1の方法は必要になったら追加するという方法ですが、普段の研究や勉強の段階から、来たる論文・レポート執筆に向けてあらかじめ管理しておきたい方もいらっしゃるかと思います。そんな方には文献管理ソフトの活用をお勧めします。こちらはよりスマートな方法です。文献管理ソフトにも色々あるのですが、今回は代表的なものとしてMendeleyを取り上げましょう。本稿では文献をMendeleyにインポートする方法など基本的な操作についての解説は省略いたしますので、適宜こちらのガイドをご参照ください。
Mendeleyを開くと次のような画面になります。
図31. Mendeley
僕が適当にポイポイMendeleyに放り込んだ文献達が見えます。これらのうち、上から3つの文献情報をbibファイルとして出力したいとしましょう。3つの文献にチェックをつけます。すると、
図32. Mendeley上での文献の選択
ページ下部に「Export」というタブが出てきました。ここにカーソルを合わせると、「BibTeX」という選択肢があるので、こちらをクリックします。すると、無事先ほど選択した3つの文献の情報を含んだbibファイルが出力されます。実際、出力されたbibファイルを適当なエディタで開いてみると、
図33. 出力されたbibファイル
となっており、確かに3つの文献情報を含んだデータベースとなっていることがわかります。ちなみに、2つ目の文献でエラーが吐かれているのは参照名の部分が空欄になってしまっていることによるものです。Mendeley側に適切に文献情報が保存されていればこのようなエラーは基本起きませんが、万が一そのようなエラーを発見した場合は、適当な参照名を付けて解消するようにしましょう。