#はじめに
論文をLaTexで書くにあたり、色々と環境設定をしている。
そこで、参考文献のデータベースBibTexを導入しておこうと思ったら、意外とはまったので備忘録にしておく。
#事前準備
ミソは、文献スタイルファイル(.bst)と文献データベース(以下文献DB)ファイル(.bib)を使える状態にすること。
何も知らずに本やWebの通り設定しても、パスが通っていないとうまくいかないよう。
##環境変数にパスを追加
今後の全ての論文で共通で使える文献DBのフォルダを作りたいので、準備をしておく。
~/.bashrc に以下を追加
export BIBINPUTS=$BIBINPUTS:/usr/share/texmf/jbibtex/bib:~/research/paper/bibtexDB
export BSTINPUTS=$BSTINPUTS:/usr/share/texmf/jbibtex/bst
/usr/share/texmf はLaTexのインストール先だとか。ユーザを超えて共通で設定したいものはここへ。
~/research/paper/bibtexDB 自分で任意で作る文献DB格納先。自分だけが使うならここ。基本はここで作業する。
##文献DBを作成する
~/research/paper/bibtexDB/reference.bib を作る。
フォーマット等は検索すれば出てくるので、そちらにお任せする。
#論文への反映
##test.tex の本文を書く
\documentclass{jsarticle}
\begin{document}
文献-\cite{xxx}. % reference.bib で登録したラベルを参照
文献-\cite{yyy}
\bibliographystyle{jplain} % 文献番号の書式。$BSTINPUTS のパスが通ってないとエラー。
\bibliography{reference} % ここで文献DB 名 reference を入れる。拡張子は不要。$BIBINPUTS のパスが通ってないとエラー。
\end{document}
##コンパイルする
bibtex データベースに変更が加えられたら、コマンドを4回実行しないといけない。
これはめんどくさいが、文献リストを論文執筆毎に繰り返し作るよりはずっと手間は少ないだろう。
- test.tex のあるディレクトリに移動
- platex test
- 不完全なtest.aux ができる。
- pbibtex test
- test.bbl ができる。
- platex test
- 参照リストが完成した test.aux ができる。参照リスト不完全のtest.dvi ができる。
- platex test
- 参照リストが完成した test.dvi ができる。