LATEX 排版学习笔记
zoho@bbs.ctex.org
2013 年 10 月 14 日
前言
从 2006 年 3 月 29 日开始,陆陆续续记录了排版 LaTeX 文档时的笔记。直到
2011 年 11 月 6 日大概有了 30 多篇记录,于是开始将所有内容整理为一个 PDF
文档。然后继续增添内容,到目前为止,总共有 92 页。
2
目录
第一章 基本使用
1.1 基本排版流程 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2 文本排版 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2.1 英文文档 . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2.2 输入特殊字符 . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2.3 段落换行 . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2.4 中文文档 . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.3 列表环境 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.4 文档结构 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.4.1 文档类别 . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.4.2 标题摘要 . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.4.3 章节目录 . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.4.4 参考文献 . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.5 插入表格 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.5.1 基本表格 . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.5.2 跨列表格 . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.5.3 浮动表格 . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.6 插入图片 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.6.1 图文并排的小图片 . . . . . . . . . . . . . . . . . . . . . . .
1.6.2 图文分开的大图片 . . . . . . . . . . . . . . . . . . . . . . .
1.6.3 位置浮动的大图片 . . . . . . . . . . . . . . . . . . . . . . .
第二章 格式调整
2.1 各种长度单位 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2 字体使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.1 字体编码 . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7
7
7
7
8
9
9
9
10
10
11
11
12
13
13
13
14
15
15
16
17
19
19
19
19
3
4
目录
2.2.2 字体族名 . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.3 字体系列 . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.4 字体形状 . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.5 字体大小 . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3 段落对齐 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3.1 居中对齐 . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3.2 单侧对齐 . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.4 页面大小布局 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.5 目录页格式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
第三章 数学公式
3.1 两种公式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2 各种字母 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3 数学函数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.4 配对括号 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.5 多行公式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.6 定理环境 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
第四章 图形绘制
4.1 画交换图 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.1.1 用 amscd 包画交换图 . . . . . . . . . . . . . . . . . . . . .
4.1.2 用 diagrams 包画交换图 . . . . . . . . . . . . . . . . . . . .
4.1.3 用 xy-pic 包画交换图 . . . . . . . . . . . . . . . . . . . . . .
4.2 画图语言和画图软件 . . . . . . . . . . . . . . . . . . . . . . . . . .
4.3 PGF/TikZ 绘图 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.3.1 画流程图 . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.3.2 函数图像 . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.3.3 几何图形 . . . . . . . . . . . . . . . . . . . . . . . . . . . .
第五章 演示文稿
5.1 最简单例子 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.2 逐步显示 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.3 主题模板 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.4 中文演示 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
20
20
20
21
22
22
22
23
24
26
26
27
28
28
29
31
33
33
33
33
34
35
36
36
37
38
39
40
41
42
43
目录
第六章 高级应用
6.1 输入各种撇号引号 . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.2 文件拆分及独立编译 . . . . . . . . . . . . . . . . . . . . . . . . . .
6.3 合并多个 PDF 文件 . . . . . . . . . . . . . . . . . . . . . . . . . .
6.4 错误处理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.4.1 编译时的错误信息 . . . . . . . . . . . . . . . . . . . . . . .
6.4.2 编译时的警告信息 . . . . . . . . . . . . . . . . . . . . . . .
第七章 背景资料
7.1 TeX 系统的前世今生 . . . . . . . . . . . . . . . . . . . . . . . . . .
7.2 TeX 系统的目录结构 . . . . . . . . . . . . . . . . . . . . . . . . . .
7.3 TeX 系统的文件查找 . . . . . . . . . . . . . . . . . . . . . . . . . .
第八章 字体详解
8.1 字体类型与文档格式 . . . . . . . . . . . . . . . . . . . . . . . . . .
8.2 新字体选择方案 NFSS . . . . . . . . . . . . . . . . . . . . . . . . .
8.3 中文排版历程 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.3.1 CCT 中文排版 . . . . . . . . . . . . . . . . . . . . . . . . .
8.3.2 CJK 中文排版 . . . . . . . . . . . . . . . . . . . . . . . . .
8.3.3 XeTeX 中文排版 . . . . . . . . . . . . . . . . . . . . . . . .
第九章 相关软件
9.1 纯文本编辑器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9.1.1 TeXMaker 编辑器 . . . . . . . . . . . . . . . . . . . . . . .
9.1.2 TeXworks 编辑器 . . . . . . . . . . . . . . . . . . . . . . . .
9.1.3 正向搜索与反向搜索 . . . . . . . . . . . . . . . . . . . . . .
9.2 可视化编辑器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9.2.1 LyX 文档处理软件 . . . . . . . . . . . . . . . . . . . . . . .
9.2.2 TeXmacs 文档排版软件 . . . . . . . . . . . . . . . . . . . .
9.3 新版 Office 的公式排版 . . . . . . . . . . . . . . . . . . . . . . . . .
9.4 在网页中显示数学公式 . . . . . . . . . . . . . . . . . . . . . . . . .
附录 A TeX 排版原理
A.1 读取文件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
A.2 生成盒子 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
A.3 分段为行 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
A.4 组行为页 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
44
44
44
46
46
47
47
49
49
50
51
54
54
55
56
56
57
58
60
60
60
61
62
63
63
65
66
67
69
69
70
71
73
6
附录 B PostScript 语言
B.1 PS 语言的基本知识 . . . . . . . . . . . . . . . . . . . . . . . . . . .
B.2 PS 语言的点阵图像 . . . . . . . . . . . . . . . . . . . . . . . . . . .
B.3 PS 语言的点阵字体 . . . . . . . . . . . . . . . . . . . . . . . . . . .
附录 C 常用宏包介绍
目录
75
75
77
78
81
第一章 基本使用
1.1 基本排版流程
和 Microsoft Office Word 等所见即所得的办公软件不同,用 LATEX 排版文档,
首先要用文本编辑器编辑好 tex 文档,然后通过各种程序编译,得到 pdf 文档用
于打印或者阅读。基本的排版流程如下图:
.tex
latex
..
..dvi.
.
.
.
.
.
.
.
xelatex
pdflatex
dvip dfm x
dvips
.pdf
ps2pdf
.ps
一般我们经常用 pdflatex 或者 xelatex 程序直接从 tex 文件生成 pdf 文件。
如果是中文 tex 文档,优先使用 xelatex 程序编译。如何使用编辑器以及编译文档
在后面的章节有详细介绍。
1.2 文本排版
1.2.1 英文文档
最简单的 LATEX 英文文档如下:
7
8
第一章 基本使用
% hello.tex
\documentclass[a4paper]{article}
\usepackage{hyperref}
\begin{document}
Hello World!
\end{document}
我们来看看上面的 tex 文档内容。在 LATEX 里面,每行的% 符号后面的内容都表
示注释,在编译时都会被忽略。因此第一行的内容没有任何结果。
接着看第二行。在 LATEX 文档中,用 \ 开始的字母串来表示一个命令,这里
的 \documentclass 是 LATEX 文档的基本命令,用于指明文档类。命令后面用花
括号 {} 包含的内容是该命令的参数,必不可少。对于这个例子,article 参数
就指明我们撰写的是一篇文章,类似地还可以用 book 或者 report 参数,分别
表示书籍和报告。命令后用方括号 [] 包含的内容是该命令的选项,选项可以省
略,省略时必需连同方括号也去掉。如果选项省略,将会使用默认值。这里例子
的 a4paper 指明我们文档的页面是 A4 纸张的大小,改为 b5paper 就是 B5 纸张
的大小。
第三行的 \usepackage 命令也是 LATEX 的基本命令,用于载入 LATEX 宏包。
LATEX 系统中包含了各种各样的宏包,对 LATEX 的基本功能作了各种扩展。我们
这一行载入的 hyperref 宏包后面将介绍到。
接下来在 \begin{document} 和 \end{document} 之间的部分我们称为 正文
区,一般用于正文内容的撰写。这个例子的正文内容只有简单的 Hello World!。
对应的,在 \documentclass 和 \begin{document} 命令之间的部分我们称为导
言区,一般用于载入宏包,定义命令和调整格式。LATEX 文档把格式和内容部分
分开,是一种良好的设计准则。
1.2.2 输入特殊字符
在 LATEX 的文本内容中,大部分字符都可以直接输入,但是 #, $, %, &, {, },
_, ˆ, ˜, <, >, |, \ 这几个字符由于有特殊用途不能直接输入。我们可以按照下表
的方式输入这些特殊字符
\$
输入 \#
$
显示 #
输入 \textless
显示
<
\&
&
\%
%
\textgreater
>
\}
\{
}
{
\textbar
|
\~{}
\^{}
\_
˜
_
\textbackslash
ˆ
\