仙豆のレシピ

ちょっとしたことでも書いていく姿勢で

Zotero を自前ビルドで運用してみる

Zotero で文献管理を試していたらクライアントに少し手を入れたくなった。

Plugin の仕組みもあるみたいだけど、ちょっと触ってみた感じ自分のやりたいことができるかよくわからなかったので、とりあえずソースコードをいじって自分でビルドしてみることにしたので諸々メモ。

ソースコードhttps://github.com/senz1024/zotero

最終的に現状こんな感じになっている↓。

目次

変更点

変更1:タグの色が微妙

Zotero では9つまでタグに色をつけられる。

デフォルトだとこんな感じ↓。

この色が正直微妙(2行3列と3行1列の色とか近すぎでは)となったので変えたい。 これについてはいろいろ議論されていたみたいだが、別に9つまでしか色がつけられないからといって選択肢も9通りじゃなくていいのではと思ったのでとりあえず可能そうな色を全部出すようにした。

変更2:メモがプレビューできない

Zotero では各文献エントリに紐づく形で(複数の)メモを保存できる。

それらは右ペインの「Notes」タブに一覧表示されるが、各メモの内容は最初の方しか表示されない。

またメモの編集は右ペインの該当メモをクリックか中央ペインの文献をクリック→該当メモをクリックする必要がある。

デフォルトだとこんな感じ↓。

自分の使い方だと中央ペインにフォーカスをあててキーボードの↑↓で「あの文献どれだっけ~」とやることが割と多かったのでメモの内容はなるべく多く見えてほしい。

またひとつの文献に複数のメモをつけたくなったことが今のところない(ひとつのメモに全部書く)ので、思い切って「Notes タブには一番古いメモの編集画面を表示する」という仕様にしてみた。

競合?の Mendeley のデスクトップクライアントがこんな感じだった気がする。

2つ目以降のメモはデフォルト同様中央ペインからアクセス可能。

ビルド・デプロイ

ビルドはドキュメントに書かれている通りやる。ログによると Ubuntu20.04 で以下の通りに環境構築したらしい(前すぎて忘れた)。

sudo apt install -y nodejs npm curl
sudo npm install n -g
sudo n stable
sudo apt purge -y nodejs npm
exec $SHELL -l

alias b='npm run build; cd ../zotero-standalone-build; scripts/dir_build; cd -;'
alias r="../zotero-standalone-build/staging/Zotero_linux-x86_64/zotero"

下2行は build と run の alias、zotero_dev/zotero-client で実行。

デプロイはきちんとやる方法を調べるのが面倒だったのでとりあえず正規にインストールした ~/zotero/Zotero_linux-x86_64 とビルドした zotero_dev/zotero-standalone-build/staging/Zotero_linux-x86_64diff -qr して変更があるファイルを様子見ながら手で入れ替えた。

十分テストしたわけではないけど今のところ Zotero web や Zotero Connector との連携も含めて問題なく動いている気がする(ちょっとコワイ)。

Tips

  • 中央ペインで1~9キーを押すと該当するタグをつけられる
  • 中央ペインで「+」/「-」で各文献の折り畳みを一括で開く/閉じる
  • Bibtex を吐くためにBetter Bibtex for Zoteroを入れると便利
    • Citation key format は [auth:lower][year][veryshorttitle:lower] が好み(使えるのは JavRef key formatting syntax というやつらしい) auth.lower + year + veryshorttitle.lower になってた
    • Citation key format を変更したら一度でも bibtex に吐いたことある文献は右クリック→ Better BibTeX → Refresh BibTex key する必要がありそう?
    • 環境設定で Fields to omit from export に abstract,keywords,language,month とかしとくとよい