BibTeXについて ----- #contents ----- *BibTeXとは [#z96c394c] TeXで文献引用するとき,thebibliography環境がよく用いられます. thebibliography環境を用いた場合,以下のように参考文献リスト #code(TeX){{ \begin{thebibliography}{99} \bibitem{Paper2010a} 著者1,著者2, "論文タイトル", 学会誌名 Vol.0, No.0, pp.100-107, 2010 \bibitem{Paper2010b} Author1 and Author2, "Title", Conference Name, December 1-3, 2010. \end{thebibliography} }} をTeXファイル内に記述し,本文中で\cite{Paper2010a}や\cite{Paper2010a,Paper2010b}と記述することで引用することができます. この方法は単純で分かりやすいものの以下の欠点があります. +論文ごとに文献リストを作成しなければならない(参照文献は論文ごとに異なるため). +参考文献の記述スタイルが異なった場合,いちいち修正が必要(通常,学会誌ごとに異なる記述形式を持っている). 引用文献数が少なければ,これらはさほど問題とならないのですが,多くなってくると文献の参照ミスに悩まされたり, 引用形式を間違えて項目をすべて修正しなければならなくなるなどの問題が起こります. これらの問題を解決してくれるのがBibTeXです. BibTeXでは文献データを.texファイルとは別のデータベースファイル(*.bib)に記述し, それを読み込むことで文献リストを生成するというものです. 特徴として以下があげられます. -TeXファイル中の参照に基づき文献リストが自動的に生成される. -文献リスト用スタイルファイル(*.bst)を用いることで,文献リストの記述形式を自動的に揃えることができる. bstファイルは一般的にスタイルファイルに同梱されています. *TeX+BibTeX [#kda33a66] BibTeXを用いた文献引用手順を述べます. ***1. 文献データベースファイル(*.bib)の作成 [#yef1d3ea] テキストエディタで文献情報を記述して,拡張子bibのファイルとして保存します. 文献情報の書き方例は以下. #code(TeX){{ @article{Paper2010a, author = {著者1 and 著者2}, title = {論文タイトル}, journal = {学会誌名}, year = {2010}, volume = {0}, number = {0}, pages = {100--107}, } @inproceedings{Paper2010b, author = {Author1 and Author2}, title = {Title}, booktitle = {Conference Name}, year = {2010}, } }} @の後ろのarticleやinproceedingsが文献の種類を示します.代表的なものを以下にあげておきます. -@article : 学術論文 -@inproceedings : 学会予稿集の一部(予稿集全体を示す場合は単に@proceedings) -@book : 書籍(書籍の一部の場合は@inbook) -@conference : 会議録 -@techreport : 技術報告書 -@phdthesis : 博士論文 -@mastersthesis : 修士論文 -@misc : その他 文献の種類を示した後,括弧{}で囲まれた中に文献の情報を記述します. 最初の項目は参照名でTeXソース中で\cite{Fujisawa2010a}などのように引用するための名前です (これは単に参照のためのキーであるので,自分にとって分かりやすいものを使えばよい). 参照名以外の項目は各文献種類によって異なります. ほとんどの場合,auther (著者名リスト, andで分ける),title (タイトル),year (出版年)は必須です. これ以外にjournal(学会誌名),booktitle(予稿集,会議録などの名前), volume, number(出版号番号), pages(ページ,1pから8pの場合,1--8のように記述),publisher(出版元)などがあります. 文献データベースファイルは1つのファイルを複数の論文で使い回せるので, 一度作成した文献データベースファイル(*.bib)にどんどん追加していきましょう. また,bibファイルを用いることで大量の文献を効率的に管理することもできます. 詳細は下記,[[JabRefによる文献の管理>BibTeX#xd5f5c9f]]を参照してください. ***2. 文献データベースファイルの読み込み [#r88ad9ac] TeXソースの参考文献リストを載せたい場所に以下のように記述します. #code(TeX){{ \bibliographystyle{jplain} % スタイル(bstファイル名)を記述する.jplain,plainはpLaTeXに標準で付いている. %\nocite{*} % 本文中で参照していない文献をリストに載せたい場合に用いる.*を指定すると全て載せる.通常使わないのでコメントアウトしている. \bibliography{bibfilename} % bibファイル名を指定する.拡張子は除く. }} スタイルファイル(*.bst)は学会誌などのTeXスタイルがあればそれに同梱されていることがほとんどです. スタイルファイル(*.bst)は学会誌などのTeXスタイルがあればそれに同梱されていることがほとんどです (たとえば,情報処理学会だとipsjsort.bst). bstファイルの名前を確認して,\bibliographystyleで指定してください. \bibliographyでのbibファイル名指定には絶対パスも使えます. その場合,Windowsで用いられている"\"のパス区切り文字は使えないので, \bibliography{C:/Temp/bibliography} のように"/"に置き換える必要があります. また,複数のbibファイルを用いたい場合は,","で区切ります. \bibliography{bib1,bib2} ***3. 本文中での参照 [#w98565f0] 本文中で引用したい場所で\citeを用いて参照します. \cite{参照名} 章やページ数などの情報をコメントとして書くこともできます. \cite[コメント]{参照名} また,複数の文献をまとめて参照する場合([1,3,10]など)は, \cite{参照名1,参照名2,参照名3,...} のように指定します. ***4. TeX+BibTeXコンパイル [#z90e30b9] 以下の順番でコンパイルします. +TeXコンパイル - 目次や参考文献の参照情報に関するauxファイルを生成 +BibTeXコンパイル - 参照情報に基づき参考文献欄に記述すべき文献情報をまとめたbblファイルを生成(bblファイルの中身はthebibliography環境による参考文献が記述されている). +TeXコンパイル - bblファイルに基づき参考文献リストを作成 +TeXコンパイル - 参考文献リストに基づく参照番号を本文に反映 [[サクラエディタ]]のページにマクロを用いてこれらの処理を一度に行う方法を書いていますので参考に. *JabRefによる文献の管理 [#xd5f5c9f] 文献データベースファイル(bibファイル)に書き込まれた文献情報の数が数百になってくると テキストエディタだけでは管理が難しくなります. bibファイルを文献ごとにリスト化してエクセルのようにして管理することができるソフトがいくつかあります. ここではその中でも私が用いているJabRefを紹介します. -[[JabRef:http://jabref.sourceforge.net/]] JabRefはオープンソースの文献管理ソフトであり,Javaで作成されているため, Windows, Linux, MacなどJava VMが走る様々な環境に対応しています. #ref(jabref.jpg,nolink); 上記スクリーンショットにあるように,文献の種類ごとに必要な項目を記述するテキストボックスが用意されていて, どれが必須などかなどもすぐに分かります.また,"BibTeX Source"というタブがあることから分かるように, BibTeX形式で直接記述することもできます. このJabRefで良いと思うところは,各種ファイルへのリンクも文献情報に含めることができることです. この機能を用いることで,論文PDF,動画などを文献情報と結びつけて管理することができます. ***インストール方法 [#f916f40b] +%%Sun%%[[Oracleのページ:http://www.oracle.com/technetwork/java/javase/downloads/index.html]]からJREをダウンロード,インストールする (Java環境インストール済みなら必要なし). +[[JabRef:http://jabref.sourceforge.net/]]の右欄のDownloadをクリックして,SourceForgeのページから環境にあったファイルをダウンロードする(Windowsなら,JabRef-*.*-setup.exe). +ダウンロードしたファイルを実行して,インストールする. +JabRefを実行して,新たにデータベースファイルを作成する or すでに作成してあるbibファイルを読み込ませてみる. ***文献の追加の仕方 [#x272a985] +メニューから BibTeX -> New entry (Ctrl-N) を選択して,Select entry typeダイアログを出す. +追加したい文献の種類を選択. +Required fieldsの各項目を記述する.記述の仕方はBibTeXと同様(例えば,複数の著者はandで区切るなど). Required fieldsの一番下にBibtexkey(参照キー名)を自分で記述してもよいのですが, JabRefは参照キー名の自動生成機能も持っており,命名規則を統一したい場合はこちらを用いた方がよいでしょう. キーを設定したい文献を選択した状態で, メニューのTools -> Autogenerate BibTeX keys (Gtrl-G)をクリックするか,アイコン&ref(jabref_icon1.jpg);をクリックすると生成規則に従ったキー名が入力されます. この生成規則は,Option -> Preferencesで表示した設定ダイアログの "BibTeX key generator" で設定できます. #ref(jabref_autogenerator.jpg,nolink); ***外部ファイルのリンク [#o5d21597] GeneralタブのFile項目で外部ファイルへのリンクも設定できます. 関連付けたいファイルをFile項目欄にD&Dします. リンクファイルをどのようにしたいかを聞いてくるので, -ファイルを現在のディレクトリにおいてままにしておく : 絶対パスがリンクとして設定される -ファイルを文献ファイル格納ディレクトリにコピー -ファイルを文献ファイル格納ディレクトリに移動 から処理方法を選択して,OKボタンを押してください. 文献ファイル格納ディレクトリは,Preferencesの"External programs"で設定できます. ただし,登録されているファイルタイプしかリンクを設定できません. ファイルタイプの確認,追加はPreferencesの"External programs"の"Manage external file types"ボタンをクリックすることで行うことができます. &ref(jabref_external_programs.jpg,nolink); &ref(jabref_file_type_dlg.jpg,nolink);