bibtexとbiberでページを分けるかうまいことやらないと後々混乱しそう...

bibtexの基本的な使い方

bibtexを使う場合,メインの文書ファイルに加えて参考文献のデータをまとめたbibliographyファイル(.bib)が必要.これはgoogle scholarから引っ張ってこれる他,zoteroなどの文献管理ソフトから作成できる.簡単な例は以下のようなものである1

@article{einstein,
    author =       "Albert Einstein",
    title =        "{Zur Elektrodynamik bewegter K{\"o}rper}. ({German})
        [{On} the electrodynamics of moving bodies]",
    journal =      "Annalen der Physik",
    volume =       "322",
    number =       "10",
    pages =        "891--921",
    year =         "1905",
    DOI =          "http://dx.doi.org/10.1002/andp.19053221004"
}

一行目のarticleが文書種別を指定するタグで他にbookなどが利用可能.その後のeinsteinがcitation keyと呼ばれるもので,tex文書中からはこのcitation keyで文献を参照できる.その他の部分は説明しなくても直感的にわかりやすいと思う.このようなsample.bibファイルを用意した上で,メインの文書は以下のようにする.

\documentclass{article}
\begin{document}

citation example. Einstein journal paper \cite{einstein}

%Sets the bibliography style to UNSRT and imports the 
%bibliography file "sample.bib".
\bibliographystyle{unsrt} % 引用スタイルの指定
\bibliography{sample}        % bibファイル
\end{document}

重要なのは以下の3点.

  • \bibliographyコマンドでbibファイルを指定する.このとき拡張子はいらない
  • bibliographystyleコマンドで参考文献の出力スタイルを指定.このコマンドはプリアンブルに書いても良い.スタイルについては後述.
  • 実際に文中で引用する時は\citeコマンドで引用する.この時の引数はbibファイルの1行目に書いてあるcitation keyを利用する.

bibファイルが別のディレクトリにあってもよくて,その場合は\bibliography{hoge/sample} のようにすればよい.

参考文献の表示スタイルの変更

bibtexで表示スタイルを変更できるのは,「引用部分のスタイル(citation style、引用スタイル)」と「参考文献部分のスタイル(bibliography style、参考文献スタイル)である.

後者のbibliography styleから説明する.論文や書籍によって参考文献の表示スタイルは異なるため,これに合わせてbibliographystyleコマンドで自分の好きなスタイルに変更できる.一例としてデフォルトではabbrvacmalphaapalikeieeetrplainsiamunsrtなどが利用可能で,他のスタイルを追加することもできる.

参考文献の引用スタイルを変更したい場合,natbibパッケージが使える.以下の例のようにプリアンブルで\usepackage[option]{natbib}として,オプション部分に細かいスタイルの指定を行う.

\documentclass{article}
\usepachage[square,numbers]{natbib} % ここを追加.
\begin{document}

citation example with natbib package. Einstein journal paper \cite{einstein}. we can use citet command to include auther in citation regardless of citation style like \citet{einstein}.

%Sets the bibliography style to UNSRT and imports the 
%bibliography file "sample.bib".
\bibliographystyle{unsrt} % 引用スタイルの指定
\bibliography{sample}        % bibファイル
\end{document}

詳しい各スタイルの詳細についてはここが参考になるかも.APSスタイルの引用をやりたい場合はapsrev4-2スタイルを利用すれば良い.基本的にはデフォルトで入っていると思う.ちなみに最近のAPSは参考文献に文献タイトルを載せることを推奨していて,その場合はスタイルの指定を無くし,ドキュメントクラスのオプションにaps,prd(ここは人による),longbibliographyを追加すると文献タイトルも出力できる.

 \documentclass[aps,prd,longbibliography]{revtex4-2} %ここを追加
 \usepachage[square,numbers]{natbib} %
 \begin{document}

 citation example with natbib package. Einstein journal paper \cite{einstein}. we can use citet command to include auther in citation regardless of citation style like \c\
 itet{einstein}.

 %Sets the bibliography style to UNSRT and imports the
 %bibliography file "sample.bib".
%  \bibliographystyle{apsrev4-2} % 引用スタイルをコメントアウト
 \bibliography{sample}        % bibファイル
 \end{document}

また,citetコマンドを使うと引用スタイルに関わらず引用部分に名前を追加できるので便利.

biber/biblatexの基本的な使い方

bibtexではなくてbiber/biblatexを使う場合も用意するbibファイルは同じだが,tex文書中での指定にやや違いがあるのでこちらで解説する.まずはbibtexのところで説明したものと全くおなじsample.bibファイルを用意する.メインのtex文書を以下のように作成する.

\documentclass{article}
\usepachage[backend=bibtex,style=unsrt]{biblatex} % ここを追加.
\addbibresource{sample.bib}           % 参考文献ファイル
\begin{document}

citation example with biblatex package. Einstein journal paper \cite{einstein}. 

% Here print bibliography
\printbibliography
\end{document}

重要なのは以下の3つ.

  • biblatexパッケージを利用する.optionでスタイル(style)や処理系(backend)を指定可能.この例では処理系としてbibtexを利用,スタイルはunsrtになっている.詳しくは後述.
  • 参考文献ファイルは\addbibresourceコマンドでプリアンブルに書く.
  • 参考文献を表示したい場所に\printbibliographyコマンドをかく.

基本的にはこれでbibtexと同様に文書を作成できる.処理系(backend)としてはbibtexのほかbiber(公式推奨)を指定できる.どちらでも良いが,対応してコンパイル時のコマンドやlatexmkrcの設定を変える必要があるので注意しよう.

bibtexでAPSスタイルの引用をする場合の指定方法も簡単に紹介する.これはbibtexで自分用のノートを作りたいけど引用スタイルはAPSにしておきたい場合には便利(本家APSはnatbibなのでこの方法は使えない.)単にbiblatexのオプションとして以下の設定をするだけで良い.

\usepackage[style=phys,articletitle=false,biblabel=brackets,chaptertitle=false,pageranges=false]{biblatex}

脚注への引用方法

通常の文中での引用に加えて,\footciteコマンドをつかうと脚注に引用を加えることもできる.これは個人的な文書だとわざわざ参考文献のページまで文献を見に行かなくて良いので助かる他,プレゼンテーションをtexで作る場合にも同じスライドに文献情報が載るので向いている.この場合でも文末に参考文献リストが載るのは同様.プレゼンテーションの場合は参考文献と全く同じスタイルで出力される\footfullciteコマンドを利用するのがおすすめ.

コマンド 意味
\footcite  
\footfullcite  
   

footcitefootfullciteの違いを見るには以下のような例を実行してみるとよい.

\documentclass{article}
\usepachage[backend=bibtex,style=unsrt]{biblatex} % ここを追加.
\addbibresource{sample.bib}           % 参考文献ファイル
\begin{document}

citation example with biblatex package. Einstein journal paper \footcite{einstein}. See deferences in footcite and footfullcite by Einstein journal paper \footfullcite{einstein}. 

% Here print bibliography
\printbibliography
\end{document}

hyperrefを使って参考文献リストに飛べるようにする

hyperrefパッケージを利用すると,文献の引用番号をクリックすると参考文献リストまで飛べるようになる.さらに,bibファイルでurlの指定がされていれば,参考文献から外部サイトに飛ぶこともできる.文書を他の点で変更する必要はないが,naiga,hyperrefパッケージは一部のパッケージと競合することがあるので注意が必要だ.

\documentclass{article}
\usepackage[hyperref] % ここを追加
\usepachage[backend=bibtex,style=unsrt]{biblatex} 
\addbibresource{sample.bib}          
\begin{document}

citation example with hyperref and biblatex package. You can jump to bibliography by click citation number like Ref. \cite{einstein}. 

% Here print bibliography
\printbibliography
\end{document}

hyperrefのオプションはお好みで追加する.色に関しては個人的な好みで青で統一したいので

\usepackage[colorlinks=true,citecolor=blue,linkcolor=blue,urlcolor=blue]{hyperref}

としている.

bibtexの仕組み(?)

revtex関連

その他

  • 複数の引用をまとめる場合は\cite{A,B}のようにする.カンマとBの間にスペースがあるとうまく動かないことがあるので注意が必要.

参考文献

https://library.rose-hulman.edu/c.php?g=351878&p=2384440 https://apps3.aps.org/communications/styleguide/index.html

  1. 今回はサンプルとしてbibファイルを自作したが,実際はgoogle scholarや他のソフトから自動で生成する場合がほとんどなので,自分でbibファイルを作ることはほとんどないと思う.