读书总会想记住的句子。大多数人会在书上划一下,写一写,好一点的记到本子上/软件里。以上方法,本质上都属于“存了等于记住”的错觉。下一次用到时想脱口而出,主要靠运气。运气好了想到个七七八八,勉强掉次书袋;运气不好了支支吾吾,恐怕还要去搜。至于搜不搜得到,又是另一个问题。
怎么才能真的记住这些句子,说话时即兴而出?@Minja 提倡用 Anki 记。这方案,乍一看莫名其妙,实一想必须如此。单词考点也好,台词名言也罢,都是拿脑子东西。既然是拿脑子记东西,则都要遵从遗忘规律。于是用针对性的 Anki 来记它们,便是理所当然。
Minja 在他的教程里把搬摘抄到 Anki 的流程覆盖到了网页、Kindle、DEVONthink、Calibre,偏偏没有带上苹果原生的 Apple Books。恰逢本站会员提出要求,希望有一个 Apple Books 批量导出批注到 Anki 的方案,于是补上这篇。
流程总结
从 Apple Books 批量导出批注再导入 Anki 的流程十分明确,如下4步:
- 批量获取摘抄:从 Apple Books 里把摘抄都拉下来。
- 手动挖空儿(可选):如果做成 Anki 里的填空题,可以更好地帮助记忆。
- 批量修改排版(会用到 ChatGPT):把批注的内容格式用 AI 处理一下。做成 CSV 格式文件
- 把 CSV 发送到 Anki:把做好的 CSV 文件拽到 Anki 里,问题解决。
很明显,基本上各个环节都可以有不同的工具和执行方法,本文所提到的方法・工具仅供参考。
另外,为了不让文章乱掉,这篇仅解决 macOS 上的 Apple Books 批量导出批注到 Anki 的问题。单独在 iOS 上也可以做同样的操作,会另写一篇。熟悉 iOS 自动化的人则完全可以自己尝试。
批量移动 Books 批注到 Anki 的关键步骤是:批量获取摘抄和把 CSV 发送到 Anki。在 iOS 上如何做到这些已经在 Premium 的第 16 期和第 17 期覆盖到了,有视频(和本文中的视频类似),会员可以参考。
第一步:批量获取摘抄
在 macOS 上 Apple Books 里批量获取摘抄十分简单:
如视频所示:
- 首先你要展开所有批注
- 然后点击空白处
- 再全选(
⌘Command - A
) - 最后复制(
⌘Command - C
)
第一步完成后,我们拿到的是这样的内容:
2023年2月18日
“我的投稿,平均每月八九篇”
投稿频率上赶得上本站 Minja 了。
2023年2月18日
“所以银行家说贮蓄救国,卖稿子的说文学救国,画画儿的说艺术救国,爱跳舞的说寓救国于娱乐之中,还有,据烟草公司说,则就是吸吸马占山将军牌香烟,也未始非救国之一道云。”
2023年2月18日
“外国用火药制造子弹御敌,中国却用它做爆竹敬神;外国用罗盘针航海,中国却用它看风水;外国用鸦片医病,中国却拿来当饭吃。同是一种东西,而中外用法之不同有如此,盖不但电气而已。”
笔记摘自: 鲁迅. “伪自由书。” Apple Books.
基本就是比较裸的内容,特点如下:
- 高亮文本的颜色属性消失
- 原文被引号包裹、批注没有引号
- 每一则高亮批注带有日期、哪怕批注都是同一天批注的也是每则都有日期
- 文末带有作者和出处等版权信息
第二步:挖空儿(可选)
获取批注后,下一步是为什么我们用 Anki 的关键——挖空做填空卡:
做填空卡的原因在于,输入是记忆很重要的一步。很多人在记忆的时候只注重背,但不注重自己主动思考去记,这很糟糕。
单纯地背是不走脑子的。输入在脑子里的内容一方面基本上是被当成随机信息,所以严格服从遗忘曲线,稍一分心还要更惨。另一方面这种读读念念就像是蜻蜓点水,在你的大脑里划不出深刻的印记。
背单词的时候,使用一些关联记忆法,比如把害虫(Pest)根据发音记成“拍死它”,就在输入这个记忆的时候在脑子里建立更多链接。但是这是别人的巧妙构思,其中自然有普适的,但也未必全都适合于你。所以对于自己来说,输入记忆时最好主动对要背的东西进行思考。
而自己给自己做挖空儿题,就是在输入时思考的过程。你为了挖这个空,你会读了很多遍这句话,思考要挖掉哪个词,为什么挖掉它。这个思考过程在你不自觉中一遍一遍地在大脑里把记忆划深。效果要远比扫一眼的“死记硬背”强。
用 Anki 做填空卡的基本方法,是把你要背诵的词改成{{c1::要挖空的词}}
。
以鲁迅这句为例:
“外国用火药制造子弹御敌,中国却用它做爆竹敬神;外国用罗盘针航海,中国却用它看风水;外国用鸦片医病,中国却拿来当饭吃。同是一种东西,而中外用法之不同有如此,盖不但电气而已。”
如果我们把“火药”、“罗盘针”给挖空儿,那就是:
“外国用{{c1::火药}}制造子弹御敌,中国却用它做爆竹敬神;外国用{{c1::罗盘针}}航海,中国却用它看风水;外国用鸦片医病,中国却拿来当饭吃。同是一种东西,而中外用法之不同有如此,盖不但电气而已。”
如果有的句子短,不需要挖空。则可以在句末加一个 {{c1::}}
:
“任他们斗争着,自己不与斗,只是看。”{{c1::}}
这样 Anki 就会把它视为填空题。
这里多解释一下为什么这个卡分明不是填空卡,我们还硬要在句末加这个 。
首先,我们在操作的过程中,是在批量导入。批量导入就要批量选卡片类型。而处理批注的话,主要用的是填空类型的卡片,那不如索性全做成填空类型的内容格式。
直接做成正反卡,反面没东西也可以把不需要挖空的卡片成功导入 Anki,效果一样。只是需要另行处理和导入,麻烦了一点。
在这一步之后,批注应该变成了这样:
2023年2月18日
“我的投稿,平均每月八九篇”
投稿频率上赶得上本站 Minja 了。{{c1::}}
2023年2月18日
“所以银行家说{{c1::贮蓄}}救国,卖稿子的说{{c1::文学}}救国,画画儿的说{{c1::艺术}}救国,爱跳舞的说{{c1::寓救国于娱乐}}之中,还有,据烟草公司说,则就是吸吸马占山将军牌香烟,也未始非救国之一道云。”
2023年2月18日
“外国用{{c1::火药}}制造子弹御敌,中国却用它做爆竹敬神;外国用{{c1::罗盘针}}航海,中国却用它看风水;外国用鸦片医病,中国却拿来当饭吃。同是一种东西,而中外用法之不同有如此,盖不但电气而已。”
笔记摘自: 鲁迅. “伪自由书。” Apple Books.
第三步:批量修改排版
所有批注认真读一遍,挖完空之后,你的印象已经加深很多。下一步,需要把这些挖了空的高亮批注,给处理好排版,才能喂给 Anki。
Anki 批量导入的方法是拖 CSV 进去。所以我们的关键就是把这一堆批注做成 CSV 格式。随后还可以进行一些加工。
当我们把多条划线了的内容从 macOS 上的 Apple Books 复制出来,它会是这样:
2023年2月18日
“我的投稿,平均每月八九篇”
投稿频率上赶得上本站 Minja 了。
2023年2月18日
“外国用火药制造子弹御敌,中国却用它做爆竹敬神;外国用罗盘针航海,中国却用它看风水;外国用鸦片医病,中国却拿来当饭吃。同是一种东西,而中外用法之不同有如此,盖不但电气而已。”
笔记摘自: 鲁迅. “伪自由书。” Apple Books.
- 每一条划线内容带有划线的日期(日期跟随 Apple Books 的语言)。
- 高亮文本被引号包围
- 批注没有引号
- 多条批注之间没有特别的分割
- 最后有整本书的版权信息
把上面的内容,转化到 Anki 里,我们想看到的是这样的卡片:
- 带有日期
- 每一条下面都有作者和出处
- 有点左中右的排版(Anki 默认都是居中)
这,就要祭出 AI 来了。这些要求手写简单但不轻松。告诉 AI,AI 会把任务轻松帮你完成。
我处理 macOS 的 Apple Books 里批量复制出的高亮批注为 Ani 卡片的 Prompt 如下:
Do these things to the contents under `----`
1. Set the date and the content under the date as one group
2. add the author and the name of reference to the last line of each group, align to right
3. don’t convert the curly bracket and the contents inside them to HTML
4. use HTML to wrap each group, bold the date, align to left, quote the contents between the quotation marks
5. After 4 steps above, use `"` to wrap each HTML group to make each group as a CSV cell.
处理完之后,我们的摘抄就会变成可以直接拖入 Anki 的 CSV 格式了。把下面的结果给保存,命名为 摘抄 2023-03-16.csv
,就可以直接扔给 Anki 了:
"<div style='text-align:left;'><strong>2023年2月18日</strong></div>
<blockquote>“我的投稿,平均每月八九篇”<br>投稿频率上赶得上本站 Minja 了。</blockquote>
<div style='text-align:right;'>- 鲁迅,《朝花夕拾》</div>"
"<div style='text-align:left;'><strong>2023年2月18日</strong></div>
<blockquote>“所以银行家说{{c1::贮蓄}}救国,卖稿子的说{{c1::文学}}救国,画画儿的说{{c1::艺术}}救国,爱跳舞的说{{c1::寓救国于娱乐}}之中,还有,据烟草公司说,则就是吸吸马占山将军牌香烟,也未始非救国之一道云。”</blockquote>
<div style='text-align:right;'>- 鲁迅,《伪自由书》</div>"
"<div style='text-align:left;'><strong>2023年2月18日</strong></div>
<blockquote>“外国用{{c1::火药}}制造子弹御敌,中国却用它做爆竹敬神;外国用{{c1::罗盘针}}航海,中国却用它看风水;外国用鸦片医病,中国却拿来当饭吃。同是一种东西,而中外用法之不同有如此,盖不但电气而已。”</blockquote>
<div style='text-align:right;'>- 鲁迅,《伪自由书》</div>"
这里附上与 ChatGPT 对话全图的下载链接。图片有点长,为了美观不放在文章里了。
第四步:把 CSV 发送到 Anki(用 Anki 打开 CSV 文件)
最后一步把 CSV 发送到 Anki 已经可以在全平台使用拖拽啦。
macOS 直接把 .csv
文件拽到 Anki 里完事:
iOS 端批量导入卡片到 Anki
- 长按 Files.app(文件.app)中要导入到 Anki 的
.csv
文件 - 选择“分享”
- 在 App 里选择 Anki
最后,不要忘记批量导入时在选格式的时候要选择“填空题”: