これまで文献管理は LaTeX での文書作成を前提に (1) PDF はフォルダを適当に階層化した google drive に全部突っ込む, (2) その調べ物毎に関連する PDF 置いとくようのサブフォルダを作る, (3) bibliography は .bib を作って,引用する時に google scholar とか使って引っ張ってきてそこに突っ込む, (4) \cite(...)
は気合で頑張る みたいな運用をしていた.…んだけどこの度ようやく文明こと citation manager, 具体的には Zotero を導入した.
超便利でいいんだけど,基本的には word / libreoffice, いいとこ LaTeX と共同するのが主眼で,plain text とか markdown を扱うエディタとの連携は「これさえ入れたらOK」みたいにはなってないので色々試すメモ.便利さについては,検索,タグ付け,ノート作れる,ひとつのファイルを複数の collection (ディレクトリ的な感じ)に入れられるので整理が捗りやすい,などいろいろある.Mendeley じゃなくて zotero にしたのは open source を全面に出してるからで,正直自分のユースケースには Mendeley のほうが合ってるかもしれない.書き足していきます
better bibtex for zotero と pandoc でなんとかする
better bibtex for zotero の(めっちゃ薄くて使えない)解説 を参考に
better bibtex
基本的には, (1) 外部に (.bib や csl json/yaml の形式で)ライブラリをエクスポートして適宜アップデートしてくれる (2) cite 用のキーを自動で作ってくれる (3) エクスポートした文献リストと実際に使われた cite から,文書としての bibliography を作るのは他ツールに任せる,という仕組みで(たぶん), (1) と (2), および外部との連携をよしなにやってくれるものっぽい.
こうして export を選択して,お好みのフォーマットを選び(Pandoc と使うときは csl のどれかが良いっぽい)
↑設定を確認,on change でアップデートしてくれるようにして,Ctrl+Shift+C
でこれがコピーされるように設定する.
ここに Better CSL JSON とか Better BibTeX とかも選択肢に出てくるが,多分この項の一番上のように export したやつを使う場合は Citation key quick copy 一択ということのように思われる.
なお,同じ仕掛けで \cite{citekey}
とか [@citekey]
とか Ctrl+Shift+C
でコピーされるフォーマットを選ぶことができ,これはめっちゃ分かりづらいが zotero の設定の中の better bibtex の設定に有る
Pandoc
たとえばこんな文書.さっき Collection は my_library.yaml にエクスポートしたとする.
--- title: Nicer Document bibliography: my_library.yaml --- ## 文章です そうなんですよねー[@petryInternationalConsensusAssessing2014]. こっちもですね[@aarsethScholarsOpenDebate2017].
$ pandoc -s --citeproc --csl=/home/lesguillemets/Zotero/styles/vancouver.csl --to plain a.md
Nicer Document 文章です そうなんですよねー(1). こっちもですね(2). 1. Petry NM, Rehbein F, Gentile DA, Lemmens JS, Rumpf H-J, Mößle T, et al. An international consensus for assessing internet gaming disorder using the new DSM-5 approach: Internet gaming disorder. Addiction [Internet]. 2014 Sep [cited 2021 Feb 12];109(9):1399–406. Available from: http://doi.wiley.com/10.1111/add.12457 2. Aarseth E, Bean AM, Boonen H, Colder Carras M, Coulson M, Das D, et al. Scholars’ open debate paper on the World Health Organization ICD-11 Gaming Disorder proposal. Journal of Behavioral Addictions [Internet]. 2017 Sep [cited 2021 Feb 16];6(3):267–70. Available from: https://akjournals.com/doi/10.1556/2006.5.2016.088
さらに a.md
のヘッダに link-citations: true
を加えた上で処理すると下のようにリンクがつく
$ pandoc -s --citeproc --csl=/home/me/Zotero/styles/vancouver.csl --to commonmark a.md
# 文章です そうなんですよねー([1](#ref-petryInternationalConsensusAssessing2014)). こっちもですね([2](#ref-aarsethScholarsOpenDebate2017)). <div id="refs" class="references csl-bib-body"> <div id="ref-petryInternationalConsensusAssessing2014" class="csl-entry"> <span class="csl-left-margin">1. </span><span class="csl-right-inline">Petry NM, Rehbein F, Gentile DA, Lemmens JS, Rumpf H-J, Mößle T, et al. An international consensus for assessing internet gaming disorder using the new DSM-5 approach: Internet gaming disorder. Addiction \[Internet\]. 2014 Sep \[cited 2021 Feb 12\];109(9):1399–406. Available from: <http://doi.wiley.com/10.1111/add.12457></span> </div> <div id="ref-aarsethScholarsOpenDebate2017" class="csl-entry"> <span class="csl-left-margin">2. </span><span class="csl-right-inline">Aarseth E, Bean AM, Boonen H, Colder Carras M, Coulson M, Das D, et al. Scholars’ open debate paper on the World Health Organization ICD-11 Gaming Disorder proposal. Journal of Behavioral Addictions \[Internet\]. 2017 Sep \[cited 2021 Feb 16\];6(3):267–70. Available from: <https://akjournals.com/doi/10.1556/2006.5.2016.088></span> </div> </div>
ブログで使うならこれで,css で div.referenes
と div.csl-entry
をいじるのが簡便かなあと思ったりする.
あと https://retorque.re/zotero-better-bibtex/exporting/pandoc/ に載ってる lua filter の存在意義がちょっとまだわからずといったところ.
エディタ連携としては better-bibtex のページ に色々書いてあるが,自分のちょっと触ったところでは(文献情報見ながら引っ張ってくると思うので)ひとまずは zotero 上の quick quick copy でいいかなあ.
RTF scan?
上記でも微妙にほしいのとは違っているところもある気がする,,多分 RTF scan と citation style をいじるのとの組み合わせが一番自分にあってそうなんだがそれは後日.