Zotero + Obsidian で作る柔軟な論文メモ環境

# 1 はじめに
論文のメモを Zotero + Obsidian でうまく残す方法をまとめました。日本語ではあまり情報がありません。
手順が多いので、地道に頑張りましょう。
## 1.1 本稿で達成できること
- Web 上の論文データを適切にテンプレートに取り込んだノートを簡単に作成できる。論文ごとにメモを取りたい人の情報整理が簡単に！
- Obsidian や Zotero といった便利な道具を使い始められる。
## 1.2 本稿の問題点
- **情報がだいたい英語**：広く使われている手法ではないみたいなので、日本語の情報があまりないです。英語でドキュメントを探すといろいろ出てきますが、初めてだと大変かも。この機会に慣れよう！
- **プログラムも英語**：多少は日本語に翻訳されているものもあるはずですが、拡張機能などは英語のみのものが多いかも。この機会に慣れよう！
- **設定の仕方がわかりにくい**：Zotero も Obsidian も設定事項が多く、しかもどれがどれなのか分かりづらいです。本稿ではなるべく明瞭に指示したつもりですが、サボって画像をあまり入れてないのでわかりにくいかも。頑張ればどうにかできます！
# 2 Zoteroとは
[Zotero](https://www.zotero.org/) は、論文管理ソフトの一種です。無料です。もともと使っていて使い心地が良いので今回も用いています。Obsidian と相性が良いです。

https://www.zotero.org/

# 3 Obsidianとは
[Obsidian](https://obsidian.md/) とは、「柔軟さとプライベートさを兼ね備え、考え方に合わせて適応できるメモアプリ」(HPより) です。慣れるまで時間がかかりますが、慣れるとかなりいろんなことができます。今回はZotero との相性が良いということで選んでいます。無料です。

https://obsidian.md/



# 4 概要
## 4.1 考え方
本稿で作成するワークフローは以下の通りです。Web 上の論文データを Obsidian のノートに取り込んで自動でそれっぽいノートを作成します。
1. Web→Zotero
2. Zotero→Obsidian
3. Obsidian→Obsidian テンプレート
## 4.2 環境の準備
使ってるバージョン等は以下の通りです。軽く触った感じ Windows でもいけます。
> **Macbook**: M2 chip, macOS Sonoma 14.0
> **Zotero**: 6.0.37
> **Obsidian**: 1.5.12
# 5 Zotero
## 5.1 導入するもの
- **Zotero**：メインのプログラム。
- **Zotero Connector**：Zotero のブラウザ拡張機能版。論文サイトから PDF やメタデータをまとめて Zotero に保存できる。論文以外のサイトも Zotero に URL 等流し込めるので、いろんな情報整理に応用できる。これがないと始まらない。
- **Zotfile**：Zotero のアドオン。PDF の保存先と名前を任意に設定できる。わかりやすい場所にわかりやすい名前の PDF がまとまってるだけで嬉しくなります。
- **Better BibTex**：Zotero のアドオン。よくわかっていないが Zotero+Obsidian には必須。BibTeX で参照するときに使うような citekey を自動生成してくれるのがメイン機能っぽい。
## 5.2 Zotero
では順番に入れていきます。まず Zotero は https://www.zotero.org/ からダウンロード。インストール時の設定はお好みで結構ですがデフォルトで大丈夫です。
## 5.3 Zotero Connector
 https://www.zotero.org/download/connectors から使用しているブラウザに導入します。**Zotero を開いた状態で**拡張機能を適当な論文サイトで使うと簡単に保存できるようになっていると思います。
 
## 5.4 Zotfile
アドオンは少し手間がかかります。まず https://zotfile.com/ にある "Download" から`.xpi`ファイルをダウンロード。
![Capture-2024-04-24-115332.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/277926/9f568f16-4f92-8a70-1136-60db434bba09.png)

Zotero画面上部のツールバーで、ツール (Tools)>アドオン (Add-ons) からアドオンマネージャーに入ります。右上にある歯車マークから「ファイルからアドオンをインストール (Install Add-on From File)」で、さっきダウンロードした.xpiファイルを選択。Zotero を再起動し、ツール (Tools) に「ZotFile Preferences (ZotFile設定)」があれば成功！
細かい設定は[ここ](https://necostat.hatenablog.jp/entry/2022/10/09/225731#ZotFile%E3%82%92%E3%83%80%E3%82%A6%E3%83%B3%E3%83%AD%E3%83%BC%E3%83%89%E3%81%99%E3%82%8B)などを参照してください。
展望として、Google Drive などで設定してある共有フォルダに保存先を設定すると、自動で PDF を共有フォルダに保存できます。他デバイスの Zotero で同様に参照することで、大容量ドライブを経由して PDF を簡単に参照することができるようになります。Zotero にもクラウドストレージはありますが無料版だとかなり少ないです。
## 5.5 Better BibTeX
[下のリンク](https://github.com/retorquere/zotero-better-bibtex/releases/tag/v6.7.177) から、`zotero-better-bibtex-\*\*\*\*.xpi` ファイルをダウンロード、先程と同様に Zotero のツール>アドオンの歯車でファイルからインストール、再起動。ツール (Tools) に「Better BibTex Preferences（Better BibTex 設定）」があれば成功。

https://github.com/retorquere/zotero-better-bibtex/releases/tag/v6.7.177

## 5.6 ここまでのまとめ
任意の論文サイトで Zotero Connector の拡張機能を選択することで、メタデータと PDF が Zotero にまとめて保存され、それを Zotero 内で選択することで PDF を開くことができるようになりました。
ZotFile の設定から保存先や PDF ファイルの名前を変更することもできます。

# 6 Obsidian
## 6.1 インストール
https://obsidian.md/ からダウンロード。ファイルを開いて、"Create new vault" で始めます。
![Screenshot 2024-04-24 at 12.48.43.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/277926/b8fa8bd4-2a38-3cf7-39ca-bf0861724175.png)
## 6.2 Zotero Integration
Obsidianはプラグインが大量にあるのが特徴です。ここでは、ZoteroのデータをObsidianに読み込める Zotero Integration を導入します。
左下の設定（歯車マーク）から Community Plugins>Browse community plugins から、"Zotero Integration" を検索し、Install>Enable で完了です。

他にも大量のプラグインがあるので、適当に調べていろいろ入れると便利です。
## 6.3 Zotero Integration の設定
Zotero Integration を使うことで、テンプレートに Zotero にある論文データを流し込んだメモを自動作成することができます。
まずはテンプレートファイルを作成します。Obsidian 内で左上の新規ファイル作成から、任意の名前 (template など) でファイルを作成。
そこにテンプレートを記述します。自分は以下のようなものにしています：

```
---
tags: 
citekey: "{{citekey}}"
dateread: '{{importDate | format("YYYY-MM-DD")}}'
read: false
---
 > [!Data]
> **PDF** {%- for attachment in attachments | filterby("path", "endswith", ".pdf") %}
> [{{attachment.title}}](file://{{attachment.path | replace(" ", "%20")}}) {%- endfor -%}.
> **Link**
> {%- if url %}[{{title}}]({{url}}){%- endif %}
# 1 Notes



## 1.1 Results




## 1.2 Relation with my work




# 2 Citation
{{bibliography.slice(4)}}
# 3 Related
{%for relation in relations | selectattr("citekey") %} [[@{{relation.citekey}}]]{% if not loop.last %}, {% endif%} {% endfor %}

>[!Info]
{% for type, creators in creators | groupby("creatorType") -%}
{%- for creator in creators -%}
> **{{"First" if loop.first}}{{type | capitalize}}**::
{%- if creator.name %} {{creator.name}}  
{%- else %} {{creator.lastName}}, {{creator.firstName}}{%- endif %}  {% endfor %}{%- endfor %}
> **Title**: {{title}}
> **Year**: {{date | format("YYYY")}}
> **Citekey**: {{citekey}} {%- if itemType %}
> **itemType**: {{itemType}}{%- endif %}{%- if itemType == "journalArticle" %}
>**Journal**: *{{publicationTitle}}* {%- endif %}{%- if volume %}
>**Volume**: {{volume}} {%- endif %}{%- if issue %}
>**Issue**: {{issue}}{%- endif %}

> [!Abstract]
> {%- if abstractNote %}
> {{abstractNote}}
> {%- endif -%}
```
その後、Import Formats で Add Import Format から、テンプレ作成の設定を画像のようにします。
各設定項目の内容は以下の通りです（少なくとも Template File が正しければとりあえずノートが作成できるようになります）。
- Name：コマンドの名前。`Create Note`など分かりやすいので自由にどうぞ。
- Output Path：ノートを作る場所を指定します。メタデータも使えるので、`Article Notes/{{title}}.md`とすると、Article Notes というフォルダの中に、論文タイトルの名前をタイトルとするノートが新規作成されます。
- Image Output Path, Image Base Name：画像に関する設定だと思いますが、使っていないのでデフォルトのままです。
- Template File：参照するテンプレートファイルを指定します。先程作成したノートを指定するようにしましょう。フォルダの中に入れた場合は`Folder/literature note.md`というように反映しましょう。
- Bibliography Style：`{{bibliography}}`で読み出す引用スタイルの設定です。Zotero に引用形式がいろいろ入ってるしいろいろ設定できるのでお好みで。ちなみに設定画面ではBilbiographyと誤字ってますね。
加えて、"Open the created or updated note(s) after import"をオンにすると、作成したノートを自動的に開けるようになります。
![Screenshot 2024-04-24 at 16.45.27.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/277926/9cbf8aef-cd60-a991-35da-fc9646b8da7c.png)
テンプレの内容に関する細かい説明はここでは省きます。どこかに補足することはあるかもしれませんが、ないかも。自分に連絡くれれば答えられます。
`citekey`や`importDate`はZoteroにあるメタデータに関する変数です。その一覧は⌘+P (WindowsはCtrl+P) でコマンドパレットを開き、"Zotero Integration: Data Explorer" を入力して実行すると開くタブで見れます。"Prompt For Selection" を選択して開いたZoteroのコマンドラインに論文タイトルを入力し選択すると、その論文に関するメタデータリストが出ます。そこに出ているものが自由に選択できるので、使いやすいように書き換えましょう。
公式ドキュメントとして、[obdisian-zotero-integrationのテンプレの書き方](https://github.com/mgmeyers/obsidian-zotero-integration/blob/main/docs/Templating.md)や用いられているベースの記法である [Nunjucks templating language](https://mozilla.github.io/nunjucks/templating.html#variables)を確認するとなにかわかるかも。
## 6.4 使い方
⌘+P でコマンドパレットを開き、"Zotero Integration: Create Note" (後半部が上で設定したコマンド名)と入力、決定。するとZotero側で入力欄が出現するので、そこに論文名や著者、年度などで検索して選択します。うまく設定できてると、先ほど設定した場所に新しくファイルが作成されるはずです。
# 7 使ってみよう！
ここまで来ると、本稿が目指していた設定が完了しているはずです。実際に使って検証しましょう。
1. まずは適当なサイトに行き([こことか](https://www.science.org/doi/10.1126/sciadv.adj6438))、Zotero Connectorを使用してZoteroに論文データを取り込みましょう。
2. 取り込めたら、Obsidian に行き、⌘+P (Ctrl+P)でコマンドパレットを開き、"Zotero Integration: Create Note" を選択。
3. 指定した論文に関する情報が入ったノートが作成されたら成功！
全てうまくいくと、ネットで論文を見つける→ブラウザの Zotero ボタンで保存→Obsidian で論文を指定してノートを作成　という流れがスムーズにできるようになります。
やったね！
# 8 おわりに
ここまでお付き合いありがとうございました。
本稿は特に以下のサイトを参考に作成しました。ここでは触れていない機能（Pandocを使った引用のリスト化、自動化など）もあるので、興味があればぜひ調べてみてください。

https://medium.com/@alexandraphelan/an-updated-academic-workflow-zotero-obsidian-cffef080addd