本文使用 Zotero 作为论文引入和统一管理的工具, 使用 Obsidian 作为论文笔记软件, 将 markdown 格式的论文笔记作为 RAG 知识库的来源.
Zotero 安装与配置
在 archlinux 下, 可以方便地安装 zoteroarchlinuxcn:
| |
接着打开应用, 登录/创建账号, 安装浏览器扩展. 在顶栏的编辑中, 打开设置选项, 进入设置界面, 在此可以进行相关设置.
Zotero 插件
在我的这套工作流中, 最重要的是将 Zotero 的论文附带元信息导出到 Obsidian 中. 为此, 需要配置 Zotero Better BibTex 插件. 从 Release 页面中下载最新的 .xpi 文件, 然后点选 Zotero 顶栏的 工具 -> 插件 打开插件管理页面, 点击右上角的齿轮按钮选择 Install Plugin From File, 然后选中下载的 .xpi 文件即可安装.
接着配置 Better BibTex 插件. 进入设置页面, 左侧侧栏中找到对应的插件. 最关键的是引用格式公式, 我采用的格式是:
| |
如果在修改这里之前已经导入了若干论文, 为了更新已有论文的引用格式, 需要选中那些论文, 打开右键菜单, 点击 Better BibTex -> 刷新 BibTex 引用.
Zotero 同步
默认地, Zotero 可以同步元数据和论文 pdf, 但是存储 pdf 需要消耗云盘空间, 对免费用户来说额度相当有限. 可以采用自建 webdav 的方式来跨设备同步 pdf.
这里我使用 ugeek/webdav 容器来提供 webdav 服务. 在 Zotero 设置界面, 在同步选项栏中, 将我的文库附件同步方式设置为 WebDAV, 然后配置相应的 URL 等即可.
Zotero 目录组织
我会使用两个标准来管理论文, 一是项目层级, 二是内容层级.
在项目层级上, 我会创建两个主分类: 课题进行中和课题归档. 顾名思义, 课题进行中的子分类是我当前正在研究的课题, 而课题归档则是我已经完成研究的课题. 当一个课题完成后, 只需将对应的子分类拖放到课题归档中即可.
在内容层级上, 我会创建一个知识库主分类, 其下按照论文的主要贡献, 将论文唯一地保存到某个主题中去. 这样有助于我后续做知识库整理.
总体而言, 我的 Zotero 文件整理结构如下:
课题进行中/课题1/论文课题归档/课题114/论文知识库/主要贡献领域/论文
Obsidian 集成
接下来是重头戏, 将 Zotero 与 Obsidian 集成起来.
在 Obsidian 中安装 Zotero Integration 插件, 然后进入对应插件的设置, 进行下列配置:
- Note Import Location: Zotero 笔记导入的路径
- Import Formats:
- Output Path: Zotero 论文导入的路径, 这里根据我前面的目录整理架构, 我会按照知识库中的文件夹结构来导入.
Papers/{% set subFolder = "未分类" %}{% for c in collections %}{% if "知识库/" in c.fullPath %}{% set subFolder = c.name %}{% endif %}{% endfor %}{{subFolder}}/{{citekey}}.md - Image Output Path: 论文对应的图片的导入路径, 我简单地写了
Papers/Attachments/{{citekey}}/ - Template File: 论文导入到 Obsidian 中采用的导入模板路径.
- Output Path: Zotero 论文导入的路径, 这里根据我前面的目录整理架构, 我会按照知识库中的文件夹结构来导入.
我的 Obsidian 论文模板如下:
| |
接着打开 Ctrl+P 打开命令面板, 键入 Zotero Integration: Import Papers 即可进入论文选择界面, 导入文章了.