niszetの日記

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

Pandoc作業(1/7)

ほぼZotero作業では?

色々と勘違いしていたようで、ちょっとまとめる。

ZoteroのBBT、zotero.luaを使う場合はZotero本体から文献情報を持ってくる。そのため、YAMLにあるbibliographyは無視される。Pandoc単体の場合は必須なので注意。Zoteroスタンドアロンを使ってる場合しかわからないが、Zoteroを起動した状態でないとzotero.luaは文献情報を拾ってこれないので注意。

YAMLzotero:libraryの指定だが、My Libraryから変更していない場合は特に何もしなくてよい。このライブラリ名を他の名前にしているか、このライブラリと並列にライブラリがありそちらを参照する場合は指定する必要がある。このライブラリの下に作ったものを指定する必要はなかった。

zotero.luaが正常に文献情報を拾ってこれているかは実行時のログを見て確認する。拾ってこれなければエラー出ているので。

また、正常に実行出来た場合、docxでもodtでも出力したドキュメント内ではDo Zotero Refreshの表示となっており、それぞれのプラグインからrefreshを行う必要がある。このとき、apaのスタイルがただしくあたってない状態になっているようなので、odtでは明示的にメッセージが出る。docxの場合も指定を促される。正常にrefreshしたらそれぞれの文献での表示形式に更新される。ACMの場合は肩の上に1とかの形式。それぞれの表示形式はcslを指定するとかそういうので制御出来るはず。まだ完全には見れていないが、Pandocの仕様で--cslは見ているのでこの当たりは問題ないだろう。

残件

ということで、デフォ実行時のスタイルが行方不明(apa7を指定しているが、名前はapaである)ことと、それぞれのドキュメントの自動更新が必要になるが、それに加えてdocx形式ではrefsに文献リストを吐いてくれないというのがあった。odtは出来る。これはzoteroアドインで手で入れた時のフィールドコードを見て、それをzotero.luaに取り込めば良いと思われる。あとはやってみて考える。

www.docswell.com

ドキュメントの自動更新についてはPowerShellでやろうかと思っている。win以外の環境でMS Wordつかってても検証できないが。

追記

スタイル見つからない問題は、YAMLで下記のように書けば良い。

zotero:
  csl-style: apa

そして、これはzotero.luaがデフォルトで指定しているcslのせいなのでこれをapaに修正すればよい。これはissueたてて連絡しておくことにする。明日への宿題ね。

github.com

とりあえず一個片付いた。

追記2

次はodtの方に手動でzoteroのbibを入れて、unzipしてzotero.luaで埋め込んでいるコードとの一致を確認する。

そのあと、docxの方に手動で入れてunzipして確認。odtのそれと同等になるようにコードを書き換える。