为何我有 LaTeX 强迫症

我遇到的很多人都不能理解我对数学公式排版的严苛要求。“能看懂就行”往往是看到我一个一个敲入 LaTeX 命令时最常见的反应。然而,排除强迫症这种自黑成瘾的因素,我还是希望再次阐述一下(我个人)如此推崇使用 LaTeX 进行公式排版的原因。与其它介绍 LaTeX 本身的功能的文章不同,这篇文章大多数是在讲我个人的想法。当然,我无法说服所有人使用 LaTeX,愿不愿意为了自己的下一篇论文或是演示而在文件的后缀名中键入 .tex 也只能是读者自己的事情。

好的数学必须具有好的符号

最近在看张量和量子力学,看得头昏脑胀的。不过我相信若是没有 Paul Dirac 发明的 bra-ket 记号将 Hilbert 空间的向量和线性泛函、线性映射表述得如同 \(\langle \mathbf p | A | \mathbf r \rangle\) 一般简洁清晰、一目了然,Albert Einstein 创造的求和约定将张量的各种复杂运算简化为像 \(A^i_{\;k} B^k_{\;j}\) 的几个字母和上下标的组合从而省去了一堆又一堆的求和标记 \(\sum\),我又要比现在头痛上好几倍。除了会毁坏阅读者的心情、造成学生的不必要的头痛以外,糟糕的标记还会降低公式的数学启发性。那么多优美的构造之所以能被想出来,我认为很大程度上是由数学本身及其公式表述的优美性决定的。若是没有张量标记和求和约定,想必广义相对论的问世会推迟好几年吧!我的线性代数老师曾经大赞发明线性代数及其表述形式的数学家们是天才。事实的确如此,所以每次当我看到一种新的,更加优美的数学表述的时候,我都会很兴奋,也很感动。而这感动之余,我想我需要做的事情就是尽我所能在运用这些数学表述的时候,让它们以最好看的姿态展现在公式之中。

数学物理思想的表达需要清晰的符号

这就像是编程一定要调节缩进一样,讲述一个数学或物理概念时,为了尽可能加强读者的接受效率,就一定要考虑我们表述的可读性和易读性,i.e. 表述要简洁清晰、版面要整洁美观。易读性,也就是表述的要求方面,我们可以说是一直在的到锻炼:从小学作文到某天你的同学突然要你帮他讲道题。然而可读性方面受到的关注就少很多。造成这一现状的原因之一是我们的大脑着实过于强大,使得可读性在阅读效率上的功效并那么不明显,我们只知道衬线字体易读性好于非衬线字体、正体易读性好于斜体。然而当我们考虑到数学公式之时,易读性就成了不得不被考虑的因素了:毕竟,与通常的一维排版不同,数学排版是二维的!这使得数学公式阅读的舒适程度不仅会受到可读性(如公式有没有化简,当然啦!)的印象,易读性也会起到相当大的作用。北大蓝以中教授的《高等代数简明教程》讲解深入浅出,概念明确而易于接受,然而因为该书的排版不尽如人意,阅读时总会有那么些地方看起来有些费解。与之相比的就是高等教育出版社(我不在打广告,真的!)翻译的外文教材系列,不仅将国外的经典教材翻译成了中文,对排版也做了顺应时代的优化,我十分喜欢。

写 LaTeX 并没有你想象的那么困难低效

也许很多人还是会认为打一大堆 LaTeX 代码太累,太麻烦。其实不然,LaTeX 有很多“优秀”的偷懒方法,其中自然不乏许多人都爱用的 MathType。

MathJax + MarkDown

MathJax 是一个开源项目,如果和 MarkDown 一起写的话配合实时预览的“半所见即所得”的方式可以做得相当高效易用。这里推荐编辑器 HarooPad(Windows/Mac/Linux) 和 MWeb(Mac) (以前口碑很好的 Mou 由于作者常年跳票,我已经不想说什么了)

MathType

也许很多人不知道,其实 MathType 是可以导出 LaTeX 代码的。所以,尽情敲击你们挚爱的快捷键吧 ;) 然后在 MathType 的 Cut and Copy Preference 中设置导出 \(\rm AMS\LaTeX\) 就可以啦!

Screen Shot 2016-05-10 at 3.48.17 P

结束语

强迫症之父高德纳 (Donald Knuth) 致敬!

Donald_Knuth,_Steve_Wozniak,_CHM_2011