title


在出差回程的飞机上,看着窗外的云海发呆,突然想起来前两天看到的这个问题:“如何对手写笔记进行漂亮(和高效)的排版?” 左右无事,就在本子上简单地答了一下,今天回到电脑上补了一下词句和格式,就发上来了。

抛砖引玉,请学霸和学神们轻拍——好吧,俺知道学神是不会点开这个问题的——“啥是手写的笔记,能吃吗?”——学神们从来不会手动地记笔记,他们的大脑就是随身带着的海量便携笔记。


大多数人(包括我自己)都认为,现在已然是数字时代——与传统的手写笔记相比,以数字形式呈现的笔记具有各种明显的优势。但是对前面那个问题的思考,让我回想起纸和笔的很多独特的优点,那么我们就先从手写笔记的好处说起吧。


    I like the process of pencil and paper as opposed to a machine. I think the writing is better when it's done in handwriting.

    - Nelson DeMille

正如 Nelson DeMille 所说,纸和笔的组合,其实是一个灵活度非常高的系统,基本上相当于以下这些工具的集合:

  • 一个朴素的文本编辑器
  • 一个朴素的画板
  • 一个朴素的制表工具 (利用横向的引导线,可快速形成表格)
  • 一个思维导图工具
  • 一个支持任意符号的公式编辑器

在下面的两页对开笔记中,我们可以看到,对于一份规划良好的笔记,其主人是如何娴熟地运用这些工具去表达内容的。

note-0

可以看到,这页笔记呈现的信息量适中,使用了流程图,弱对齐表格,概念分解大纲,阶梯缩进等方式去组织内容。可贵的是,这些形式都是为内容服务的,不仅不突兀,反而让信息的呈现显得均衡而优美。

如果你曾尝试过用上面提到的那些工具,搭配着去实现这一页笔记的效果的话,就会发现,这个过程远不如一支笔和一张纸,来得自然和流畅。


明确地说,纸和笔在以下这些方面具有一定的优势:

  1. __无限制的图文混排能力__
    • 各种点、线、面、文字和图形的任意组合混排。这种混排能力,运用得当的话,能让手写的笔记非常直观地展现出思维的原貌。
  2. __特殊符号的录入能力__
    • 除非专业的编辑,普通人在使用时,寻找和插入某个特殊符号是非常耗时且不便的,有时甚至根本找不到自己需要的符号。
  3. __内嵌不同信息格式的能力__
    • 表格,思维导图,信息流,各种公式,用手书写可以达到任意复杂度。而使用普通的字处理软件编辑一个公式的时间都够画十个小乌龟了。
  4. __无限制的信息编辑能力__
    • 在随着思考对笔记本上的内容涂涂改改,圈圈点点时,各种杂乱信息可以即刻反映出脑海中的即时图景。但各种字处理软件或笔记软件,在编辑大量图形化的信息时非常低效,手上的节奏完全跟不上脑子里思路的变化
  5. __无限制的信息结构化的能力__
    • 对于任何一页笔记,承载于其上的信息可以有任意多的组织方式,任何一个关键信息可能随时被追加到任何一个坐标点上,帮助做笔记的人厘清思路。这一点上 OneNote 可以部分达到这种便利性。

既然有这些好处,那么在实践中,具体应该如何去运用呢?

嗯,终于说到正题了。用题主的话讲,究竟该如何对手写笔记进行漂亮和高效的排版呢?

且听俺一一道来。


__一、使用关键字和精简后的短语,而不是完整的句子。__

保持极尽可能的简洁,最直接的好处就是__写得快__,而且单位面积信息量更大。刻意地只保留关键信息,对温习也很有好处,当翻开笔记时,可以随时展开并还原出完整的内容,并检验自己的理解程度和记忆效果。

看下面的这个例子:

note-1

这块笔记中,以概念和概念之间的关系为主,这是非常有效的形成__网状知识结构__的记录方式。通常能够帮助学习者廓清各种干扰因素,快速抓住事物的骨架和本质。


__二、有意识地留白和缩进,手动控制信息的布局和密度,考虑易读性。__

千万不要为了节省纸张,记得太满。有的同学的笔记记得像作弊条,密密麻麻。这样一方面关键信息容易被淹没,另一方面,后面要批注或添加新的信息也无从下手。

note-2

在这个例子中,可以看到笔记的主人有意识地使用了锯齿状的反向阶梯缩进来控制布局,信息不仅变得高度有序,而且产生了一种强烈的__韵律感__。大家知道,人们倾向于对优美和规律的事物印象深刻,而对混乱和无序的事物本能地抵触和厌恶。所以,如果记录下的信息呈现出一定的韵律感和节奏感,是非常有利于形成深刻的记忆的。

用笔记录的一大目的,在于__更有效地提取信息__。笔记记得越是密不透风,就像文件压缩得越厉害,提取信息就越慢,学习效率和转化率也就越低。


__三、使用一些程序设计的思维方式来组织信息,避免冗余。__

__「宏定义」__ 作为程序猿,我们喜欢把一些复杂的表达式定义为一个“宏”(macro),然后每次使用这个宏,就相当于使用了整个表达式。在笔记中,为了方便,我们完全可以把一些专有概念定义为一个宏,以便引用。举个例子,“跨省”就是一个很好的宏,一说你就知道是什么。

__「函数与信息引用」__ 作为程序猿,我们把通用的代码组织成函数或类,以免把同样的逻辑到处复制粘贴,反复修改,导致代码无法维护。把这种思想运用到笔记中,我们会尽量抽取信息的公共部分,在必要时加以引用,就可以避免迷失在重复而冗余的信息里。

这一招对理科的习题尤其管用,你会慢慢发现,那些被提取出来的公共部分,慢慢地就成了你的工具箱的一环,也就是各种解题方法论的来源。这个过程,俺称为 __“思维的工具化” (toolization)__ 。当你的积累达到一定程度(也就是工具箱里的工具足够多)时,你就会自然而然地在头脑中形成框架性的方法体系。这时,不管什么题目,只要立足于教科书上已有的知识点,你会比其他人更容易地分解为已知问题的集合,从而更快地解决问题。

__「模块化」__ 大多数人记录笔记的唯一方式,就是随着时间的流逝,不断地在末尾追加新的内容。今天记两个解题技巧,明天记几句课余讨论,后天又记两段课堂笔记,这其中又穿插着各种习题。这样其实是不太利于消化吸收的。更好的方法是按照主题划分地盘,相同相近的主题尽量放在一起,形成思维上的连贯性,避免不相干信息之间造成交叉干扰。如果有 __标签 (tags)__ 就更好了,在笔记本的边缘分门别类地打上标签,更有利于快速检索。

tags

本图取自这里(taobao 链接),感谢 linyukun2008 授权使用。


__四、善于设计和使用词汇表。__

在正文中如果用到了一个名词,概念,有必要补充说明的话,应该补充在末尾的词汇表里,这样当下次再遇到时,可以直接引用词汇表。如果只是记在“首次遇到这个概念”的地方,日后翻阅笔记时,就有可能会出现“找不到自己记在哪儿了”的尴尬。


__五、“关联式记忆”__

笔记不是学术论文,是写给小伙伴们看的(当然主要是自己),不一定要那么严肃,俏皮一点,卖个小萌,写点琐事,段子,甚至兴之所至写首打油诗,也未尝不可。多年以后,拿起自己的笔记,看着上面的片段,或温馨,或捧腹,或感动,别有一番滋味在心头。

note-3

画个小人,一下就记住了吧 ^_^

这种记忆方式学名叫做“关联式记忆”,意思是说,把你要记住的信息总是和一个特定的上下文关联起来。这样当你忘掉这个信息的时候,一回忆起当时的上下文,相关的信息就一下子都回来了。根据俺的经验,这一招对考试还是挺管用的。

note-4

“手绘版”图标——是上课太无聊了吧……


有一次春节回老家过年,整理十多年前的旧物,看到物理笔记本上写的小酸诗,打的欠条,从报纸上抄来的游戏攻略,上课时收到的小纸条,脑海中涌现出小伙伴们的音容笑貌,瞬间无比的清晰。这一本本学生时代的笔记本,在那时,也许只是应付高考的枯燥流水账,多年以后,却成了记忆中低声的沙沙私语和温柔的轻轻呢喃。


好了,在跑题跑到不着调之前,就这样收尾了吧。
在结束前,俺再多唠叨一句。技巧终归只是技巧,再多的技巧,也比不上“认真”二字。

你说呢?


另,感谢一下我的妻子 Jessie,本文中出现的笔记样本,均取自她在西山居 (感谢组织!) 安排的营养师培训讲座上的课堂笔记。看了她的笔记,俺终于明白,为啥初中和高中六年间的各种考试俺从来都考不过她了——还是收下俺的膝盖吧~~

(完)
Gu Lu


本文遵循 Creative Commons BY-NC-ND 4.0 许可协议。

Comments
Write a Comment

Tags

随笔   游戏开发   Programming   C/C++   优化   Unity   C++   知乎   游戏设计   比特币   Unity3D   区块链   软件开发   Bitcoin   引擎设计   系统架构   Production   idtech   中国文化   加密货币   项目管理   游戏评论   资源管理   资源流水线   效率   道德经   网络   方法论   模板编程   Blockchain   Lua   Blockchain Computing   Oculus   GDC   渲染   VR   PerfAssist   Unity MemoryProfiler   BCH   经济学   信息过载   行业报告   字体   Productivity   图形   网络编程   Dice   协程   EMC   Premake   测试   中间件   Game Engine   新手引导   区块链游戏   Methodology   CI   命令行解析   goroutine   ndk   Ethereum   nanomsg   自动化   Scripting   摘录   Debugging   同步技术   cppcon   C++模板   DOOM3   技术评估   Unity GC   C++11   学习方法   Surface Pro 3   Engine Evaluation   CRT   文化   笔记   golang   图形编程   多线程   ETH   Bitcoin Cash   cppcon14   Bitcoin SV   Visual Studio   Unity Coroutine   跨语言可变参数列表   团队协作   货币   Deployment   Visual Assist   工程改进   Michael Abrash   exp   开放世界   量子计算   域名   虚拟现实   系统重构   slua   遮挡剔除   完美转发   协作式调度   Modern C++   类型推导   Memory Debugging   个人成长   小故事   BTC   暴雪   产品   历史   错误处理   Unity Profiler   MOD  

知识共享许可协议
本作品由Gu Lu创作,采用知识共享Attribution-NonCommercial-NoDerivatives 4.0 国际许可协议进行许可。