niszetの日記

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

RStudioのVisual EditorのInsert CitationでZoteroから文献情報を入れるときはCitation Keyの被りに注意(メモ)

現時点の挙動から確認。

RStudio IDEでVisual EditorのモードではCitationの挿入が簡単にできるようになっている。このうち、Zoteroから文献情報を持ってくるときに注意しないといけないのが、一度Zoteroの文献情報を見に行くとCitation KeyをZotero側で修正してもそれがRStudio IDE側で反映されていないように見えることがある。原因というか、おそらくどこかにキャッシュしていてそれが更新されていないと思うのだがもう少し追わないといけなさそう。

また、RStudioはreference.bibにそのRmdのファイル中に使われている引用文献情報をストックすることを基本思想としているようであり、そこにあるCitation Keyと追加しようとしているZoteroのCitation Keyが衝突する場合、末尾にa、b、・・・という形で追加するようである。これは気をつけないと同じ文献を別のidで追加してしまうことになる。Pandocは重複の確認をしない(RSudio IDE上でも重複確認の機能はなさそう?Zoteroはあるぽいが)ので、当然Keyが異なるが中身は全く一緒・・・という文献情報の登録は可能である。末尾を見ると同じ文献が・・・!みたいになるので注意。連番ならすぐ見つかるが、ページまたいでいると見落とすかも知れない。

あまり場当たり的にZoteroから持ってくるのではなく、一度reference.bibに追加してから、本文中の所定の箇所にreference.bibにあるCitation Keyを指定して追記していくのが良いと思われる。あるいは、Zotero側であらかじめ論文をまとめておいて、それをbibでエクスポートし、それをRStudioのreference.bibとして扱う、など。多分この方法が一番堅いが、その分柔軟性に欠けて、面倒くさくなって場当たり的になりそう。運用でカバー・・・か?

また、Zoteroから追加しようとしている状態の物は、アイコンの右下にzマークがあるのでそれとわかる。

ただ、既にaつきがある状態で追加も出来てしまうので、この挙動もちょっと気をつけた方がよい(上書きされる可能性がある、という意味。出来るだけCitation Keyは一意になるようにした方がよいということだ。例えば著者名+yearだとniszetが2人以上いて、2022年に複数投稿があればわからなくなってしまう。タイトルを含めるような形のKeyは必要だろう)。

気をつけよう。

Citation keyで対応していないものはKnit時のRenderタブに [WARNING] Citeproc: citation *** not foundの形で出るので必ず確認しよう。また、VEで対象のCitatioin Key上にマウスカーソルを置いてpop upが出てくるかで判断できる。reference.bibの中身を確認しよう。

なお、これに限らないが、文中にMarkdownの記号が入るような形で挿入する場合は前後に半角空白を入れ、行単位で入れる場合は前後に空行を追加しておくとPandocでの変換時に事故が少ない(連続した文字列を一連の処理すべきまとまりとして判断してしまうため。これをPandocがわかりやすいように前後の空白、空行で区切ってあげる。おそらくこの考え方は英文の文化なのかなーとも思う(根拠なし)日本語の場合は処理がそこで途切れて問題ないということがあり、英文の場合は繋がってると駄目、みたいな形で遭遇したときに前は上手くいったのに・・・となりがちである。気をつけよう。)

挿入時にUse in-text citaionも選べるが、[@]で検索できないので、どうかなという点が気になる。もちろん、[-@みたいな形がそもそも許されているのでこの方法で検索は抜けがあるので、基本は@で検索して全部見るのだろうか。もうちょっとなんとかしたいところですね。

結局最後に「意図したモノになっているかどうか?」の確認はその意図した人がその意図を確認する方法で確認するしかないので、漢は黙って目視、かもしれない、か。

もうすこし考えますが、RStudio IDE上で機械的に弾くのは難しい気がするので、ミスの少ない手順を心がけ、最後にチェックをすることは必要そうかと思います。