LaTeX の参考文献管理:BibTeX と biblatex の使い方

ヘルプEasyLaTeX公開日

文献データと表示形式を分け、まず大学・学会・出版社の指定に従います。手書きの項目、従来の BibTeX、biblatex を使い分けます。ここでは架空の DOI ではなく、本文のキーと一致する実在の書籍を例にします。

方式を選ぶ

方式用途主なコマンド
thebibliography少数で再利用しない文献\bibitem と \cite
BibTeX.bst 指定のテンプレート\bibliographystyle と \bibliography
biblatex特別な制約がなく柔軟な書式が必要\addbibresource と \printbibliography

次の手書き例には .bib が不要です。参照更新に必要な繰り返しはプラットフォームが処理します。

\documentclass[a4paper,11pt]{ltjsarticle}

\begin{document}
For typesetting background, see~\cite{knuth1984}.
\begin{thebibliography}{9}
\bibitem{knuth1984} Donald E. Knuth. \emph{The TeXbook}. Addison-Wesley, 1984.
\end{thebibliography}
\end{document}

refs.bib を作る

ファイルツリーに refs.bib を作り、次の2冊を入れます。キーは knuth1984 と lamport1994 です。

@book{knuth1984,
  author = {Donald E. Knuth},
  title = {The TeXbook},
  publisher = {Addison-Wesley},
  year = {1984}
}
@book{lamport1994,
  author = {Leslie Lamport},
  title = {LaTeX: A Document Preparation System},
  edition = {2},
  publisher = {Addison-Wesley},
  year = {1994}
}

データは再利用できますが、方式を変えるときは、特殊なフィールドやスタイルの互換性も確認してください。

biblatex と Biber を使う

ルートに上のデータベースを置き、主ファイルを次のようにします。

\documentclass[a4paper,11pt]{ltjsarticle}
\usepackage[backend=biber,style=authoryear,maxcitenames=2]{biblatex}
\addbibresource{refs.bib}
\usepackage{hyperref}
\begin{document}
Background on typesetting is given in~\parencite{knuth1984}.
\textcite{lamport1994} describes document preparation with LaTeX.
\printbibliography
\end{document}
  • backend=biber:文献処理方式。
  • style=authoryear:著者・年の表示。
  • maxcitenames=2:引用に出す著者名の数。
  • \addbibresource{refs.bib}:拡張子を含むファイル名。
  • \parencite は括弧付き、\textcite は文中の著者名、\printbibliography は一覧です。

エディター設定を LuaLaTeX にしてコンパイルします。必要な LaTeX と Biber の処理は EasyLaTeX が管理します。[?] が残る場合は、今回のログ・キー・パスを確認します。

.bst 指定のテンプレートで BibTeX を使う

次は plainnat の例です。指定の .bst があれば拡張子を除く名前を使い、テンプレートのパッケージ構成を維持します。

\documentclass[a4paper,11pt]{ltjsarticle}
\usepackage{natbib}
\begin{document}
For typesetting background, see~\citep{knuth1984}.
\bibliographystyle{plainnat}
\bibliography{refs}
\end{document}

\bibliography{refs} は従来方式の指定です。biblatex の設定や出力コマンドと混在させません。

表示形式を変える

次は読み込み行を置き換える選択肢です。両方ではなく1つを選びます。

\usepackage[backend=biber,style=numeric]{biblatex}
\usepackage[backend=biber,style=authoryear]{biblatex}

日本語論文も所属先や投稿先の指定を優先し、必ずしも統一のスタイルがあるとは考えないでください。著者・日付・順序・巻・ページ・DOI を実際の出力で確認します。表示はスタイル、表示する情報はデータのフィールドで決まります。

よくある問題

症状確認箇所対処
[?] や未解決キー今回のタスクと文献ログ完了を待ち、設定とキーを調べる
Citation 'xxx' undefined本文とデータベース綴りと大文字・小文字を一致させる
一覧が空引用と出力コマンド項目を引用し、本文終了前に出力する
ファイル不足ファイルツリーとパス.bib や .bst の場所を確認

追加の使い方

少数なら手書きでも構いません。動いているテンプレートを、方式の変更だけのために移す必要はありません。\printbibliography[type=book] で種類別、refsection で別一覧を作れますが、まず最小構成を動かしてから追加します。

漏れの確認には引用の双方向チェックも使えます。