ill-identified diary

所属組織の見解などとは一切関係なく小難しい話しかしません

[メモ] Mendeley: Exodus ~Mendeley から Zotero への移行の手引き~

この記事は最終更新日から3年以上が経過しています


タイトルの通り, 文献管理の効率化を求めて Mendeley から Zotero に移行する際のメモ. mendeley の機能に不満がある人, zotero に興味がある人には役立つ情報があるかもしれない.

www.zotero.org

Mendeley と Zotero の比較

以下も参考になる.

humosy.hatenablog.com
humosy.hatenablog.com

主な共通点

  • 文献を階層構造のカテゴリ (コレクション) に分類できる.
  • 文献にタグやリッチテキスト形式のメモを添付可能. 複数のファイルを紐付けることも可能.
  • 重複アイテムの確認とマージ補助機能あり.
  • DOI, arXiv ID, PMID, ISBN から文献のメタ情報をインポートできる. pdf から抽出することもできる (ただし日本語文献は失敗しやすい).
  • 文献リストの出力が可能.

どちらも MS Word 用プラグインがある*1が, 私は使ったことがないので機能の差異は知らない. 自著を管理する機能も使ったことがないので確認していない.

Zotero の主な長所

  • Web ブラウザから文献情報をインポートする機能がある (この機能はわりと強調されるが, 実は私は使ったことがないので詳しいことは言えない).
  • 軽い (私だけだろうか? Mendeley の起動に時間がかかり, 頻繁にクラッシュするのは)
  • 日本語対応. こういうソフトを使う層がそこまで喜ぶかはわからないが, インターフェースの日本語化は Mendeley より進んでいる. 内蔵ブラウザではなく外部ソフトで表示するため, Mendeley のようにフォントの埋め込まれていない日本語が表示されないということもない.
  • 後述するプラグインを使うと, より柔軟な設定でBibTeX形式の文献リストを出力できる.

Zotero の主な短所

  • Mendeley が 2GBを無料で利用可能なのに対し, Zotero はたった 300MB しかない. とはいえ, 2GB で年に20 USD, 6GB で 60 USD 程度であり*2, Mendeley より高いわけではない*3.
  • Mendeley にあった論文サジェスト機能はない. フォーラムでは, Google Scholar なり SNS なりリサーチゲートなりで代用できるためいらない, という意見が強いようだ*4.
  • 1つ1つの文献をどのコレクションに登録したかわかりづらい. ただし確認することはできる. Mac なら Option, Windows なら Ctrl, Linux 系なら Alt を1~2秒押しっぱなしにする*5.
  • 2019/3/28 追記: Linux用にパッケージ化されていないため, 公式では自動アップデートがサポートされていない. よって, Linux 系 OS を使っている場合アップデートのためにはインストールをやり直す必要がある. *6*7
  • 2020/7/6 更新 debian/ubuntu用のレポジトリのメンテナンスが2019年7月から始まっていた*8. 以下のサイトにしたがって更新できるようにすれば良い (これまで使っていたものはちゃんとアンインストールすること*9 ).

    github.com

エクソダス, するかい?

まずは Mendeley のデータを取り出して Zotero にインポートする. Zotero 側には Mendeley のデータ形式を読み込む機能があるが, 最近 Mendeley がデータを暗号化したため*10, 少し面倒になっているらしい. なお, 文献にクリップしたメモやハイライト情報, コレクション情報を反映させることも難しいらしい*11.

コレクション情報が反映されないとのことだが, 私が2018年の10月末ごろに実行した場合はうまくいった (自分はメモ機能をあまり使ってなかったので気にせず移行した). その時の方法を書いておく. と言っても基本は以下に書いてあるとおりである.

www.zotero.org

  1. Mendeley を起動し, [Help] -> [Create Backup] でバックアップファイルを適当な場所に保存する*12.
  2. Mendeley を暗号化される前のバージョン (1.18)にダウングレードする. バイナリのリンクは上記ページにある.
  3. Mendeley を再度同期させる.
  4. 再びバックアップファイルを適当な場所に保存する.
  5. Zotero をインストールし起動する.
  6. Zotero のメニューバーから, [ファイル] -> [インポート] を選びウィンドウを出し, [Mendeley] のラジオボタンを押し, [次へ].
  7. どの Mendeley のデータベースをインポートするのか訊かれるので, アカウント名 (メールアドレス) ではなく (4) で作成したローカルのファイルを選ぶ.
  8. あとは道なりだったと思う.

どのバックアップファイルをインポートするかは状況によって変わるので, 万全を期したいのなら上記のリンク先をよく読んでほしい.

ただし, pdf のファイルの実体を持っていないとメタ情報をファイルが結びつかないらしい (しかし, 私はここでつまづいた記憶がない.).

上記のリンクには Mendeley でpdfにハイライトした情報をも保存する方法が紹介されているが, 自分は使ったことがないのでわからない.

Better BibTeX for Zotero (BBT)

文献管理するのだから, TeX とも連携して引用文献を手書きする手間を省きたい*13ところだ. そこで, Better BibTeX for Zotero (公式略称: BBT) というプラグインを使い, bib ファイル*14を出力できるようにする.

github.comこのプラグインを使えば, Mendeley と違い, yomi など日本語文献でしか使わないような属性も追加できる.

インストールは Installation :: Better BibTeX for Zotero に従って実行する.

  1. 最新のリリースをダウンロード (xpi ファイル) する
  2. [ツール] の [アドオン] で出るウィンドウの [Extensions] タブを選ぶ
  3. 右上隅の歯車アイコンをクリックし, [Install Add-on From File] をクリックする
  4. (1) でダウンロードした .xpi ファイルを選ぶ
  5. Zotero を再起動する.
  6. jBibTex, pBibTeX 等を使うなら, 設定ウィンドウに追加された "Better BibTeX" タブの "Export" で "Export unicode as plain-text latex commands (recommended)" のチェックを外す*15. upBibTeX を使っているならチェックを付ける

使い方は簡単で, BibTeX エントリを「その他」欄に記入するだけだ.

https://qiita.com/John_Bigyear/items/a328f91b218fa39c405 では, bibtex {...} という書き方を例示しているが, 以下のような書き方でもよい (こっちのほうがやりやすい). Zotero は文献のID (引用子) を自動で生成する*16ため, Citation Key: ..... という書き方で任意のID (stable ID) を設定したほうが連携しやすい.よって, 以下のようになる.

2019/11/4 追記: なぜか公式のアナウンスはないが, アップデートで構文が変わり, これ以前の記事は不正確になった. これまでの記法は機能しなくなり, 代わりに tex.hogehoge= または tex.hogehoge:という書き方で bibtex 用のフィールドを記述する. これまで登録したものはこのアップデートで勝手に変換されていた. 例として, Judea Pearl の "Causality" の引用を挙げる. この本は共立出版から邦訳が出ているので, jecon.bst で邦訳書情報を付け足したい. このとき, その他欄に以下のように書く.

2020112 追記: :=とで挙動が異なる. 前者では \などの TeX 記号がエスケープされる (\textbackslashなどに変換される), 後者ではそのまま出力されるという違いがある.

tex.jauthor=黒木, 学
tex.jtitle=統計的因果推論--モデル・推論・推測--
tex.jpublisher=共立出版
tex.jyear=2009
tex.jnote=初版訳

すると, 以下のように出力できる. jauthor= 以下がその他欄の記入によるもの.

@book{pearl2009Causality,
  address = {{Cambridge, U.K. ; New York}},
  edition = {2},
  title = {Causality: Models, Reasoning, and Inference},
  isbn = {978-0-521-89560-6 978-0-521-77362-1},
  lccn = {BD541 .P43 2000},
  shorttitle = {Causality},
  language = {English},
  publisher = {{Cambridge University Press}},
  url = {http://bayes.cs.ucla.edu/BOOK-2K/},
  author = {Pearl, Judea},
  year = {2009},
  keywords = {Causation,Probabilities},
  jauthor = {黒木, 学},
  jtitle = {統計的因果推論--モデル・推論・推測--},
  jpublisher = {共立出版},
  jyear = {2009},
  jnote = {初版訳}
}

bibtex で出力するとこういう風になる (もちろん bst ファイル次第で変わる).

Pearl, Judea (2009) Causality: Models, Reasoning, and Inference, Cambridge, U.K. ; New York: Cambridge University Press, 2nd edition, (黒木学訳, 『統計的因果推論–モデル・推論・推測–』, 共立出版, 2009 年, 初版訳).


あとは必要な文献やフォルダを選択し, 右クリックコンテキストメニューの, 「選択されたアイテムをエクスポート」から .bib ファイルを出力できる.

一方で, 文献カテゴリが BibTeX のカテゴリに対応していないのが気になる. 分野によっても習慣が違うから仕方ないところもあるのだが, 「レポート」が @techreport に, 「新聞記事」が @article に対応し*17, 「原稿」が @unpublished に対応する. @misc に対応するのは「ウェブページ」「ブログ記事」などがある. そして @report や に対応するものがない. 私はほぼ, 「学術論文」「学会発表」「書籍」「ウェブページ」しか使わないため, ワーキングペーパーやディスカッションペーパー以外で分類に困ったことがない*18が, 他にももしかしたら使いづらいところがあるかもしれない.

2020/7/6 追記: 開発者がドキュメントを公開した
retorque.re

Citation Key についての注意

  • デフォルトでは, Citation Key は[auth:lower][year][shorttitle3_3], つまり「[著者名 (小文字のみ)]・[タイトル頭から数語]・[出版年]」という形式で出力される設定になっている. しかし, 著者名が漢字の場合は中国語読みのラテン文字表記になってしまい, 読みづらい. 現状では, 和文に関しては全て Citation Key を手動設定したほうがよいかもしれない*19.
  • 私はデフォルトの Citation Key の設定だと長く感じたので, [auth:lower][year][shorttitle1_1] と設定している. しかし, BBT の設定は同期できないので, 例えば出張用のノートPCと同期して出先で作業するという場合にいつもの仕事用PCと Citation Key が一致しないということが起こる. この問題は現状では同期しているすべての環境でデフォルトの書式または文献個別の Citation Key を手動設定するしか解決方法がない.


*1:Word: https://www.mendeley.com/reference-management/citation-plugin, Zotero: https://www.zotero.org/support/ja/word_processor_plugin_usage_classic

*2:https://www.zotero.org/storage

*3:https://blog.mendeley.com/tag/mendeley-storage-limits/ Mendeley は月額表示だ. また, これは一般個人利用者のプランなので大学や研究機関単位で契約している場合は異なるかもしれない.

*4:https://forums.zotero.org/discussion/71940/mendeley-suggestions

*5:https://www.zotero.org/support/collections_and_tags#identifying_collections_an_item_is_in

*6:https://forums.zotero.org/discussion/67233/zotero-shouldnt-try-to-self-update

*7:https://github.com/zotero/zotero-standalone-build/issues/52

*8:https://github.com/zotero/zotero-standalone-build/issues/52#issuecomment-513592182

*9:例えばここを参考に: https://uark.libguides.com/c.php?g=78988&p=880459

*10:https://forums.zotero.org/discussion/63737/moving-library-from-mendeley-to-zotero

*11:https://forums.zotero.org/discussion/63737/moving-library-from-mendeley-to-zotero

*12:https://service.elsevier.com/app/answers/detail/a_id/18153/

*13:文献リストを指定のフォーマットのリッチテキストで出力する機能はデフォルトで存在する. Word を使う場合はそっちの機能でいいだろう.

*14:*BibTeX と BibLaTeX その他のフォーマットにも対応しているが, 私はもっぱらBibTeXを使っているので, 他の動作確認はあまりやっていない.

*15:チェックしても機能することもあるが, unicode に完全対応していないので文字化けしたり何らかの不具合が起きうる

*16:https://retorque.re/zotero-better-bibtex/citation-keys/

*17:「学術論文」も @atricle 扱いになる.

*18:私は WP/DP は「レポート」として登録している. 例えば "Foobar Institute Working Paper Series No. X" の WP を登録する場合「レポートの種類」に "Foobar Institute Working Paper" を, 「レポート番号」に "X" を記入すると, @techreport として, それぞれ type と number に出力される.

*19:BBTの設定に "Force citation key to plain text" という項目があるが, これを無効にしても citation key に漢字が許容されるわけではなかった.