🅿️

Pandocで参考文献が辛い話 (PandocとZoteroで参考文献:余談編)

2020/12/06に公開1

この記事は前編・後編(+余談編)で構成されています。

「Pandocで参考文献」の課題

後編までの説明で「Pandocで参考文献できるぞ!」という話をしてきました。

こだわりがなければ、和文向けには前述のSIST02を使うのが手っ取り早いです。そのまま使うならファイルをコピーするだけですし、ちょっとしたカスタマイズであれば比較的容易です(後述)。また欧文の論文を書く際には、定番とされる参考文献スタイル(シカゴスタイルなど)は一通り揃っています。

しかし実際に“まともな”和文の参考文献リストをPandocでつくるには、課題がいくつかあります。特に「論文を書きたいが、学会誌で参考文献の形式が決まっている(もしくはbstファイルが指定されている)」という事情であれば、相当な工夫が必要となります。

CSLを使う

そもそもCSLは、日本語圏においてあまり情報がありません[1]

また、和文向けCSLファイルの数も少ないのが現状です。2つのCSLリポジトリにおいて「japan」で検索した結果は下記の通りです。

解決策としては、自分でCSLをカスタマイズすることが挙げられます。

  • 方法A:テキストエディタでCSLファイル(XML)を開いて、頑張って修正する
  • 方法B:GUIベースのCSLエディタでCSLファイルをカスタマイズする

方法Bは、Mendeleyが提供しているCSL Editorが利用できます。既存のCSLファイルをベースに、ブラウザベースのGUIでCSLファイルの編集が可能です。

公式資料としては、Mendeleyを提供しているElsevierやCSLプロジェクトが資料を公開しています。

具体例としては「徳島大学附属図書館蔵本分館日誌」のブログ記事が参考になるかもしれません。

BibLaTeXを使う

LaTeXでは参考文献のために、BibLaTeX(BibTeXではない)を用いることも可能です。BibLaTeXの特徴は、LaTeXの文法を用いて参考文献スタイルを高度にカスタマイズできる点です。またPandocでは --biblatex オプションで利用できます(この場合citeprocは使用されません)。

しかし実際にPandoc+BibLaTeXを使うには、多少のコツが必要です。詳細は次の記事を参照してください。

そして致命的なこととして、BibLaTeXではBibTeXのbstファイルはそのまま使えません。自分でカスタマイズするにしても「和文と欧文のまじった文献リストを適切な書式と順序で表示する」ことはBibLaTeXでは難しいようです。

参考:

参考文献の処理をすべてLaTeX側に任せる

どうしてもpBibTeX向けの既存bstファイルをそのまま使いたい場合は、Pandoc側で参考文献を処理することを諦める選択肢もあります。その際の方針は次のとおりです。

  • 本文のみをPandocでLaTeXファイルに出力する
    • -s オプションを使わない場合(本文のみ)
      • LaTeXファイル側でテンプレートを作り、出力ファイルを\begin{document}以下に\inputなどで読み込む
    • -s オプションを使う場合(スタンドアロン文書)
      • Pandocのテンプレートをカスタマイズする(pandoc -D latex > template.tex で既定テンプレートを出力可)
  • --citeproc--bibliography オプションを指定しない
  • Pandoc's Markdownに\cite\bibliographyなどを直接埋め込む
  • LaTeXはpLaTeXを使う
  • pBibTeX(BibLaTeXではない)を使って文献を処理する

注意としては、Pandocは原則としてUTF-8のテキストしか入出力できません。既存のLaTeXテンプレートがShift_JISやEUC-JPなどの場合は、Pandocの出力(UTF-8)をnkfコマンドやiconvコマンドなどで変換する必要があります。

また内部がUnicode化されているupLaTeX/upBibTeXについては、pLaTeXの標準文書クラス(jarticle/jreport/jbook)はそのまま使えません[2]。pLaTeX前提の文書クラス(学会誌専用の文書クラスなど)も、upLaTeXで使えるとは限らないので注意が必要です。

LaTeX側で参考文献リストをつくる方法は、下記の資料などを参照してください。

おわりに

以上、「Pandocで参考文献」がつらい話をしました。

CSLもBibLaTeXも、BibTeXに比べると日本語圏の情報があまり存在しません。その割には両者ともPandocが推しているため、参考文献に関してエコシステムをPandocに寄せようとすると特に和文で苦労するのが現状です。個人的にはCSLのエコシステムが日本語圏においても発展してくれたら幸せなように思います。

脚注
  1. いくつかの大学の附属図書館では、論文管理ソフトの講習会が開かれることがあります。そこでCSLおよびそのカスタマイズに関する情報が得られるかもしれません。私の出身大学では、MendeleyとEndNoteの講習会があったようです。 ↩︎

  2. [改訂新版]upLaTeXを使おう - Qiita ↩︎

Discussion

rayfiyorayfiyo

「pandoc 辛い」でこの記事を見つけました.共に共感する人がいたことに救われました.記事を書き,公開してくださり,ありがとうございました.