niszetの日記

細かい情報を載せていくブログ

WordにZoteroアドインから引用文献の情報を入れる(メモ)

プラグインなのかアドインなのかアドオンなのかよくわかってない

現時点で、Wordにいい感じに参考文献を入れる方法の候補が2つある。Wordの文献管理機能は一旦忘れておく。

niszet.hatenablog.com

Pandocの機能を使う

生成したdocxから文献情報を再度引き出す必要がないばあい、かつCSLが使用可能であればPandocにお任せする方法が楽。

niszet.hatenablog.com

docxは出力結果であり、docx自体を修正しないくらいのつもりであればこれが一番よいかな。

WordのZoteroアドインを使う

Zoteroの機能(ZoteroアプリおよびWordのZoteroアドオン)を使って、Wordのフィールド機能でZotero上の文献情報にCSLを適用して挿入する方法がある。

中ではZoteroのアプリを呼んでる状態なので、Zoteroアプリを起動しておく必要がある。

niszet.hatenablog.com

プラグインの使い方は公式のマニュアルで大体わかると思う。

www.zotero.org

文献の追加はクラシック表示じゃないと分かりづらいと思う。あと、入力用の画面?はタスクバーの方からWindowごと消すことが出来るので困ったらそれで消す。

本文中で引用している個所に、Add/Edit Citationをするのだが、最後に引用情報をまとめたbibを置くための、Add/Edit Bibliographyを忘れていると、本文中の[1] [2]があるけど参照するものがないぞ…となる。これは後述のluaフィルタを使ったときもそうなるので、issueを出したい。

また、スタイルはDocument Preferencesから指定するが、カスタムCSLなどもZoteroに登録しておかないといけないので、上記のPandocは都度CSL指定で良いが、こちらは管理する必要がある点に注意。善し悪しだが、個別にCSLを持っているよりかはZoteroで管理しているほうが管理上は良いと思う。

Unlinkはフィールドをやめて文字に潰す機能となっている。

Word上で操作する場合はショートカットキーを割り当てて作業するのが良さそうである。Zotero側で情報を持っているので、更新すれば反映(Refleshすればだけど)できる点もPandocで作るものよりも魅力。ただし、そういう機会がどれほどあるかな?という。結局Pandocで一発で作れないケースであり、Word上での操作が発生していることから、繰り返し行ったり再現させる点では人手が入っていることから不利である。しかし、機能としては十分使える感触である。といったところ。

BBTのluaフィルタを使う

上記の機能を、BBTの公開しているluaフィルタを使用することで、Pandocから自動で行う方法がある。とはいえ、問題が複数ある。

retorque.re

ひとつは、一度リフレッシュしないといけない点。これは下記のIssueのコメントで気づいた。

github.com

ちゃんと読めてないが、luaフィルタはフィールドコードを埋め込んでいるだけで、そのコードの値はWord上でWordの機能を使って持ってくる必要があるためだろう。フィールドコードを指定したフィールドの表示値は何もしてない状態でとりあえず表示する物を入れておくことが出来るので。つまり一度docxを開いて更新しないといけないわけで。ちょっと面倒くさいですね。

また、文献まとめの箇所はrefsの場所に書かれるはずであるが、このフィルタでは現在docxには対応していない様子である。odtは使えるのだが。issueではdocxで出来たと書いているが、実際はodtで出力しているのでは?と思っている。これも要確認。ただし、これはフィルタが完成すれば問題ないので、一番のネックは上記の更新だろう。

pandoc.org

ただ、Windows上で使うコトを前提に、Wordを起動してフィールドコードを更新して閉じるといった処理のコードは別に書けばよいわけで、Pandocの処理も含めて一連の作業をバッチで行えるようにすればそれでよいのではと思っている。今は何を使うのがよいんですかね?PowerShellでいいのかな。

引用文献の情報を再度抜き出す必要はなくても、本文中の[1]などは邪魔なので、これを削除することが出来るなら便利そうだなと(ためしてない)

niszet.hatenablog.com

ただ、そもそもCiteを潰して本文にしていることが問題な気はするので、適当にSpanか何かでスタイルを指定しておいて、逆変換時はスタイル名で判断、というのも現状のPandocで出来る範囲のことなのでそれでも良いかもしれない(既に出来ることを別の方法でやる前に検討はすべき)

一応、これでZoteroで文献管理からのPandocでdocx上に引用文献情報を埋め込むという一連の流れは見れたと思うので、あとは実際にやってみて…というところ。

しかし、このあたりの話はsky_y氏が既に2020年の時点で通ってるのであった。さすが…。全部調べてから気づきましたわ…

zenn.dev

ちなみに、Zoteroの話ばかりになってるのは、RStudioにZoteroとの連携機能が追加されたりしていて、このあたりは乗っかった方が楽だろうな…という気持ちからです。

ちょっとざっと走り書きになってるので、どこかでちゃんとした形にまとめたいところですね。技術同人誌行きかなぁ…