org-zettel-ref-mode:快速制作 Zettelksaten 风格的文献笔记

终于实现生平的一个小愿望,自己做一个 package 出来,哈哈。

地址:GitHub - yibie/org-zettel-ref-mode at master

示例图:

主要功能:自动提取原文里的注释和摘要, 形成概览窗口, 保存为文献笔记

输入 M-x org-zettel-ref-init 命令, 即可调用 “概览窗口”, 里面显示在原文里记录的注释, 以及被标记的文本.

  1. 每一次形成概览, 都将自动形成一份文献笔记, 保存到你自定义的文件夹里
  2. 快速注释, M-x org-zettel-ref-add-quick-note 即可直接在输入注释
  3. 回顾文献笔记时, 可以从注释直接跳转回原文对应的位置, 重新阅读上下文
  4. 提供一套将其他格式的文档, 转换成 org 格式的方法.

背后的思考:兼顾广度, 和深度的阅读方法

TL;DR 版本:

  • 简单保存, 摘录或复制资料是不够的,需要对信息进行加工和处理才能转化为有用的知识
  • Zettelkasten方法强调用自己的话总结/回顾和建立联系, 提供了多次信息加工的机会, 但很多介绍忽视了Luhmann处理大量文献笔记的方法
  • 文献笔记是一种兼顾效率和深度的方法, 它记录要点和启发, 便于快速回顾和深入阅读, 同时有助于区分存量信息和增量信息

完整版本:

作为多年的笔记爱好者, 文字工作者, 我逐步体会到一些 “反常识”:

  • 直接保存, 几乎是无用的.
  • 直接摘录, 几乎是无用的.
  • 直接复制, 几乎是无用的.

背后的原因是, 简单的搬运, 只是增加了资料, 而忽略将资料的再加工. 还记得这个经典的层递关系吗? 资料 → 信息 → 知识 → 智慧.

Zettelkasten 方法总是强调让我们用自己的话总结, 要经常回顾过去的笔记, 增加笔记与笔记之间的联系, 从方法的角度, 它起码提供了 4-7 次信息加工的机会.

即便如此, 市面上讲述 Zettelkasten 的文字或视频, 总沉迷在介绍双链的狂热中, 陷入到直接资料保存的误区里 – 基本上忽略了 Niklas Luhmann 通过海量文献笔记处理资料的方法.

我引用一个数字, 在 Luhmann 留下的 90000 多张笔记卡片里, 有 10000 多张是文献笔记.

Luhmann 那令人惊叹的高产, 来自夸张的资料处理数量, 而这背后, 是他处理这些资料时体现的高效, 也就是文献笔记的制作.

Luhmann 有一个习惯, 是一边读, 一边记文献笔记. 他的书或者资料, 没有划线, 没有边注, 非常干净, 就好像没读过一样. 每一个文献笔记, 基本上是一份资料的索引. 只在必要时候, 他才会摘录书中的原文.

不过, 当我了解科研人员的制作文献笔记之后, 就发现, Luhmann 的文献笔记几乎和一般的科研文献笔记是一致的. 也是用自己的话注释, 同时记录这句话灵感在论文具体的出处, 等以后有机会再深入阅读.

换言之, 文献笔记这种方法, 是兼顾了效率和深度.

在没有必要对一份资料深入了解时, 用文献笔记记录要点(不是重要的内容, 而是对自己有用的启发); 等有必要深入时,再通过文献笔记快速找到对应上下文, 进行深度阅读和思考, 不用浪费时间重头再读.

除了兼顾效率和深度之外, 文献笔记还有一个好处, 那就是非常容易分辨存量信息和增量信息. 已经为类似概念, 重点做过注释的, 就是存量信息, 下次再另外一个资料里遇到, 就没有必要进行注释; 反之, 完全没有了解过的概念, 数据, 就值得添加注释, 记录出处. 让新知的发现变得更加容易.

org-zettel-ref-mode 的灵感借鉴了朋友 @lijigangorg-marked-text-overview, 由于自己改造的地方太多, 在经过沟通的情况下, 单独发布为 org-zettel-ref-mode.

17 个赞

老外还挺喜欢这个包的,今天上午一看已经 30 多个 upvote 了,在 emacs 板块里算不错

3 个赞

先点赞! 可否在B站整个演示视频?看了中文文档,有此建议。

很赞同LZ关于笔记要用自己的话总结的观点,package的使用能否录个视频或gif这样更直观。比如我对“自动提取原文里的注释和摘要, 形成概览窗口, 保存为文献笔记” 就不是很理解,“原文里面的注释和摘要”指的是什么?是org的语法格式嘛?如果是阅读其他地方的文本,该如何快速进行记录,不同笔记之间如何进行进一步关联和处理,等等。

2 个赞

等我在完善一点,把整体工作流做出来,那个时候就可以考虑录个使用视频

1 个赞

对,注释是通过添加 target link 形成的,因此会在原文留下类似 <<这是我的想法>> 这样的链接。

摘要是指,用 org-mode 的 加粗下划线 这样的标记进行提取。

这些文本会被提取出来,放与原文并列的概览窗口显示,同时这些内容会保存为文献笔记。

从软件工程来讲,就是这些文本提取之后,另外放进一个专门的 org 文件里, 新建一个 buffer 与原窗口并列显示。

不同的笔记关联,这个很简单的:制作文献笔记,相当于对当前的资料进行粗加工,如果你想起某个文献里的某个注释很有意思,特别值得深入研究,这是你可以通过自己的注释跳转回原文,然后在文献笔记里记录更多进一步想法,或者,直接将你的想法直接记录成永久笔记。

这时候,只需要在新建的笔记里,添加对文献笔记的关联就行了。

目前需要手动兼容 org-roam,用 org-get-id 指令为文献笔记添加 id,放进 org-roam 的笔记文件夹里,更新 db, 就能直接通过 org-roam 检索和创建关联了。

如果是 denote, 直接放进 denote 的笔记文件夹,然后用它改文件名的指令,就可以在 denote 里检索和创建关联了。

建议整视频。酷炫的效果一下子就能吸引住别人了。

好的好的,:laughing:

哈哈,被 Sacha 记录了

3 个赞

恭喜啊,哈哈。 sacha也是emacs界的大名人了。

1 个赞

org-zettel-ref-mode 0.2 更新:

  • 完善整体工作流, 提供自动化脚本处理不同格式的电子文档, 转换成 org 文件
  • 改善与其他工具的连接性, 通过自定义配置, org-zettel-ref-mode 生成的笔记文件可以以 denote, org-roam 的方式进行保存
  • 提供快速标记功能, 在源文件中高亮了某一个段落后, 可启动 =org-zettel-quick-markup= 快速为高亮文本添加加粗、斜体、下划线等标记
2 个赞

提个小意见,建议把mac那个.DS_Store 从git 库移除

1 个赞

我也觉得很丑,但每一次同步都会带上,挺烦的,Git 用的还不算熟练…

1 个赞

.gitignore 文件里面加一下就好了

1 个赞

好的,我已经用 .gitignore 排除了 .DS_Store

1 个赞

我看到你提交了一个 PR,是关于 org-zettel-covert-to-org 的,现在说明一下:

由于一直未能成功直接用 elisp 指令调用 py 脚本,所以我将该函数从主文件中移除了。

如果要使用 convert-to-org.py 脚本转换电子文档,直接在 terminal 下运行就可以了。

org-zettel-covert-to-org 作为一个实验性的功能,等待后续的完善。

嗯,首先要解决 elisp 调用外部脚本的问题。

猫大的项目lsp-bridge, holo-layer都是elisp调用python。看是否能参考?

1 个赞

那个pr不是我提的,哈哈哈 论坛里还有个老哥和我类似的头像 都是用工具生成的

嗯,我看看去。

@tianzhushan @Kinney 视频已经上传了:

【org-zettel-ref-mode 使用说明】 org-zettel-ref-mode 使用说明_哔哩哔哩_bilibili

4 个赞