博士後期課程が始まったので、ZoteroとObsidianを連携してみた。
🤔はじめに
いいタイミングなので、obsidianで文献ノートを簡単に作成するシステムを構築する。
私は、短期集中的に文献を読む方で、メモをとる人間ではないのでmy文献データベースを作りたいと思った。
文献を読まないというか、自分なりの紙媒体の教科書作りを進めているから、あんまり文献メモを作成したことがなかったし、紙媒体のmy教科書って一番やってる気分になりますよね。
(文献ノートと実験ノートは完全に独立させています。ちなみにDry&Wetなので、実験ノートはobsidianじゃないと少ししんどいです。)
流石に紙媒体だと出典をあとから探すのも大変だし、zoteroの導入でマシにはなったけど、なにより読んだ時の所感が完全に自分の脳依存になっていることが問題だと感じた。
多分体に合う運用としては、
- zoteroに入れた文献が、(
自動で)obsidianに吸収され、文献ノートが作成される。 - obsidianノートから瞬時にAI要約を行える。
- タグや著者名などのメタデータは条件を指定して表で見えるので後から振り返りやすい。
- 教科書みたいにトピックごとに(無印の)バインダーにまとめてるので、絵も描きやすい紙媒体に紐づけたい。
📁概要図
⭐️結論
zoteroに収集した文献を手動でobsidianに吸収し、半手動でAI要約やキーワードなどのメタデータが付加される文献ノートを作成できた。
なお、それらの引用方法については一切触れておりません。調査中です。
👀方法
実際に手を動かしていきましょう。
初投稿なので、多分体裁がグチャクチャです。
すみません。
✅Step1. zoteroの情報をobsidianが参照できるように(zotero側の設定)
-
zotero better bibtexのダウンロード
https://github.com/retorquere/zotero-better-bibtex/releases/tag/v7.0.26
zotero-better-bibtex-7.0.26.xpi
をダウンロード。 -
zoteroにインポート
ツール
→plugins
→歯車
→install plugins from file
でzotero-better-bibtex-7.0.26.xpi
をインポートし、zotero再起動。 -
zoteroのsitekeyの設定
obsidian側でsitekeyが引用する時に大事。(らしい)
マイライブラリにある文献を全て選択してから、auth.lower + year + month
にして筆頭著者+年+月にする。- 変わらないときは文献を選択して、右クリック>better bib tex>reflesh bibtex key
- 変わらないときは文献を選択して、右クリック>better bib tex>reflesh bibtex key
-
zoteroからbibをエクスポートする
文献全部をuploadしたいので、マイライブラリ>エクスポート。(多すぎる場合は試しに一つだけとかでいいと思います)!
フォーマットはBetter BibLaTeX
(なんでもいい?)を選択し、自動でアップロードと注釈を付けるに✅を入れる。
エクスポート場所はObsidian Vault
の中のarticleフォルダを指定して、article.bibを作成する。
✅Step2. obsidianが参照できるように(obsidian側の設定)
-
コミュニティプラグインからのインストール
- Zotero Integration
-
Templaters
をインストールし、有効化
-
文献から抽出する情報のtemplateの作成
- obsidianに
template/code
フォルダを作成 -
template/code/zotero_integration
を作成し、以下をペースト
--- {% if title %}title: "{{title}}"{% endif %} Tags: {% if allTags %} {{allTags}}{% endif %} {% if publicationTitle %}Publisher: "{{publicationTitle}}"{% endif %} DOI: https://doi.org/{{DOI}} cite key: {{citekey}} description: rating: --- ## Projects {% for collection in collections %}#project/{{collection.name}} {% endfor %} {% if pdfZoteroLink %}zotero: {{pdfZoteroLink}}{% endif %} # {{title}} ## Authors {% for creator in creators %}#auth/{{creator.lastName}}{{creator.firstName[0]}} {% endfor %} ## Abstract ```{{abstractNote}``` ___ ## ノート {% persist "notes" %}{% if isFirstImport %} Write notes here! {% endif %} {% endpersist %} ___ ## AI要約 ___ ## 注釈 {% for annotation in annotations -%} {% if annotation.allTags %}#{{annotation.allTags}}{% endif %}{%- if annotation.annotatedText -%}{% if annotation.color %} <mark class="hltr-{{annotation.colorCategory | lower}}">"{{annotation.annotatedText | safe}}"</mark> {% else %} {{annotation.type | capitalize}} {% endif %}[Page {{annotation.pageLabel}}]{%- endif %}{% if annotation.comment %} **コメント** {{annotation.comment | safe}}{% endif %}{%- if annotation.imageRelativePath %} ![[{{annotation.imageRelativePath}}]] {%- endif %} {% endfor -%}
- obsidianに
-
Zotero Integrationの設定
Note Impote Locationをさっき作成したarticle/article.bib
-
obsidianノートの体裁を整える
- 作成するフォルダ:プロジェクトごとに作成
- ファイル名:著者+年+月 (
Ohtani.S(2025.5)
みたいな感じ。)
最終的に、article/{{collections[0].name}}/{{creators[0].lastName}}.{{creators[0].firstName[0]}}({{date | format("YYYY.MM")}}).md
にした。 - imageはattachmentsに保存されるらしいですが、この設定だとおそらく保存されません。
- ノートのテンプレートは
template/code/zotero_integration
- その下のBibliography styleはお好みで。(The ISME Journalにしてます。)
5. Importしてみる。 - コマンドパレット(Ctrl/Cmd+P)からzotero Integration: zotero article
(ホットキーを割り当てておくと楽、自分はCmd+Shift+z) - zoteroのimporterが起動するので、何か論文を選択。
- こんな感じになったらひとまず成功
👌すこしプロパティ欄の説明
- プロパティはメタデータの収集に使われる。
- tagsにはキーワードを入れる(zoteroのタグには反映されない)
- citekeyは紙媒体のノートや
- descriptionには簡単な要約
- ratingには⭐️をつける、最高の論文には三つ星を。
✅ Step3.AIによるアブスト要約(chatgptは有料なので、gemini)
-
geminiのAPI keyを取得する。取得方法はググってください。
-
copilotコミュニティプラグインをインストール
-
コマンドリスト(macはcmd+p)からCopilot: Add custom promptを選択
-
タイトルは「AI要約」、内容は以下の通り
### **研究の概要** - 本研究の目的および主要な提案内容を簡潔に記述してください。 ### **先行研究との差異および優位性** - 本研究が先行研究と比較して新規性を有する点や、優れている点を示してください。 ### **主要な技術・手法** - 本研究で採用された主要な技術や手法について説明してください。 ### **議論および課題** - 研究成果や提案手法に関する議論点、制約、今後の課題について記載してください。 ### **関連文献・推奨論文** - 本研究に関連する主要な参考文献や、次に読むべき論文を紹介してください。 ### **キーワード** - 本研究に関連するキーワードを5つ紹介してください。
-
左サイドバーの吹き出しマークのopen copilotを開く。
-
/AI要約と入力しEnter。(この時点では回答は得られない)
-
見たい文献ノートを開いて、以下の右下のように入力して、(current)のやつを挿入する。
-
AIからの返答をAI要約の欄に挿入するとこんな感じ。
✅Step.4 メタデータを取得してみる
- Dataviewをインストール。
- 例えば、自分のとあるプロジェクトについて文献ノートのメタデータをまとめてたいときは以下のコードを入力する。(3連バッククォート内に)
table
without id
elink(doi,title) as Title,
publisher, description,
link(file.name) as Author,
rating
// フォルダ名とタグ名を入力
from "article"
and #projectA
sort rating desc
すると、articleフォルダの中にあるTag: ProjectAに関連する論文の一覧が見られる。
さらに、条件をタグで絞りたいときは、
table
without id
elink(doi,title) as Title,
publisher, description,
link(file.name) as Author,
rating
// フォルダ名とタグ名を入力
from "article"
and #projectA
and #E.coli
sort rating desc
みたいにすると、projectAにかかわるものの中で、E.coliタグを含むものだけが抽出される。
- ちなみに、ratingを設定したのでrate順に表示される。
😠これから実装したいこと
文献情報を取り込み、それなりのフォーマット、それなりの汎用性のある文献ノート作成システムを実装できた。
今後は、
- 文献を取り込んだら全自動でobsidianにノート出力
- グループ内でnoteを共有
を実装していきたいので、アドバイスいただけると嬉しいです。
👍さいごに
obsidianは使い始めたばかりなので、アドバイス等ありましたらよろしくお願いします。
Discussion