コンテンツへスキップ
Topos Uranos

要約

この回では、文献データベースの文献を引用し、それをもとに参考文献リストを作る方法を学ぶ。補助プログラム Biber とともに BibLaTeX を読み込む方法と、babel を使うときに BibLaTeX が併せて求める csquotes の読み込みを示す。Biber がエンジンの二回のパスの間で実行されるコンパイルの流れ、各プログラムが作るファイル、そして latexmk がこの流れを自動でたどるしくみを説明する。引用命令 \cite、\parencite、\textcite、\autocite を、前注と後注、\citeauthor と \citeyear、複数文献の同時引用とともに取り上げる。同じ文章を著者年方式、番号方式、圧縮番号方式、略号方式で比べる。\printbibliography がリストの見出し、見出しの種類、並び順、絞り込みをどう決めるか、そして日本語の文書で BibLaTeX がどんな語を印字するかを示す。最後に、よく出る警告とそれぞれの意味を扱う。

学習目標

  1. BibLaTeX を Biber と csquotes とともに読み込み、\addbibresource でデータベースを宣言する。
  2. Biber を含むコンパイルの流れと各段階が作るファイルを説明し、それを手作業で、latexmk で、または Texmaker で実行する。
  3. 引用の文法上の役割に応じて \cite、\parencite、\textcite、\autocite を使い分け、前注と後注を書く。
  4. 同じ引用が著者年方式、番号方式、圧縮番号方式、略号方式で何を印字するかを、文献が受け取る番号も含めて予測する。
  5. 見出し、見出しの種類、並び順、エントリタイプやキーワードによる絞り込みを備えた参考文献リストを作る。
  6. 未定義の引用、Biber の実行待ち、空の文献リストという警告の意味を読み取り、その原因を直す。

BibLaTeX の読み込み

文献データベースの回では、各文献を一度だけ .bib ファイルに登録し、それを識別するキーを付けることを見た。この回はそのデータベースを前提に、仕事のもう半分を扱う。本文でキーによって文献を引用し、引用と参考文献リストを LaTeX にまとめて組ませることである。そのための道具が BibLaTeX パッケージで、引用とリストの体裁を整える。それを助けるのが外部プログラム Biber で、データベースを読み、文献を並べ替え、エンジンのために準備する。この回の例では次のデータベースを使う。生物学の論文、科学史の研究書、著者が四人の情報科学の教科書、スペイン語の評論、そして編者のいる哲学の論文集である。

LaTeX コード
@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 を書いた位置にリストが組まれる。

例参考文献付きの最小の文書
LaTeX コード
\documentclass{article}\usepackage{luatexja-fontspec}\setmainjfont{Noto Serif CJK JP}\usepackage{csquotes}\usepackage[backend=biber, style=authoryear]{biblatex}\addbibresource{fuentes.bib}​\begin{document}\textcite{kuhn1962}によれば、通常科学は、ある共同体が模範として受け入れた過去の業績に支えられている。​\printbibliography\end{document}
結果
結果

リストには引用した文献だけが載る。残りの四つはデータベースにあるが、本文が引用していないからである。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 である。