基于 Zotero 与 Obsidian 的个人知识管理系统:从输入到输出

还是有蛮多人对于原文与笔记怎么处理,笔记如何自动导出其他格式等问题。这里就简单的说一下我的工作流。大家可以自行参照所需的部分。

思路

基于 Knowledge Organization 领域学者的观点,其实个人知识管理主要就是在干以下几件事:

  1. 获取信息
  2. 组织信息
  3. 提炼知识
  4. 组织知识
  5. 应用知识

说得通俗一点就是:

  1. 发现自己想看的文章、书籍
  2. 保存、组织这些文章、书籍
  3. 阅读这些文章或书籍,从中获取知识
  4. 组织自己学到的知识。组织笔记就是组织知识的一种形式。
  5. 把知识以写作、演讲等方式应用起来。

在以上各步骤中,我们都可以使用一些工具来帮助我们更好的完成任务:

  1. 使用 RSS 更好的发现信息
  2. 使用 Zotero 保存并组织文章、书籍
  3. 还是靠大脑吧
  4. 使用 Obsidian,并通过特定的语法引用文献。
  5. 将笔记简单整合后通过 Pandoc 自动格式化输出。

关于 1 其实已经有很多文章讲过了,所以本文就不过多赘述了,主要讲讲 2-5 的步骤细节。

准备

  1. 下载 Zotero,并安装茉莉花、Better bib 插件。
  2. 安装 Pandoc。

使用 Zotero 保存、组织文章和书籍

当我在浏览器中看到感兴趣的文章时,我会直接使用 Zotero 自带的抓取功能。在开源生态的加持下,Zetero 不仅对于学术网页抓取效果良好,对于中文媒体网页的抓取效果也不错(抓取前请安装茉莉花插件,批量安装中文媒体网页的专用解析器,以提升抓取效果)。

这是我抓取的公众号文章的文件,效果不错。

元信息识别得也很准确。

抓取完毕后,我会基于《中图法》给文章或书籍分类,同时打上相应的主题词。(具体细节可看我之前的文章:如何构建自己的笔记系统? - Ryooo的回答

阅读、记录

保存完文章或书籍后,我就会开始自己阅读上面的内容,并且会将想记录的观点记录到 Obsidian 中。

记录主要有两个关键点,一是引用,二是组织。

引用

我们做笔记时,任何来自他人的观点都要引用出处,无论是直接引用还是间接引用。这点主要是为日后输出提供便利——如果我们在记录笔记的时候就做好引用,那未来输出的时候就不必再大费周章的找出处了。

引用出处的方式有很多,我们可以使用最简单的“见 xx 的 xx 文章 xx 页”这样的形式,也可以使用更技术化一些的手段。这里我推荐使用 Pandoc 的引用语法。

Pandoc 的语法很简单,在观点的末尾插入 [@citekey] 这样的语法即可。比如下图左边的笔记就能通过 Pandoc 生成右边的 docx 文件。

image

所谓 citekey 是我们 Zotero 文献库中文献的身份证号。Pandoc 在读取到我们笔记中的引用语法后,就能将这个独一无二的文献身份证号转换为参考文献信息。当然,具体怎么转换后文再细说。

添加 Pandoc 引用语法也有不同的方式。我们可以手动键入,也可以通过 Obsidian 的 Citation 插件生成,也可以使用 Quicker 动作(比如我就写了一个简单的小动作 引用 & 回溯))。当然到底怎么插入语法那就是萝卜青菜的事了。

组织

这点其实讲得也太多了,我是依据 KG 笔记法判断记录下的观点应该放在哪篇笔记内,具体细节可以看 释放图谱的力量——KG笔记法 。当然这一步也可以使用其他笔记法对笔记进行组织。

输出

输出有很多方式,常见的就是写文章了。在我们完成以上步骤以后,输出文章就是一件很简单的事:把笔记当成素材,多篇笔记整合后形成一个md 文件,然后再用 Pandoc 把这个文件转换成 docx 或其他文件,我们就能形成一篇引用严谨的文章了。

使用 Pandoc 只需要我们在 cmd 输入如下语句即可:

pandoc "笔记的路径" -o output.docx --bibliography="bib文件路径" -M reference-section-title="参考文献" --csl="csl文件路径"
`

具体详解见:https://sspai.com/post/64842

Obsidian 强大的生态也简化了这个输出步骤,我们只要安装 Pandoc 插件就能在 Obsidian 内完成以上转换(但是这个插件似乎有些小 Bug,目前我无法使用该插件完成转换,看看有无大佬知道具体原因)。

完!

9 个赞

抓取的文章,相当于离线了吗,文中的图片是否保留?

网页加载完毕的情况下图片都保留

1 个赞

R佬,这一步自己尝试了数日,都没解决。主要需求是,在ob笔记中已插入citekey后,使用 pandoc 插件(已安装ob-pandoc插件+完整版pandoc软件)导出doc文件时,不能正确转换为参考文献的内容和条目,「@citekey」导出后还是@citekey的字符信息,请问这个能不能展开详解一下。
您推荐的链接

也参看过 Pandoccitations,但自己水平实在有限,故而又来求助Ryooo了。
希望你余兴之时可以帮助解答一二。

不知道你具体是哪里出问题了…

首先,笔记内文本要有[@citekey]这样的字符串。

其次要有.bib文件,记录所有citekey对应的元信息。

最后,使用正确的pandoc转换命令,要告诉pandoc你要转换什么文件,用的bib文件在哪里,csl引文格式文件在哪里,输出成什么样的文件。

pandoc插件是要在设置里附加信息的,通过插件告诉pandoc bib路径等内容,否则插件没法格式化引文

我就是不知道怎么在ob pandoc插件中设置bib路径和csl :two_hearts:,尝试了很久,没有成功,手比较笨 :laughing:

目前我的ob-pandoc最后一项设置「extra pandoc arguemnets」为
--bibliography"/Users/isaac/Downloads/filename.json
也尝试过
bibliography"/Users/isaac/Downloads/filename.json
但始终不得要领,未成功。
综上,
问题总结:不知如何正确设置bib路径和csl故而求互助。

–bibliography=“bib文件路径” -M reference-section-title=“参考文献” --csl=“csl文件路径”

用这个

1 个赞

非常感谢Ryooo指点。
这是我目前的设置:
-- bibliography="/Users/isaac/Downloads/my_bib.json" -M reference-section-title="参考文献" --csl="/Users/isaac/Downloads/china-national-standard-gb-t-7714-2015-author-date.csl"
(注:最前方应该有两横-,但网站显示受到限制)
但我目前导出的docx仍旧不能正确引用。
猜想:是bib文件选用.json受限,我会在之后更改bib文件格式后再次尝试,因为需要连带修改citation插件中相关的文件路径
补充:citation中可读取格式为.json以及bibLaTex。选用bibLaTex后,仍旧未成功。目前没有方向,继续改进。修改尝试中,都有注意重新加载ob后再执行pandoc导出docx操作。

关于「csl」文件的说明,可以通过Zotero Style Repository,下载。具体操作在Ryooo分享的 Markdown 写作,Pandoc 转换:我的纯文本学术写作流程 - 少数派也有提及。

其实我换了电脑后在插件里用这个语句也导出不了 :grin:

但是命令行可以

请问这个有哪些解析器呢,我只找到这个

试了一下,保存少数派网页还是没图,保存知乎问题提示这个(Safari Chrome都试了):
image

保存B站视频信息和豆瓣条目似乎没问题。

顺带问下关于RSS,楼主用的是什么阅读器呢。
问这个问题是因为我之前看到devonthink能做RSS阅读器,现在又看到zotero也能做RSS阅读器,这让我感到很困惑,如果没有一个运行着的服务器去读网站提供的RSS,那不就只有每次打开软件的时候,软件才能读取到

不知道,你想要的是这个吗?

奋斗至今,我也终于在「命令」上成功了。就先凑活用吧! :kissing_heart:

  1. 少数派没图可能是网页没加载完,抓取前要浏览全网页确保图片都加载完了以后再抓取。不过少数派的抓取效果不算很好,因为没有对应的翻译器,只能凑合抓。

  2. 在有翻译器的情况下知乎抓取是没问题的。

  3. 可以下载茉莉花插件批量安装翻译器,不用手动一个个下。

  4. RSS 我用 inoreader。

1 个赞

R佬,想请教一下,zotero中修改了citekey后,需要如何操作能同步到ob中,可以更新旧信息用于引用,或者说需要什么同步按钮操作方可成功。目前尝试了ob中citation命令,refresh citation database,没有效果。也多次重启zotero和ob,但目前没有效果。

因为无论是记载参考文献信息的bib还是引用参考文献哦md其实都是纯文本的东西,所以软件是没法自动修改的。因此并不推荐改citekey,而是一开始就确定好一个生成语法,然后一直沿用。真要改的话改了以后手动在ob里全局替换就行了。

感谢分享!关于Pandoc插件转换的问题,插件作者似乎提供了说明:
https://github.com/OliverBalfour/obsidian-pandoc/wiki/Citations-(work-in-progress)

然而我测试在「Extra Pandoc Arguemnets」设置为 --citeproc --metadata bibliography=/path/to/report.bib 却还是并没有成功,不过另一个YAML语句的方法可以完美运行。最后我的选择是在自己的笔记模板中加上这行YAML,避免每次都要写。

1 个赞

Ryooo大佬您好!@Ryooo
很激动发现了您写的快捷动作,在安装时出现了点问题,向您请教:
在设置所使用pdf浏览器这一步,我使用的是 acrobat,acrobat自动打开了一篇文献后,运行出现了以下提示,请问这是哪里出现了问题呢?谢谢您!
image