ツール連携(CSL / arXiv / 管理ソフト)

.bib ファイルは、LaTeX の中だけで完結するものではありません。その周りには、引用の体裁を司る CSL、DOI や arXiv から書誌情報を自動取得する仕組み、そして .bib を育て続ける 文献管理ソフト という広い生態系があります。このページでは、書く前後の「文献をどう集め、どう整え、どう出力するか」を一望します。

CSL と citeproc — biblatex の外の世界

CSL(Citation Style Language) は、引用と文献リストの体裁を記述する XML ベースのオープンな形式 です。「著者名は姓→名の順」「年は括弧で囲む」「2 人目以降は & でつなぐ」といった規則を、.csl というスタイルファイルに宣言的に書きます。雑誌ごとに異なる投稿規定を、この一枚で表現するわけです。

CSL の最大の利点は エンジンに依存しない ことです。BibTeX の .bst が BibTeX 専用、biblatex のスタイルが LaTeX 専用なのに対し、CSL はどの組版系にも縛られません。実際の整形は citeproc という処理系が担い、Zotero は JavaScript 実装の citeproc-js を、Word プラグインや各種ツールも別実装の citeproc を使って同じ .csl を解釈します。だから一つのスタイルファイルが Zotero でも Word でも Markdown でも通用します。

スタイルの宝庫が Zotero Style Repository です。学術誌から学会まで 8,500 種類以上(コミュニティ全体では 1 万を超える)のスタイルが、Creative Commons(CC BY-SA)で自由に使えます。CSL は Zotero 専用ではなく、ここから落とした .csl は CSL 対応ソフトなら概ねそのまま動きます。

この CSL を最もよく使うのが pandoc です。Markdown で原稿を書き、--citeproc を付けて変換すると、本文中の [@knuth1984] のような引用キーが整形済みの引用に置き換わり、末尾に文献リストが生成されます。LaTeX の biblatex を経由せず、Markdown から直接 PDF・Word・HTML へ文献付きで出力できるのが要点です。

terminal
pandoc paper.md --citeproc \
  --bibliography=refs.bib \
  --csl=ieee.csl \
  -o paper.pdf

--bibliography.bib(や CSL-JSON/RIS)を、--csl にスタイルを渡すだけです。--csl を省くと既定で Chicago author-date が使われます。--bibliography は複数回指定でき、.bib を分けて管理していても束ねられます。要するに pandoc + CSL は、**LaTeX を書かない人でも .bib 資産をそのまま活かせる** 経路だと考えてください。

biblatex / BibTeX と CSL の使い分け

同じ .bib を入力にできても、整形の担い手は別物です。下の表で住み分けを押さえておくと、「LaTeX なのか、それ以外なのか」で迷わなくなります。

観点BibTeX / biblatexCSL + citeproc
engine動く場所LaTeX の中(bibtex / biber)LaTeX の外でも(Zotero・Word・pandoc)
style-fileスタイル形式.bst(BibTeX)/ biblatex スタイル.csl(XML)
stylesスタイル数主要誌は揃うが作成は難しめZotero リポジトリに 8,500+
output得意な出力LaTeX → PDFWord・HTML・Markdown → PDF など
useこんなときにLaTeX で本格的な組版LaTeX を使わない/共著者が Word

どちらも入力は同じ .bib で構いません。つまり文献データベースは共通資産として保ち、出力経路だけ LaTeX(biblatex)か CSL(pandoc)かを選べばよい、というのが現代的な構えです。

書誌情報を自動で取り込む(DOI・arXiv)

.bib の項目を手で打つ必要はほとんどありません。論文には大抵 DOI が付いており、DOI から BibTeX を引き出せます。仕組みは Crossref の content negotiation:DOI に対して「BibTeX 形式で欲しい」と HTTP ヘッダで伝えると、登録機関が BibTeX を返してくれます。

terminal
# DOI から BibTeX を取得(-L でリダイレクト追従)
curl -LH "Accept: application/x-bibtex" \
  "https://doi.org/10.1145/3186893" >> refs.bib

-L は必須です。doi.org はどの登録機関がメタデータを持つかを判定して リダイレクト するため、これを追わないと中身が得られません。コマンドが面倒なら、同じ仕組みを Web で提供する doi2bib.org に DOI を貼るだけでも BibTeX が手に入ります(arXiv ID や PubMed ID にも対応)。

arXiv のプレプリントは、アブストラクトページ右側の「Export BibTeX citation」から BibTeX を直接書き出せます。Crossref(や Google Scholar の「Cite → BibTeX」)も同様に BibTeX を出力します。出どころはどれでも、入力の手間はほぼゼロです。

ただし 自動生成された項目はそのままでは粗い ことに注意します。著者名の表記ゆれ、タイトル中の固有名詞が小文字化される(保護のため {...} で囲む必要がある)、不要・重複フィールド、数式記号の崩れ、arXiv 版と出版版の取り違えなどはよくあります。取り込んだら一度は目を通し、citation key を自分の規約に揃える までが仕事です。

文献管理ソフトと .bib の自動書き出し

数十〜数百件規模になると、文献は 管理ソフト で扱うのが現実的です。アプリ側で論文を収集・整理し、そこから .bib を書き出して LaTeX に渡す、という分業が定番になります。

  • Zotero — 無料・オープンソースの定番。ブラウザから 1 クリックで取り込み、CSL(citeproc-js)で整形。LaTeX 利用者は拡張 Better BibTeX を入れると、安定した citation key の生成と .bib の自動エクスポートができます。
  • Better BibTeX(Zotero 拡張)auth.lower + shorttitle(3,3) + year などの規則で衝突しない引用キーを生成し、キーは常に「ピン留め」されて変わりません。エクスポート時に Keep updated を有効にすると、ライブラリの変更が .bib に自動反映されます。
  • JabRef — BibTeX/biblatex をネイティブに扱う管理ソフト。独自形式を持たず .bib をそのまま読み書きします。ID(DOI・arXiv・ISBN)から項目を取得する機能も内蔵。
  • BibDesk(macOS) — Mac 用の BibTeX フロントエンド。.bib を直接編集し、PDF の自動ファイリング(AutoFile)や外部データベース検索に対応します。
  • Mendeley / Paperpile — Mendeley は BibTeX 書き出しに対応。Paperpile は Google Docs 連携に強く、こちらも BibTeX を出力できます。

実務の流れはどれも似ています。**(1) アプリで文献を管理 → (2) .bib を(できれば自動で)書き出し → (3) LaTeX 側で \addbibresource{refs.bib}(biblatex)または \bibliography{refs}(BibTeX)で読み込む**。Better BibTeX のように自動エクスポートを設定しておけば、原稿側は .bib を「常に最新の生成物」として扱え、手作業の同期が要りません。

注意点として、citation key が安定していること が共同作業の生命線です。エクスポートのたびにキーが変わると、本文の \cite{...} が一斉に壊れます。Better BibTeX がキーを固定するのはそのためで、ソフトを使わず手で .bib を書く場合も、キーの命名規則を最初に決めておくと後が楽になります。