十个「身怀绝技」的保留字符
在 LaTeX 里,有一批字符不能直接当作普通文字使用,它们各自带着排版任务。这批保留字符是:# $ % & _ { } ~ ^ \\。你只要直接敲它们,轻则输出变形,重则编译报错。
要输出它们的字面形式,需要在前面加一个反斜杠转义:\\% 输出 %、\\& 输出 &、\\# 输出 #、\\_ 输出 _、\\$ 输出 $、\\{ 输出 {、\\} 输出 }。
至于 ^ 和 \\,它们没有「一个反斜杠搞定」的写法,需要用命令 \textasciicircum{} 和 \textbackslash{} 输出——这一点非常反直觉,但初学者写代码文档时一定会遇到。
注释:% 的第二重身份
% 除了要转义才能输出,它本身还是注释符:从 % 开始到本行结束的所有内容都会被编译器忽略,不会出现在 PDF 里。
注释有三个常见用法。其一,写备注:在代码旁边记下「这段在干嘛」,方便日后回看。其二,临时禁用:把暂时不想编译的一行前面加 %,比删掉更安全。其三,吃掉换行:如果 % 刚好放在行尾,它连同那个换行一起消失,可以防止不该出现的空格。
注意:注释只作用于同一行。下一行如果不加 %,依然会被正常编译。
如果你在正文里写 50% discount,LaTeX 会把 % discount 当成注释删除,PDF 里只剩 50——不报错,却错了内容。这类「静默错误」比报错更危险。
同理,$ 会开启数学模式、& 是表格分列符、# 是宏参数符号、_ 是下标。看到它们出现在普通文字里,第一反应就应该是:我是不是该转义?
排版的细节:不换行空格、连字符与引号
~ 是不换行空格(也叫硬空格)。它输出一个和普通空格一样宽的空格,但禁止在这里断行。写 Section~1 就能保证「Section」和「1」永远待在同一行,不会一个在行尾一个在行首。
短横线有三种写法,长短和含义都不同:一个 - 是普通连字符(如 well-known);两个 -- 是半角破折号,表示数字范围或连接(如 1--10);三个 --- 是全角破折号(如 --- 引出解释)。
引号不能直接打英文双引号。LaTeX 用连续两个反引号 `` 开始、连续两个单引号 '' 结束,排版出来才是标准的中文引号效果「」。
保留字符要输出就转义:\% \& \# \_ \$ \{ \};^ 和 \ 用 \textasciicircum{} 和 \textbackslash{}。
% 是注释符,只作用于当前行;~ 是不换行空格;-- 与 --- 是两种破折号;引号用 `` 和 ''。
下一课我们回到文档整体:文档类怎么选、导言区该放什么、标题作者摘要怎么写。