要約
この回では、文献データベースの文献を引用し、それをもとに参考文献リストを作る方法を学ぶ。補助プログラム Biber とともに BibLaTeX を読み込む方法と、babel を使うときに BibLaTeX が併せて求める csquotes の読み込みを示す。Biber がエンジンの二回のパスの間で実行されるコンパイルの流れ、各プログラムが作るファイル、そして latexmk がこの流れを自動でたどるしくみを説明する。引用命令 \cite、\parencite、\textcite、\autocite を、前注と後注、\citeauthor と \citeyear、複数文献の同時引用とともに取り上げる。同じ文章を著者年方式、番号方式、圧縮番号方式、略号方式で比べる。\printbibliography がリストの見出し、見出しの種類、並び順、絞り込みをどう決めるか、そして日本語の文書で BibLaTeX がどんな語を印字するかを示す。最後に、よく出る警告とそれぞれの意味を扱う。
学習目標
- BibLaTeX を Biber と csquotes とともに読み込み、
\addbibresourceでデータベースを宣言する。 - Biber を含むコンパイルの流れと各段階が作るファイルを説明し、それを手作業で、latexmk で、または Texmaker で実行する。
- 引用の文法上の役割に応じて
\cite、\parencite、\textcite、\autociteを使い分け、前注と後注を書く。 - 同じ引用が著者年方式、番号方式、圧縮番号方式、略号方式で何を印字するかを、文献が受け取る番号も含めて予測する。
- 見出し、見出しの種類、並び順、エントリタイプやキーワードによる絞り込みを備えた参考文献リストを作る。
- 未定義の引用、Biber の実行待ち、空の文献リストという警告の意味を読み取り、その原因を直す。
BibLaTeX の読み込み
文献データベースの回では、各文献を一度だけ .bib ファイルに登録し、それを識別するキーを付けることを見た。この回はそのデータベースを前提に、仕事のもう半分を扱う。本文でキーによって文献を引用し、引用と参考文献リストを LaTeX にまとめて組ませることである。そのための道具が BibLaTeX パッケージで、引用とリストの体裁を整える。それを助けるのが外部プログラム Biber で、データベースを読み、文献を並べ替え、エンジンのために準備する。この回の例では次のデータベースを使う。生物学の論文、科学史の研究書、著者が四人の情報科学の教科書、スペイン語の評論、そして編者のいる哲学の論文集である。
@book{kuhn1962, author = {Kuhn, Thomas S.}, title = {The Structure of Scientific Revolutions}, year = {1962}, publisher = {University of Chicago Press}, location = {Chicago}, keywords = {科学},}@article{watson1953, author = {Watson, James D. and Crick, Francis H. C.}, title = {Molecular Structure of Nucleic Acids: A Structure for Deoxyribose Nucleic Acid}, journal = {Nature}, volume = {171}, number = {4356}, pages = {737--738}, year = {1953}, keywords = {科学},}@book{cormen2009, author = {Cormen, Thomas H. and Leiserson, Charles E. and Rivest, Ronald L. and Stein, Clifford}, title = {Introduction to Algorithms}, edition = {3}, year = {2009}, publisher = {MIT Press}, location = {Cambridge, Mass.}, keywords = {科学},}@book{ortega1930, author = {Ortega y Gasset, José}, title = {La rebelión de las masas}, year = {1930}, publisher = {Revista de Occidente}, location = {Madrid}, keywords = {人文},}@book{barnes1995, editor = {Barnes, Jonathan}, title = {The Cambridge Companion to Aristotle}, year = {1995}, publisher = {Cambridge University Press}, location = {Cambridge}, keywords = {人文},}このファイルは fuentes.bib という名前で文書と同じフォルダに保存する。プリアンブルに加えるのは三行で足りる。csquotes、オプション付きの BibLaTeX、そしてデータベースの宣言である。オプション backend=biber は補助プログラムを指定し、style は引用とリストの様式を選ぶ。命令 \addbibresource はデータベースを宣言し、拡張子まで含めた完全なファイル名を要求する。\addbibresource{fuentes} と書くと、Biber はちょうど fuentes という名前のファイルを探し、「Cannot find 'fuentes'!」というエラーで止まる。本文では、\printbibliography を書いた位置にリストが組まれる。
リストには引用した文献だけが載る。残りの四つはデータベースにあるが、本文が引用していないからである。2 行目と 3 行目は第 1 単元で説明した日本語のための設定である。BibLaTeX が印字する語は言語ごとのファイルから取られるが、日本語のファイルはなく、ここでは babel も読み込んでいないので、英語が使われる。見出しの「References」も英語のファイルから来ており、report と book のクラスでは「Bibliography」になる。これを「参考文献」に変えるには、後で見る title オプションを使う。jlreq や ltjsarticle のような日本語用のクラスを使っても、BibLaTeX の語は同じように英語になる。
なぜ csquotes が要るのか。BibLaTeX は論文や章の題名を引用符で囲み、言語に合った引用符を選ぶために csquotes に頼る。これは注・引用・韻文の回で学んだパッケージである。babel がなければ csquotes は英語の様式を使い、ここでは英語の題名にちょうど合う。babel を使う文書では、BibLaTeX は babel を見つけて csquotes が見つからないと、ログで「'babel/polyglossia' detected but 'csquotes' missing. Loading 'csquotes' recommended.」と知らせる。推奨される順序は例のとおりで、言語の設定、csquotes、そして BibLaTeX である。
コンテンツを読み込んでいます…