コマンドラインで文献管理

アカデミックの業界ではもちろんのこと論文を書かなければならないが, 論文執筆の際に起きる面倒なこととして参考文献の管理が挙げられる. 基本的に BibLaTeX 形式で文献管理をしていて, これまで zotero という GUI アプリを使ってきた.

この zotero は Google Chrome の拡張機能を追加することで, 論文の掲載ページに行けば, 自動的に論文の引用情報を収集し, その論文情報と 論文 PDF ファイルや各種データを紐付けできたり, アドオンを加えることで Drpobox や Google Drive といったクラウドサービスとの同期も可能である. 

しかしながら, いくつか不満点がある. 第一に, 論文PDF ファイルをクラウドサービスの管理するフォルダに登録するためには, 追加アドオンでの処理が必要でありこれがどうしても自動化出来なかった. また, BibLaTeX の引用項目の設定が zotero 側の設定が反映されてしまい, 目的の文献ファイルを作成できない点は使い込むうちにストレスとなってしまった. 加えて, 今年のテーマは GUI アプリの脱却を掲げていたのでこの際コマンドラインで文献管理ができるようにしてみた.

ここでは, 3つの Python ライブラリを紹介する. 1つ目は, 文献のデータベース管理に当たるもので, pubs と呼ばれるものである.

この pubs はまだ開発段階であるが, コマンドライン上から本 isbn や doi から引用したい本や論文の引用データを収集し, PDF データも関連付けることができる. citekey の重複判定や, citekey に関連したリネーム機能など基本的なことは揃っている. また, git プラグインも備えており, メタデータを含む引用情報を git 上で管理できる強みもある. 1点使いにくところを挙げると, isbn や doi から引用情報を収集する際に, 日本のジャーナルなどではうまく収集されないことがある. そのため, 次に紹介する isbntools と doi2bib が役に立つ.

isbntools とは, isbn を各種メタデータに変換する Python ライブラリでり, もちろん BibLaTeX にも対応している. 同様に, doi2bib とは, doi データから必要な引用情報を BibLaTeX 形式で収集するものである. 自分の場合は, これら3つを組み合わせて文献情報の収集・管理を行っている. 

機会があれば各種ライブラリの使い方らTipsについて残していきたいと思う.

この記事が気に入ったらサポートをしてみませんか?