10 文献引用の詳細設定

10.1 (u)pBibTeX を使う

.bst ファイルのスタイルを使いたい場合, (u)pBibTeX が必要であり, そのためには現在の R Markdown および rmdja の仕様では, YAMLフロントマターとグローバルオプションを変更する必要がある. 例えば jecon.bst を使いたい参考文献リストを出力したい場合, YAMLフロントマターは以下のような記述となる.

output:
  rmdja::pdf_book_ja:
    citation_package: natbib
    citation_options: numbers
biblio-style: jecon
bibliogpraphy: citations.bib

BibLaTeX では citation_options にスタイルまで指定していたが, natbib を選択した場合 biblio-style.bst ファイルを指定し, フォーマット関数の citation_options 引数は natbib.sty に対するオプションを指定する項目となる (トップレベルの natbiboptions でも可). 上記の例では numbers を指定しているため本文中の参照トークンは [1], [2, 3] のような番号形式となる. デフォルトは authoryear , つまり「著者 - 出版年」形式である.

次に, 最初のチャンク, またはコンソールでグローバルオプションを変更する.

options(tinytex.latexmk.emulation = F)

この状態で knit または build すれば .bst ファイルのスタイルが適用される.

このような操作が必要な理由を説明する. rmarkdowntinytex というパッケージでインストールされたスタンドアローンな LaTeX 処理系で PDF を生成している. しかしこれは (u)pBibTeX の使用が想定されていない. (u)pBibTeX は日本語コミュニティで開発されたマルチバイト文字対応版 BibTeX だから, rmarkdown 開発メンバーたちがこれらの存在に詳しくないのも仕方ないことだ (YiHui 氏は中国出身だが, 中国語圏では BibLaTeX を使うことが多いようだ). 冒頭のチャンクで options(tinytex.latexmk.emulation = F) を指定することで, 自分のマシンにインストールされた, おそらくあなたが普段使っているであろう LaTeX 処理系に処理させることができる. この方法では latexmk コマンドを使用してPDFの生成が行われる, その場合TeX Wikiに記載のあるように, 日本語出力のため .latexmkrc ファイルが必要となっている. rmdja では natbib を指定した場合に自動でカレントディレクトリに .latexmkrc をコピーするようにしている. しかしログが残らないなどデバッグしづらいところがあるため, このやり方はやや使いづらく LaTeX に対するそれなりの知識を要する. たとえばこの説明を読んで初めて latexmk の存在を知った, そもそも LaTeX をどうインストールしたか記憶がない, といった人は慣れるまで大変かもしれない.

10.1.1 (TODO) pandoc-citeproc と CSL について

TODO: せめて日本語文献の姓名表示をなんとかしたスタイルを用意する

10.1.2 (WIP) BibLaTeX について

BibLaTeX の全てのオプションに対応しているわけではないので詳しいことは BibLaTeX のドキュメントを読んでいただきたい. 残念ながら, 日本語の情報は非常に乏しい. ここではよく使う style のことだけ言及する.

citation_packages/biblatexoptions で指定できるのは, インクルード時の style= に指定できるものに対応する(表 10.1). つまり, 引用文献の見出しや, 表示順といった設定である. これは引用リストと本文中の引用子のスタイル両方に影響する.

表 10.1: biblatex の bilio-style で指定できるもの一覧
名称 概要
numeric ‘[1]’ のような番号
alphabetic 著者名の略称+出版年2桁
authoryear 著者-出版年形式, natbib の標準と同じ
authortitle 著者名のみ, リストでは出版年は後置され, 引用子では脚注になる
verbose authortitle と同じだが, 引用子にリスト同様の内容を出力する
reading 個人的なリーディングリスト向け. ファイルやメモ欄も出力する
draft .bib ファイルのIDで表示. 名前通り下書き
debug .bib の全フィールドを表示

その他 apa, ieee など特定の学会が使用するスタイルも用意されているが, これらは基本欧文しか想定していないし, アカデミックの事情に詳しい人しかこれらの使用にこだわらないだろうから詳しくは解説しない. これらを含めたそれぞれの出力例は https://www.overleaf.com/learn/latex/biblatex_bibliography_styles に一覧があるのでそちらを参考に. なお, 引用リストのスタイルと引用子のスタイルを個別にすることはできる (bibstyle/citestyle)

現時点では各分野の学会で日本語文献に対応した BibLaTeX フォーマットを配布しているという情報は見つけられなかった. 参考として私のブログで対応のヒントについて書いた22.

TODO: その他の非ラテン文字, キリル文字, アラビア文字 ヘブライ文字等は?

なお, 普段文献管理ソフトを使っていないが, 数本程度の文献を引用リストに載せたい利用者は, biblatex の構文を利用して書くのがよいかもしれない.