Help us understand the problem. What is going on with this article?

BibTex の導入方法

More than 3 years have passed since last update.

はじめに

論文を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回実行しないといけない。
これはめんどくさいが、文献リストを論文執筆毎に繰り返し作るよりはずっと手間は少ないだろう。

  1. test.tex のあるディレクトリに移動
  2. platex test
    • 不完全なtest.aux ができる。
  3. pbibtex test
    • test.bbl ができる。
  4. platex test
    • 参照リストが完成した test.aux ができる。参照リスト不完全のtest.dvi ができる。
  5. platex test
    • 参照リストが感染した test.dvi ができる。
MoriKen
ロボット研究者を目指す社会人博士です。ぶっちゃけ、へっぽこソフトしか書けませんが頑張ります。
http://lab.cntl.kyutech.ac.jp/~nishida/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away