はたらく双対性

Bibulousの紹介

(2021/03/06)


雰囲気でBibTeX入門(その2)の問題点において、文献リストのカスタマイズの不自由さを解決するツールとしてBibulousを言及しました。

ここでは Bibulous の使い方を紹介したいと思います。

目次

  1. Bibulous


Bibulous

以下は2021年2月12日時点での話であり、2020年3月13日最終更新のBibulous (version 2.0)を用いている。

Bibulousについては

を参考のこと。BibLaTeX(+Biber)との一番の違いは、BibLaTeXがstyleを作るのにTeXのマクロを使っていてわかりにくいのに対して、Bibulousでは直感的でコンパクトなstyle templateファイルを使うという点(参考:1. What is the difference between using Bibulous and using BibLatex+Biber? - Bibulous)。

Bibulous はpythonで書かれている。まずpythonをインストールする。

Python3のインストール

Python 3 インストール/奥村晴彦に従ってインストールすればよい。デフォルトでは C:\Users\ユーザー名\AppData\Local\Programs\Python\Python39 の中にインストールされるが、置くべき場所には諸説あるらしい。

Bibulousのダウンロード

コマンドプロンプトで

pip install git+https://github.com/nzhagen/bibulous

と打ち込めば、bibulousの諸ファイルがダウンロードされる(1分ほどかかるかもしれない)。Bibulousを機能させるのに必要なのは、実はbibulous.pyだけなので、これだけダウンロードできていればいい。ちゃんとダウンロードが成功していれば、コマンドプロンプトで

pip show bibulous

と打つことでバージョン情報やパス(Location)が確認できる。なお、上では開発者のgithubから直接ダウンロードしているが、これは PyPI に上がっているものが古いバージョンであるためである。

注意点

Bibulousは、簡単に言えばauxファイルを入力にbblファイルを出力するプログラムである。bblファイルの中身を形成するためには、引用の情報を含んだauxファイル、文献情報を含んだbibファイル、文献情報の出力形式の情報を含んだbstファイルが必要である。bibファイルとbstファイルのファイル名は、auxファイルの中に書かれているので、入力はauxファイルだけということである。

しかしオリジナルのスクリプトだと、用いるbibファイルとbstファイルは、auxファイルと同じフォルダになければならない。普通、bibファイルやbstファイルは一つの自分用ファイルを使いまわすので、毎回auxファイルと同じフォルダにコピペするのは面倒である。

特定のフォルダにあるbib/bstファイルを参照するようにさせたい。次のことをすればとりあえず期待した振る舞いをした。

Pythonも雰囲気でいじってるので、オリジナルのスクリプトいじらないで済むなら、誰か教えてほしい…。

TeXworksでの設定

TeXworksにおいて、編集->設定->タイプセットと進み、「タイプセットの方法」枠内の + ボタンを押す。「タイプセットの設定をする」ウインドウにて

と記入し、「実行後、PDFを表示する」のチェックを外して、OKボタンを押す。すると「タイプセットの方法」の一覧にBibulousが追加されていることが確認できる。

Bibulousを使ってみる

適当なtexファイルを開く(test.texとする)。必要なのは、auxファイルとbibファイルとbstファイルであった。auxファイルは一度texファイルコンパイルすれば作られる。bibファイルは適当に用意したとする。

ここではBibulous用のbstファイルを(文献)テンプレートファイルと呼ぶことにする。文献テンプレートファイルは、通常のbstファイルよりもかなり直感的に記述できる。ひとまずメモ帳を開いて

TEMPLATES:
 article = <au>. \enquote{<title>}. \textit{<journal>}, <volume>[(<number>)]: [<startpage>--<endpage>|<startpage>], <year>.[ <note>]

 book = [<au>|<ed>|]. \textit{<title>}[, <edition.ordinal()>][, <series>~<volume>]. <publisher>, <year>.[ <note>]

 arxiv = <au>. \textit{<title>}. <year>. arXiv: \href{http://arxiv.org/abs/<eprint>}{<eprint>}.


SPECIAL-TEMPLATES:
sortkey = <citealpha>
citelabel = <citealpha>

と書き、mytemplateという名前で保存し、拡張子をbstに変える。できたmytemplate.bstを、読み込むauxファイルか、たとえば C:\Users\ユーザー名\texmf\bibtex\bst の中におく。

あとは通常のBibTeXと同様に、test.texのなかで

\bibliographystyle{mytemplate}
\bibliography{test} % test.bibの読み込み

と書いて、articleエントリーかbookエントリーの文献を\citeしていれば、Bibulousでタイプセットすることで文献リストの情報を含むbblファイルが生成される。

Bibulous用のbstファイルのサンプル

以下は、私が用意したBibulous用のbstファイル(文献テンプレートファイル)のサンプル。日本語文献と英語文献で出力が変わるように工夫してある。これだけでもかなり直感的にカスタマイズができることがわかる。

Bibulous用bstファイルの書き方

詳しくは Guidelines for writing bibliography style templates - Bibulous を参照してください。ただし公式のHPですが情報が更新されていない可能性があります。

なおciteの表示のカスタマイズに使われるnatbibパッケージも併用できる。


「LaTeXについてのメモ」に戻る