niszetの日記

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

ZoteroのWordアドインの中身を見ていく(メモ)

何やってんですかね・・・

Wordの引用文献の管理をもうちょっと理解したいので、寄り道でZoteroを調べています。WordのZoteroアドインは実体としてはZotero.dotmというファイルで、C:\Users\ユーザ名\AppData\Roaming\Microsoft\Word\STARTUP\Zotero.dotmにあるみたい。Wordのオプションからアドインに行って、アクティブなアプリケーションアドインのところにZotero.dotmがあるはず。そしてその場所がそこにあるはずです。

で、このファイルはロックされているぽいので、unzipして見ましたが関数名しかわからず。で、検索したらZoteroGitHubリポジトリにそのままあったのでそちらを見れば良いのでした(PandocのWordテンプレートと同じく、プロジェクト内で作成しているんですかね)

具体的にはこのZotero.basというファイル中に書かれているんですが、VBAとしてはZoteroEditCitationという関数名で定義されているんですけども内部ではZoteroCommandを呼んで、引数にeditCitationを与えているだけ。

github.com

で、この行にあるとおり、実際にはfirefox.exeに対してコマンドを送っているだけっぽいです。https://www.diva-portal.org/smash/get/diva2:857055/FULLTEXT01.pdfの2.3 The Zotero extensionでも同じようなことを書いているし多分そう。

forums.zotero.org

や、

forums.zotero.org

も書いてるし多分そう。

なので、このプラグイン部分でフィールドコードを生成しているわけではなく、Zotero本体がやってるということになりますね。

そして、実際に処理をみていくと、おそらくこのファイルでやってます。

github.com

読み解いて互換のある物を作るといのはちょっと厳しいので、必要であれば処理中に外部のコマンドで上記のZoteroの処理をした方がよいだろうと思われます。実際にやってみて上手くいったらまた別の記事に。ひとまず作業メモ。