我的Emacs+Linux成长心路
作者,小米,哆嗒数学网群友。
也许与很多人一样,我的第一篇数学文章是用Word加Mathtype公式编辑器打出来的(当然,现在Word已经自带公式编辑器了,Mathtype也可以作为插件在Word中使用。)那大概是一篇高中时写的圆锥曲线心得。数学编辑器的使用是一个思维转换的过程:在手写公式中相差无几的字符,在编辑器中可能会扮演不同的角色,或是下标,或是上标,或是分母,或是分子……你的大脑必须去努力适应这个新的过程。当数学公式最后像积木一样一件件被拼凑出来,呈现在电脑屏幕上时,那种云开见日的成就感还是很美妙的。其实现在回想起来也知道,整个排版文章的过程一定是繁琐且枯燥的。只是,如果你内心中深信一件事有着 “崇高的目的 “,那你多半会对相伴的苦工夫视而不见,反而会认为每一滴汗水都是值得的;这像极了锻炼身体时,即使再苦再累,你也因为相信它的益处而保持心情愉悦。
这种想法一直保持到了我本科初学LaTeX的时候。剧本是类似的,只不过是MathType换成了LaTeX;不同之处是后者看起来更高级、更专业。经过短时间WinEdit的使用后,我投入了Linux下 “编辑器之神 “Vim的怀抱。其实我知道Vim下也有不少写LaTeX的好工具,但对我而言它只是一个带语法高亮的文本编辑器。我沉浸在一种苦行僧似的LaTeX编辑体验并乐在其中:没有任何输入辅助,全部命令全靠记忆手打(也利益于Vim高效的输入模式)。好几个月的实践至少带来一个好处,就是肉眼排错的能力大大提高了。这段经历也让我朝着极简主义的方向使用LaTeX进行排版。毕竟每周30+小时的高强度上机编程+撰写报告,如何高效地把数据和图表转化成清晰的PDF文档才是最重要的事,花哨的技巧倒是其次了。
直到有一天我在网上偶然读到叶卢庆的一篇博文:Emacs+LaTeX 帮你写数学文章,读完之后仿佛一扇新世界的大门突然开启。有时候想象力是很重要的。一件事如果超出你的经历之外,在你没见过之前你可能永远都不能想象。这篇博文就是激发想象力的那颗火种。虽然久仰Emacs“神之编辑器”的大名,却从没见过Emacs在编辑LaTeX中能发挥怎样的威力,也就无法打开被禁锢的想象力。余下的事情对于爱折腾的我来说已经是轻车熟路了:从网上找来各路教程开始,慢慢就把所有LaTeX和编程工作都转移到Emacs下来完成了。从苦行僧的方式走来,转到Emacs的第一感觉就是写文档的自动化程度变高了,同时界面本身的可扩展性极强。
第二次信念的飞跃是在研究生期间。当时自己还是传统地使用纸笔,却经常上课时见到前排一个师兄用LaTeX敲笔记。直到有一天我突然也问自己,能否在Emacs上做到呢?其实最初的尝试是很不顺利的。主要是自信心的问题。在多数情况下,如果教授在黑板上写一大串长公式,用LaTeX打下来肯定是会慢一些的。慢一些,并不多,最后并不影响总体记笔记的速度,因为没有教授会从头到尾板书写不停,总会有停下来解释的时候。而记录下说话的内容,打字却是比纸笔快得多。事实上,熟练之后,对黑板上的长公式直接盲打就行,基本教授写完也差不多打完了,然后就可以伸个懒腰,看着编译好的公式听着教授讲解,不时在公式旁打进自己的一些思考,不亦乐哉!
但迈出第一步是困难的。开始时总是浅尝辄止:一旦第一个公式跟不上就动了放弃的念头,把笔记本电脑又收了回去,掏出纸笔;不一会儿又不甘心再试,反反复复。终于有一次,下定决心死磕到底,坚决不合上电脑,最后慢慢就适应了用LaTeX记笔记的节奏。是的,我很怀念钢笔尖划过纸面,灵巧地写下一个个数学符号的感觉。但是,看着自己几年下来在笔记文件中积累的2万多行LaTeX代码,各种内容有条不紊地放在一起,所拥有的便利性也是纸质笔记无法比拟的。别的不说,一个记忆深处的数学名词,也就是一条搜索指令;甚至,得益于Emacs内一个简单自动补全功能,在记笔记时要是遇到一个记过的复杂的专有名词或人名,也只需要几个首字母就能快速打出来。相比之下,早年的数学笔记,只是静静躺在某个角落,作为曾经某段岁月的见证;内心深处却不愿意承认,随着时间推移,也许它们越来越难有用武之地了。
Emacs也许不是最好的LaTeX编辑器,但肯定能算上最好之一。我曾向身边的不少朋友安利过Emacs编辑LaTeX的强大。在这个过程中,我意识到大多数人并没有意识到数学公式的编辑其实可以是一件很轻松简单的事情。在正如前面所说,人有时候是被想象力限制了;只有亲眼见了,才能激发更多潜能。我做这个视频教程的初衷,就是希望能够抛砖引玉,带领大家看到一种把写LaTeX变成自然而然的可能性,从而去触发无限的可能性。
现在,我将我的这段成长学习经历录制成为视频,与大家分享。有时候,分享和交流是再一次成长的机会呢。
视频教程简介:
第一部分:分6节,介绍LaTeX的基础知识及Emacs的安装和简单操作。适用于初学者。
第二部分:尽量保持章节/技巧之间的独立性。将介绍Emacs中几个编辑LaTeX的重要模式/插件及常见使用技巧,包括AucTeX, cdLaTeX, RefTeX, preview-LaTeX, outline模式等。还将介绍自定义快捷输入方式的设置方法。适用于想用Emacs提高LaTeX编写速度与准确性的观众。
目录:
1LaTeX基础知识
1.1LaTeX初体验
1.2中文支持
1.3数学符号输入
1.4LaTeX文档结构
1.5交叉引用
1.6列表与图表环境
2Emacs编写LaTeX技巧
2.1区域选择及操作
2.2cdLaTeX简介
2.3RefTeX之交叉引用
2.4cdLaTeX自定义配置
2.5自定义定理环境
2.6所见即所得之Preview-latex
2.7Outline Mode简介
2.8PDF预览正向和逆向搜索
2.9TeX-fold代码折叠
2.10参考文献、多文件和排错