biblatexとBibTeX

biblatex

昔はTeXで引用する・参考文献を作成するというとBibTeXを使う(か、全部手で記述する)方法しかありませんでしたが、今はBibTeXに変わるものとしてbiblatexというパッケージがあります。jecon.bstというBibTeXのスタイルファイルを作っていることもあり、biblatexでどの程度のことができるか、またBibTeXとはどう違うのかに関心があったので、biblatexを使ってみました。

biblatexは新しいTeXのシステムでしたら標準で入っているようですので、特に自分でインストールなどする必要はないと思います。biblatex-sample.bib というbibファイル(文献データ)の文献をbiblatex-sample.tex というファイルで引用して作成してみたのが、biblatex-sample.pdf というファイルです。次の手順(コマンド)で作成しています。

> platex -kanji=utf8 biblatex-sample.tex
> biber biblatex-sample
> platex -kanji=utf8 biblatex-sample.tex
> dvipdfmx -d 5 -f msembed.map biblatex-sample

bibファイルは jecon.bst の例で利用されているものとほぼ同じです。ただし、

  • 日本語の氏名を「姓, 名」という形で指定
  • yomiフィールドをsortnameフィールドに変更 という修正だけしてあります。

biblatexのスタイルにはauthoryearタイプ(著者名 + 年)のものを指定しています。他にもカスタマイズしようと思えばできるのですが、デフォールトの設定からほとんど変更していないです。

PDFファイルを見ればわかりますが、英語の文献についてはだいたい問題なく表示されています。一方、日本語文献は表示はおかしいですね。元々日本語文献の利用を前提としないスタイルを利用していますので、これは当たり前だと思います。

biblatexの感想

以下は、biblatexについて調べてわかったこと+自分でもbiblatexを使ってみた感想です。

まず、biblatexは表示形式のカスタマイズの自由度が非常に高いと思います。上で紹介したように、私はjecon.bstというBibTeX用のスタイルファイルを作成しています。このjecon.bstを利用すると参考文献部分の表示を比較的簡単に変更(カスタマイズ)することができます。biblatexはjecon.bstでできるようなカスタマイズは全てできると思いますし、それ以上の複雑なカスタマイズも可能だと思います。

さらに、biblatexではできてBibTeXではできないことがいくつかあります。第一にbiblatexでは参考文献のリストを複数作成することができます。一次文献、二次文献で参考文献リストを別にするというようなことができるようです。第二に、biblatexを使うと引用部分で非常に多様な形式を利用できます。BibTeXでは参考文献部分のカスタマイズはかなりできますが、引用部分のカスタマイズの自由度は高くありません。これに対しbiblatexではBibTeXでは難しいような引用の仕方もできます。例えば、引用部分で文献のタイトルを用いることもできます。

BibTeX vs biblatex

以上のように、biblatexをカスタマイズして使えば、BibTeXよりもはるかに多様な形式で参考文献の作成、引用をおこなうことができると思います。

ただ、ではBibTeXからbiblatexに移った方がいいかというと、そうとも言えないと思います。まず、カスタマイズの自由度が高いといっても、カスタマイズにはTeXのマクロの知識がある程度(かなり?)必要になりますので、自分の思う通りのカスタマイズが簡単にできるとは限らないと思います。また、biblatexはカスタマイズできる部分が非常に多いこともあり、マニュアルが膨大な量になっています(250ページくらいで、しかも英語)。マニュアルから自分の欲しい機能の説明を探すのにもちょっと苦労します。

元々、biblatexが開発された理由の一つはBibTeXの言語(bstファイルを記述する言語)がわかりづらく、カスタマイズしにくいという問題だと思います。BibTeXの言語がわかりにくいのは間違いないのですが、かといってTeXのマクロがわかりやすいかというとそう簡単ではないと思います

BibTeXのjecon.bstのように英語の文献も日本語の文献も同時に適切に扱う(両者で処理を区別する)ようなスタイルもbiblatexで作成できると思いますが、それにはTeXのマクロの知識がかなり必要になると思います。誰かTeXのマクロに詳しい人がサンプルのようなものを作ってくれればそれを修正してということもできると思いますが、自分で一から作成するのはちょっとハードルが高そうです(私の現時点でのTeXのマクロ、biblatexについての知識では難しいです)。

また、biblatexのメリットであるカスタマイズの自由度の高さをそれほど必要としない人もいると思います。上で説明したようにbiblatexでは文献リストを複数作れるのですが、そういったことが必要ではない人(分野)もあると思います。例えば、経済学の論文の参考文献は普通一つで、文献の種類によって区別したりはしないです。また、引用部分での多様な形式についても必要ない人もいると思います(経済学ならやはりBibTeXレベルで十分だと思います)。複雑な引用、参考文献形式を実現したい人にはbiblatexは必須のツールといってもいいかもしれませんが、そこまで必要はないという人にはBibTeXで十分かもしれません。

機能面では全体的にBibTeXよりもbiblatexの方が優れていると思いますが、二つBibTeXの方がいいのではないかという点があります。一つ目はBibTeXでは参考文献部分を最終的に手で修正することができるという点です。biblatexでは参考文献部分の表示はTeXの処理の内部でおこなわれるので参考文献部分を手で修正することはできないようです。完全に自分の望む通りのスタイルを出力できれば問題ありませんが、そうでなければ手で少し修正したいということもあるかと思います。そのような場合にはBibTeXのように手で修正できる方がいいのではないかと思います。

二つ目はBibTeXの場合、一度BibTeXで参考文献を作成すれば、後はbibファイル、bstファイル、bblファイル等がなくてもすむようにできるということです。BibTeXを実行すると、bibファイルから文献を読み込み、bstファイルの形式に沿って、bblというファイルに参考文献リストを作成します。TeXのファイルはこのbblというファイルを読み込んで参考文献部分を表示します。このbblファイルの中身をTeXのファイルに張り付けてやればもう後はbibファイルもbstファイルもbblファイルも必要なくなります。余計なファイルがいらず、TeXのファイルだけで済むようになりますので、人にファイルを送るときなど便利です(BibTeX関連以外に、特殊なスタイルファイルを利用していたら、それは同封しないといけないでしょうが)。雑誌にTeXの形式で投稿するときも、出版社側にBibTeXの処理までさせようとするとトラブルが起こりやすいと思いますが、自分で参考文献部分を作成してしまい、参考文献部分も含めたTeXのファイルの形で渡せばそういうことは少ないと思います。

biblatexはどんどん機能が追加され、提供されているスタイルファイルも増えているようですので、いずれはBibTeXに置き換わっていくのではないかと思います。ただ、あえてBibTeXからbiblatexに移行する必要がない人も多いでしょうし、jecon.bstのように英語文献、日本語文献の両方を扱えるスタイルがbiblatexではまだ提供されていないので、jecon.bstのようなスタイルがいいという人にはbiblatexは時期尚早だと思います(誰かが作ってくれれば別なのですが)。