0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Orgファイル中の引用文献だけの BibTeX ファイルを生成するツール

Posted at

org-modeにおける引用のハンドリング

Emacs org-modeのアウトライン編集とエクスポート機能はアカデミックな文書作成においてもとても有用です。アカデミックライティングにおいて引用文献の管理はエッセンシャルですが、org-modeでは引用管理ツールに大きく二つの選択肢があります。一つは、jkitchin氏が精力的に開発しているorg-refパッケージ、もう一つはorg-modeの標準機能として提供されているorg-citeです。

org-refはorg-citeの実装以前から開発されており、引用管理以外にも文献検索bibtexファイルの管理等、多様な機能を提供しています。しかし私はシンプルなorg-citeを文献管理パッケージのcitarと組み合わせて使っています。

文書で引用している文献を抽出したリストがほしい

普段の作業では、自分の管理するすべての書誌情報をまとめたbibtexファイル references.bib をマスターファイルとして、そこ必要な文献を引用しています。しかし、時々「引用している文献だけを抽出した BibTeX ファイルが欲しい」と思うことがあります。

多機能なorg-refにはこの機能が org-ref-extract-bibtex-to-file として実装されています。この関数は、org ドキュメントで実際に引用された文献だけを含むローカルな BibTeX ファイルを生成してくれます。しかし、citar & org-cite の環境では標準機能に含まれていません。

自作関数: citar-extract-bibtex-to-file

そこで、自分で作ってみるました。手順としては以下のようになります。

  1. org-citeがエクスポート時に引用文献を処理するための関数 org-cite-get-references を用いて文書中の引用文献のcitekeyを抽出
  2. 抽出したcitekeyを用いてcitarでマスターbibtexファイルを検索し、書誌情報を得る。
  3. 書誌情報をbibtex形式に再構成してファイルに出力

このようにして作成したのが citar-extract-bibtex-to-file です。始めて自分で自分が必要な機能を作成しました。
プログラミングは素人なので、もっとスマートなやり方があるかもしれませんが、とりあえず自分の求めていた機能を実現できて満足です。

せっかくなので、これも初体験ですがパッケージとしてgithubで公開してみました。ニッチなツールかもしれませんが、誰かの役に立ったり、有用なコメントがもらえるとうれしいです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?