ブラウザで Pandoc CSL 引用スタイルを設定する:APA・Chicago・Vancouver
Pandoc は、引用キーだけが並んだ文書を、本文中の整形済み引用と文献リストを備えた完成形へと変換できます。その仕組みの中核は citeproc で、現在は pandoc 本体に組み込まれており、従うスタイルは CSL(Citation Style Language)で記述されています。pandoc をコマンドラインで動かしても、WebAssembly にコンパイルしてブラウザのタブ内で動かしても、挙動はまったく同じです。
本記事では、CSL とは何か・スタイルファイルの入手先、citeproc が信頼できる BibTeX 文献ファイルの作り方、同じ入力が APA・Chicago・Vancouver でどう変わるのか、そして完成テキストに引用キーがそのまま残ってしまう原因となるミスについて解説します。
CSL とは
CSL は Citation Style Language の略で、引用と文献エントリーの見た目を厳密に記述する XML 形式です。年をどこに置くか、タイトルをイタリックにするか、ページ範囲をどう圧縮するか、といった点まで定義します。主要なスタイルはすべて CSL ファイルとして存在し、Zotero Style Repository だけでも APA や Chicago から個別ジャーナルのハウススタイルまで数千種類が公開されています。
スタイルはコードではなくファイルとして存在するため、規約を切り替えるには文書を編集するのではなくファイルを差し替えるだけで済みます。特定のフォーマットを義務付けるジャーナルはたいていスタイル名を明示しており、対応する CSL ファイルはリポジトリから設定不要でダウンロードできます。
citeproc が引用を解決する仕組み
原稿の中で、引用は @ 記号を使ってインラインで書きます。角括弧で囲んだキーは括弧付き引用になり、文中に直接書いたキーは著者名が本文の一部となる叙述引用になります。ページや章などのロケーターはキーと一緒に記述するため、角括弧の中に含められます。
変換時、citeproc は各キーを読み取り、文献ファイルで照合し、解決したエントリーを CSL スタイルに渡して整形します。同じパスで引用されたすべてのエントリーが集められ、文書末尾、または id が refs のブロック要素で指定した位置に参考文献リストが追加されます。キーは自分で決めるラベルであり、何か問題が起きない限り出力に現れることはありません。
スタイルファイルの入手
Zotero Style Repository では出版社名やキーワードで検索でき、ワンクリックで .csl ファイルをダウンロードできます。スタイル名は注意深く読みましょう。Chicago には脚注を生成する note-bibliography 版と、括弧付き引用を生成する author-date 版があり、両者は別ファイルです。
ジャーナルがファイルではなく書式の指示だけを公開している場合は、まずリポジトリでジャーナル名を検索してください。数千誌が収録されており、メンテナンスされているファイルは手編集のものより確実です。見つからない場合は、最も近い親スタイルを使えば草稿としては十分なことがほとんどです。
.bib ファイルの準備
文献ファイルはキーとメタデータを対応付けます。BibTeX 形式では、各エントリーが article・book・inproceedings などのタイプで始まり、続いて自分で決めるキー、さらに author、title、year、journal、DOI などのフィールドが並びます。キーは本文中で入力するものなので、長く正確なものより短く覚えやすいものが適しており、著者・年・単語のような安定した命名規則にしておくと、数年後に見返しても草稿が読みやすいままです。
フィールドの充実度はそのまま出力に表れます。年が欠ければ APA の引用に空白ができ、DOI が欠ければ読者がたどるはずのリンクが消えます。title フィールド内で固有名詞を二重の波括弧で囲むと大文字表記が保護されます。BibTeX はスタイルの規則に合わせてタイトルを小文字化することがあるためです。
同じ入力、三つの出力
角括弧付きキーと叙述キーを 1 つずつ含む 1 行を例に考えます。author-date 系の APA では、角括弧の引用は括弧内の姓と年に、叙述引用は著者名の後に括弧付きの年が続く形になり、文献リストはアルファベット順に並びハンギングインデントが付きます。Chicago の note-bibliography 版では、同じ引用が番号付き脚注になり、初出は完全形式、以降は短縮形式になります。
医学分野で一般的な Vancouver では、引用はアルファベット順ではなく初出順に番号付けされた角括弧内の連番になります。三つすべてで本文は一字も変わりません。キーも .bib ファイルも文書も同一のまま、差し替えるのは CSL ファイルだけです。これこそがこのフォーマットの趣旨であり、早めに設定しておくべき理由です。
ブラウザで引用処理を実行する
このサイトでは、Pro の引用オプションで 2 つのファイルをアップロードできます。参考文献を収めた .bib ファイルと、使いたいスタイルの .csl ファイルです。処理はすべてブラウザの worker 内で行われ、citeproc は変換を実行する Pandoc エンジンと同じ仕組みの一部なので、キーの解決結果はコマンドラインとまったく同じです。
手順は短く、いつもどおり @ キーで文書を書き、プロジェクトごとに .bib ファイルを 1 つ用意し、投稿先ジャーナルが要求するスタイルファイルを載せて変換するだけです。後で投稿先を変える場合も、引用を書き直すのではなく、別の .csl ファイルをアップロードすれば済みます。
よくあるエラーと対処法
最も多い失敗はキーの不一致です。本文が引用しているキーが .bib ファイルに定義されておらず、pandoc は見つからない参照について警告を出しながら、角括弧付きの生テキストを出力に残します。キーのスペルを確認し、意図したファイルが実際にアップロードされているか確かめてください。
大文字小文字の問題は title フィールドに起因します。スタイルが要求すると、頭字語や固有名詞が小文字化されてしまいますが、.bib ファイルの二重波括弧による保護はそれを防ぐためにあります。フィールド欠落は空白や不完全な引用として現れるので、提出前にレンダリング済みの文献エントリーを 1 件点検すれば、大半の問題を発見できます。
ブラウザ出力とコマンドラインの比較
ブラウザ版は同じ Pandoc エンジン内で同じ citeproc 実装を動かすため、入力とバージョンが同じなら、整形済みの引用と文献リストはコマンドラインが生成するものと同一になります。間に簡易的なフォーマッターは挟まっていません。
この等価性により、ブラウザは投稿用ドラフトを用意する正当な場所になります。スタイルを適用し、レンダリングされた参考文献を確認し、引用がすでに投稿先ジャーナルに合致した文書を査読者に渡せます。このサイトのコンバーターは .bib と .csl の処理をブラウザ内に留めるため、未公開の原稿も自分のマシンから出ません。