TeXにはもちろん文献リストを作り、引用箇所に文献番号をリンクしてくれる機能が付いている。
文献引用 (TeX Wiki)
文献リストを入れたいところに、
\begin{thebibliography}{99}
\bibitem{美文書} 奥村晴彦,LaTeXe 美文書作成入門,技術評論社,1997
\end{thebibliography}
とリストを作ってやる。\bibitem{美文書}などと適当にラベルを決めておいて、
使いたいところで \cite{美文書} とかすれば[1]とか文献番号に置き換えて表示してくれる。
ところが、実際これでやってみると不便なことが見えてきた。
文献番号は最初に出てきた文献から[1],[2]と振られることを期待していたのだが、
\bibitemで列挙した順に[1],[2]と番号が振られるようになっているので、
2番目の文献を最初に使っても[2]と番号が振られてしまう。
あと、文献リストに書いたものの、文章の変更に伴って文献を引用しなくなっても、
そのままだと文献リストから消えずに、本文中で引用されていないのに文献リストに残り続けることになる。
こりゃちょっと不便だな。
なんかいい解決法はないもんかと調べたらBibTeXというツールがあることがわかった。
文献データベースを用意して、ここから本文中で引用してる文献だけを抜き出して文献リストを自動生成してくれるというものらしい。
これを使えば本文中で使わなくなった文献は文献リストから消えるし、文献リストを生成するときに出現順に並べることも出来るようだ。
まず文献データベースの作成だが、 bibdata.bib とかファイルを作って、ここに使う予定の文献をリストアップする。
bibtex (Yamamoto’s Laboratory)
@books{ okumura1997,
title = "LATEX2e美文書作成入門",
publisher = "技術評論社",
year = "1997"
}
BibTeX形式の引用データをコピペすれば自分で書かなくてもいい。
CiNiiでもGoogle Scholarでもそうだけど、BibTeX形式のデータを表示させられるので。
ラベルは適当に決めればいいが、日本語だとうまくいかないっぽい。
引用する場所では \cite{okumura1997} とか、TeXファイル中に文献リストを書いたときと同様に使えばいい。
それで文献リストの場所には、bibdata.bibの文献データベースを読み込んで文献リストを作成するということをこう書く。
\bibliographystyle{junsrt}
\bibliography{bibdata}
\bibliographystyleでjunsrtとすれば出現順に[1],[2]…と文献番号を振ってくれる。
TeXのコードはこれでいいのだが、コンパイルがちとめんどくさい。
BibTeXによる文献リスト作成は pbibtex コマンドで行う必要がある。
BibTeXの処理には platex でコンパイルしたときに生成される .aux ファイルが必要で、
BibTeXが作った文献リストを読み込んで再度コンパイルする必要があり、文献リストの番号を振る処理は2回のコンパイルが必要だ。
というわけで platex→pbibtex→platex→platex と処理しないと完成しない。さらに dvipdfmx でPDFに変換する処理も必要だ。
TeXmakerのQuick Buildの設定にはこんな処理は標準ではないので、ユーザー定義で決める必要がある。
これだけやってやれば自動で使う文献だけ、使った順番に並べて文献リストを作成してくれる。
ところでLibreOffice Writerにも文献データベースという機能はある。
あることは知ってたのだが、データベースを使わずに、ドキュメントごとに文献情報を打ち込んでいた。
あまり使い勝手のよさそうな機能に見えなかったというのもあるのだが、
LibOでは文献番号は常に引用順になるようになってたし、引用箇所を消せば文献リストからも消えるので、使う必然性がなかった。
だからTeXでも同様にTeXファイルに文献データを書くという方法で行こうかとおもったのだが、
TeXではBibTeXがないとさっぱりだね。
まぁ、一旦使えるようにさえすれば、ずいぶん便利ですけどね。
BibTeX用の文献データベースはコピペするだけで作成できるのだから。
そこはさすが論文書きに愛用されているTeXの強みなのかなとは思った。