2.1 语言文字和编码
2.1.1 ASCII编码
2.1.2 扩展编码
2.1.3 UTF-8编码
Unicode是一个多国字符的集合,覆盖了几乎全球范围内的语言文字。UTF-8是Unicode的一套编码方案,一个字符可以由一个到四个字节编码,其中单字节字符兼容ASCII编码。
latex命令及pdflatex命令下可以使用inputenc红包支持UTF-8:
usepackage[utf8]{inputenc}
xelatex命令原生支持UTF-8编码,而且也不适用inputenc宏包。将.tex源代码保存为UTF-8编码,并借助fontspec宏包调用适当的字体,就可以在源代码中输入任意语言的文字。
2.2 排版中文
2.2.1 xeCJK宏包
xeCJK宏包支持用简单的命令配置中文字体。
2.2.2 ctex宏包和文档类
ctex宏包和文档类是对CJK和xeCJK等宏包的进一步封装。
2.3 LATEX中的符号
2.3.1 空格和分段
LATEX源代码中,空格键和Tab键输入的空白字符视为“空格”。连续的若干个空白字符视为一个空格。一行开头的空格忽略不计。
行末的回车视为一个空格;但连续两个回车,也就是空行,会将文字分段。多个空行被视为一个空行。也可以在行末使用par命令分段。
2.3.2 注释
LATEX用%字符作为注释。在这个字符之后直到行末,所有的字符都被忽略,连同回车引入的空格。
2.3.3 特殊字符
以下字符在LATEX里有特殊用途,如%表示注释,$、^、_等用于排版数学公式,&用于排版表格,等等。直接输入这些字符得不到对应的符号。如果要输入以上符号,需要使用以下带反斜线的形式输入:
事实上这些带反斜线的形式就是LATEX命令。^和~两个命令是需要带参数的,如果不加一对花括号(空参数),就将后面的字符作为参数,形成重音效果。\被直接定义成了手动换行的命令,输入反斜杠就只好用 extbackslash。
2.3.4 标点符号
引号
连字号和破折号
LATEX中有三种长度的“横线”可用:连字号、短破折号(en-dash)和长破折号(em-dash)。它们分别有不用的用途:连字号-用来组成复合词;短破折号—将数字连接表示范围;长破折号——作为破折号使用。
省略号
LATEX提供了命令ldots来生成省略号,相对于直接输入三个点的方式更为合理。ldots和dots是两个等效的命令。
破浪号
2.4 文字强调
强调文字的方法,要么是添加一些下划线或者装饰物,要么是改变文字的字体。
LATEX定义了underline命令来为文字添加下划线:
An underline{underlined} text
underline命令生成下划线的样式比较机械,不同的单词可能生成高低各异的下划线,并且无法换行。ulem宏包解决了这一问题,它提供的uline命令能够轻松生成自动换行的下划线:
An example of uline{some long and underlined words.}
emph命令用来将文字变为斜体以示强调。如果再本身已经用emph命令强调的文字内部嵌套使用emph,内部则使用正常字体的文字:
Some emph{emphasized words, including emph{double-emphasized} words}, are shown here.
2.5 断行和短页
2.5.1 单词间距和断行
可以使用字符~在合适的位置插入一个空格,并且这个空格不能被断开,通常用在英文人名、图表名称等场景:
Fig.~2a \ Donale-E. Knuth
2.5.2 手动断行和断页
如果需要手动断行,可使用如下命令:
\ or ewline
\也在表格、公式等地方用于分行,而 ewline只用于文本段落中。
断页的命令有两个:
ewpage or clearpage
通常情况下两个命令都能起到另起一页的作用,但有一些区别:一是在双栏排版中 ewpage只起到另起一栏的作用;二是涉及到浮动体的排版上的行为不同。