最近一段时间迷上了 (La)TeX,也看了不少资料。LaTeX 排版过程中有不少 de facto(约定俗成的)规则,它们不是必须,但是是区别「熟练掌握 LaTeX」与「会使用 LaTeX」的关键因素。我本身就是对细节有强迫症的人,比如修改了 WordPress 的 style.css 后我可以对所有文章的代码都修改一遍,仅仅只为了图片和图注之间的间隔更加美观一些…
过一段时间后也许我会不记得这些 LaTeX 的小细节,因此这里稍加记录,以作备忘。
• 严格区分文字和公式
这一条应该是 LaTeX 用于科学文章排版的最基本要求。在文本输入中应该严格避免出现 \mathbf{}
、\mathrm{}
等语句,同理,在公式的编辑中也应该严格避免出现 \textbf{}
、\textrm{}
等。当然,如果使用了 AMSMath 宏包,则\text{}
是在公式中输入文本的一种很好的方法。虽然大部分情况下读者是无法分辨一个公式中 \mathbf{}
和\textbf{}
的区别,但是这毕竟是应该遵守的语法规则。
• 正确处理单词间距
这一条仅适用于英文排版,中文中水平间距的讲究要少得多,基本用一个 xeCJK 就都帮你搞定。
英文排版时 TeX 通常默认句号 .
表示一句话的结束,因此在处理句号时会留出稍宽一点的水平间距。但是有些情况下,句号并不代表句子的结尾,比如「i.e. a word」和「e.g. a word」。按照 TeX 默认规则,这里的宽度会比正常句中单词之间的间隔稍大一些,因此我们需要使用 \
(即一个反斜杠 + 一个空格)来消除这个过大的间距:i.e.\ a word
以及 e.g.\ a word
。
然而还有一种特殊情况下,TeX 并不会认为句号表示句子的结尾,那就是句号跟在一个大写字母的后面。此时 TeX 会认为这个句号表示人名缩写的间隔符,因此仍然按照正常间距来排版,比如 「A. Einstein」。然而这个看似贴心的规则在一些情况下会适得其反,比如一句话明明以缩略语结尾,TeX 反而认为这并不是一句话的结尾:「… in NBA. He…」。此时,排版出的「He」之前的空格会小于正常的句间间距。这种情况下,需要使用 \@.
(反斜杠 + @ + 句号 + 空格)来取代原先的句号,即 ... in NBA\@. He...
。\@
用来强制告诉 TeX 这里的的确确是一个句子的结尾。
如下所示: