これ地味ですが、とっても便利です。動作条件はunixとあるので、おそらくMacでも動くでしょう。 BibTeX関連ツール - TeX Wikiにはその他にも役に立ちそうなアプリケーションやスクリプトが紹介されているので、ぜひ参考にしてみてください。ちなみに自分は、ここで紹介されているbibtex2htmlとvim-quickrunを使って、bibファイルを保存するたびにhtmlファイルを作成するように指定しています。pdfのリンクを貼ればブラウザ上で全部見れるようになるので、よい。 スクリプトは上記のリンクからダウンロードしてきて解凍すれば使えると思います。aptパッケージが用意されているので、
sudo apt-get install bibclean
でインストールができます。
コマンドラインから実行すると、標準入力(またはファイル入力)に対して標準出力で返すといういかにもunixらしいプログラムなので、aaa20150001.bib
とaaa20150002.bib
というbibファイルをどこからかダウンロードしてきた時に、全部をまとめておくファイルreference.bib
にこれらを追記したい時は、
bibclean aaa20150001.bib aaa20150002.bib >> reference.bib
とすれば良いです。また、bibが受け取れなさそうなオプションはエラーとして吐いてくれるので、チェックにも役立ちます。
これを、Vimの成形コマンドgq
(詳しくは ":h gq", ":h formatprg", ":h formatexpr")を押した時に呼ばれるようにするには、以下のようにします。
augroup filetypeautocmd! " bib fileautocmdBufRead,BufNewFile *.bib setfiletype=bib
autocmd Filetype bib let&formatprg="bibclean"
augroup END
これで、編集中のbibファイルで範囲を指定してgq
を押せば、ちょうどその部分だけコマンドラインを通した時のようにうまく整形してくれます。見やすくなるというただそれだけでなく、いろいろなところからとってきたbibの形式を揃えることができるので便利だと思います。