LaTeX入门
  • 推荐0
  • 收藏1
  • 浏览5.3K

LaTeX入门

刘海洋 (作者) 

  • 书  号:978-7-121-20208-7
  • 出版日期:2013-06-05
  • 页  数:580
  • 开  本:16(188*235)
  • 出版状态:上市销售
  • 维护人:张月萍
LaTeX 已经成为国际上数学、物理、计算机等科技领域专业排版的实际标准,其他领域(化学、生物、工程、语言学等)也有大量用户。本书内容取材广泛,涵盖了正文组织、自动化工具、数学公式、图表制作、幻灯片演示、错误处理等方面。考虑到LaTeX 也是不断进化的,本书从数以千计的LaTeX 工具宏包中进行甄选,选择较新而且实用的版本来讲解排版技巧。为了方便读者的学习,本书给出了大量的实例和一定量的习题,并且还提供了案例代码。书中的示例大部分来自作者多年的实际排版案例,读者不断练习,肯定能掌握LaTeX 的排版技能。

看了本书的样稿后使人感到印象深刻。本书充分反映了TEX 的最新进展,尽管TEX
的生命力是顽强的,TEX 的基本命令系统也是稳定的,但是它对非西方语言的扩展以
及输出格式等都随着计算机技术的发展以及科技文献传播方式的变化而不断推陈出新,
这也正是TEX 能经久不衰的生命力所在。因此推广TEX 的书也需要与时俱进。我们写
的《LATEX 入门与提高》的第二版至今已有7 年了, 可惜它的作者或已退休,或者兴趣转
移,不可能再作更新。我一直期待能有人出来写一本反映最新发展的TEX 入门书作为
我们那本书的补充及更新。现在看到了刘海洋的《LATEX 入门》,觉得这正是我期望的,
甚至超过了我的期望。本书文笔活泼,阅读起来像是面对一位向你细细讲解的和蔼老
师,他了解你的需求和会遇到的难点,使你爱不择手,而不像一般的软件说明书,只
管板着脸罗列一大堆用法,不管你是否需要或是否理解。但是本书作者又很严谨,许
多内容都有出处,好像一篇科研论文。不过说到底,这是一本面向读者需求的学习指
导书,并非TEX 的说明书。这正是想学习TEX 的人最想要的书。而且第8 章还讲到了
更深入的技巧。因此本书的适用范围可以从初学者直至想自己设计版面或宏的高级应
用者。大家都能从本书学到很多东西。尽管国内在TEX 的普及与发展方面与西方发达
国家相比还有很大的差距,但是感谢许多热心的TEX 爱好者及他们的网站的努力,TEX
在中国的推广也是富有成效的。越来越多的研究生用TEX 写作论文或向期刊投稿,并
且在答辩或演示时也广泛使用TEX 生成的PDF。希望本书的出版能为TEX 在中国的普
及作出新的贡献。
陈志杰
华东师范大学数学系教授
2013 年3 月5 日

前言
提到LATEX,便不能不说起它的基础TEX。TEX 是诞生于20 世纪70 年代末到80年代初的一款计算机排版软件,用来排版高质量的书籍,特别是包含有数学公式的书籍[124; 126]。TEX 以追求高质量为目标,很早就实现了矢量描述的计算机字体、细致的分页断行算法和数学排版功能,因其数学排版能力得到了学术界的广泛使用,也启发了不少后来复杂的商业计算机排版软件。有趣的是,这样一款排版软件却并非在排版业界产生,而是由计算机科学家高德纳教授在修订其七卷本巨著《计算机程序设计艺术》的前三卷[127–129] 时,为了排版这一部书籍而产生的。这是一部花费高德纳几乎毕生精力的巨著,直到今天仍在撰写,然而在照相排版技术刚刚兴起的1976 年,新的计算机系统却无法提供与传统手工排版相媲美的质量。面对这种情况,高德纳抱怨道[130]:我不知道怎么办。我花了整整15 年写这些书,可要是这么难看,我就再也不写了。我怎么能对这样的作品引以为豪呢?
从翌年开始,高德纳就在其学生、友人的帮助下,开发TEX 排版软件。直到8 年后TEX
软件功能完备,他才又回到撰写书籍的工作中去。这段历史一直被引为TEX 和高德纳
的传奇,有“十年磨一剑”之称。TEX 原本是用于个人的排版软件,这也引出了TEX 与
其他专业排版软件的一点重大的区别,就是TEX 主要是由书籍、文章的作者本人来使
用的,它是面向作者的。因此,TEX 有许多方便作者的自定义功能,使用也简单方便,
很快受到作者们的青睐,排版自己的学术书籍。
LATEX 肇始于20 世纪80 年代初,也是Leslie Lamport 博士为了编写他自己的一部书
籍而设计的[137]。LATEX 实际上就是用TEX 语言编写的一组宏代码,拥有比原来的TEX 格
式(Plain TEX)更为规范的命令和一整套预定义的格式,隐藏了不少排版方面的细节,
可以让完全不懂排版理论的学者们也可以比较容易地将书籍和文稿排版出来。LATEX 一
出,很快更为风靡,在1994 年LATEX 2" 完善之后,现在已经成为国际上数学、物理、计
算机等科技领域专业排版的事实标准,其他领域(化学、生物、工程、语言学等)也有
大量用户。相关专业的学术期刊也都主要接受LATEX 作为投稿格式。
既然TEX/LATEX 主要是面向作者本人的排版软件,本书的目标对象也就以学术文章
的作者为主,也就是需要经常编写LATEX 稿件的高校师生和科研院所的研究人员。本书
的内容选择以满足学术排版需求为准,阅读本书后读者应该不仅能应对各种学术投稿
的简单需要,也将有能力排版一般的学术书籍,并使用LATEX 完成简单的学术报告幻灯
片。不过,本书也力图广泛取材,让排版公司的工人、中学数学教师或是用LATEX 作笔
记的电脑程序员都能有所得。
本书虽然名为“入门”,假定读者没有任何使用TEX 的经验,但为了避免读者逡巡
于门外而不入,也力图使内容详实可靠,为更深入地使用LATEX 打好基础。在编写本书
时,作者追求以下几个目标:
内容广泛本书从软件安装和最基本的示例讲起,然后按正文组织、自动化工具、数
学公式、图表制做、幻灯片演示、错误处理等方面详述LATEX 的功能和使用,最后
收束于LATEX 的扩展、相关工具和资源。LATEX 的基本内容并不多,功能也很有限,
但经过20 多年的发展,现代LATEX 文档的一大特点是大量使用工具宏包来完成复
杂的工作。本书也力图体现这一特点,全书过半的篇幅都在讲解各种重要的LATEX
宏包和工具。本书正文共有566 页,作为一本入门书已是嫌多,但仍不可能包罗
LATEX 的所有方面,未免有遗珠之憾,只能留待读者自己学习了。
取材从新TEX 最初的一个设计目标是良好的稳定性,希望在多年前编写的文档在最
新的系统中排版仍能得到完全相同的结果,各种排版命令的语义保持稳定,TEX
也确实做到了这一点。然而LATEX 是一个更为开放的系统,与其他软件一样,它
是在不断进化的。不仅其内核从最初的LATEX 2.09 到LATEX 2" 再到正在开发中的
LATEX3 不断变化,而且还有数以千计的工具宏包在不断更新,完成各种复杂的排
版功能。实现TEX 语言的TEX 引擎,也在不断增添新的功能。为了反映这种变化,
本书作者也尽量对内容加以甄别,选取较新并且实用的软件工具加以介绍。
切合实用为了增强实用性,本书给出了大量实例和一定量的习题。第1 章和第6 章
提供了两段完整的文档源代码,而其他章节也给出了大量的代码示例。代码示例
和习题很多都源自作者历年来收集的各类实际的排版问题,相信对于本书的读者
也会有所裨益。
为了照顾不同层次的读者,本书按LATEX 的不同功能编排章节,章节之间没有严格
的顺序关系,阅读本书也不必完全依照章节顺序。
希望快速上手的初学者应首先阅读第1 章,安装好TEX 软件并在1.2 节学习基本
的实例,然后就可以模仿实例编写自己的LATEX 文档了,等到实际需要时再翻到
对应的章节了解具体内容。
希望系统学习LATEX 的读者可以从前往后依次阅读。书中一些段落前,或整个一
节之前有一个危险标记,说明这 一段或一节内容较难或者依赖后面章节的内容,
在初次阅读时可以略过,可以在读完基本内容后再来了解这部分内容。还有一些
 段落前有两个危险标记,则表示这些内容中部分已经超出本书的范围,通常需要
参见书中引用的其他文档才能完全理解。
具有一定LATEX 经验的读者可以根据自己的需要查找有用的内容,书后的索引将
有助于找到特定的概念或命令,而每章末尾的注记与书后的文献列表则可以帮助
读者找到本书中未能详述的内容。
本书使用不同的字体表示不同的内容。在正文中,使用等宽字体表示代码,如
\alpha 命令、equation 环境;用无衬线字体表示宏包名称,如amsmath 宏包、beamer
文档类;用尖括号内的楷体(西文斜体)表示参数,如h长度i、hkeyi。在表示LATEX 命
令或环境的语法形式时,则使用加粗的等宽字体,如:
\usefonth编码ih族ih系列ih形状i
书中给出了大量示例代码。大部分示例以左右对照的方式给出,左侧灰色框中是
代码,右侧白色框中是代码的排版效果,例如:
0-1 $\Delta = b^2 - 4ac$  D b2 􀀀 4ac
较长的示例则以上下对照的方式给出,如:
\[
x_{1,2} = \frac{-b \pm \sqrt{b^2 - 4ac}}{2a}
0-2 \]
x1;2 D 􀀀b pb2 􀀀 4ac
2a
还有一些代码示例没有直接的排版结果,则只给出源代码。如上所示,示例通常会有一
个编号以方便引用。本书中所有带编号的示例和第1 章、第6 章的两个大的例子会随书
附带,也可以在CTEX 论坛网站上获取。
书中在部分章节后面安排了一些题外的内容,在标题前用书籍符号标示(如右),内容用楷体字印刷。这些内容游离于本书的主线之外,主要介绍一些背景知识,读者可根据自己的兴趣选择阅读。
此外,在部分章节后还设置了少量的练习题,用铅笔符号标示(如右),读者可据此检查自己是否掌握了正文中的内容。这些题目并非为了把读者难住,大部分练习在书末都有解答或提示。
在本书编写过程中,许多朋友都为作者提供了无私的帮助。韩建成阅读了本书早期的草稿和初稿,在结构和内容方面都提出了宝贵的意见和建议;赵劲松和李清阅读了本书的初稿,并在内容上给出了详细的建议与勘误;江疆和王越在阅读初稿后,对本书的内容和格式都提出了宝贵的意见。本书的编写一直受到在CTEX 论坛与水木社区TEX 版上网友们的关注和支持,论坛中对LATEX 具体问题的大量讨论时常能启发作者的思路,为成书提供了重要的素材。在此,作者向所有关心本书的人们致以真诚的感谢!
作者已尽力使本书准确可靠,但受精力和水平所限,书中的错误在所难免。欢迎读者指出书中的技术上的、文字上的或是排版上的任何错误。有关本书的各种问题,可发送电子邮件至info@dozan.cn 联系本书出版策划。
刘海洋

目录

目录
序………………………………………………………………………………ii
前言……………………………………………………………………………iii
第1章熟悉LATEX……………………………………………………………1
1.1让LATEX跑起来…………………………………………………………………2
1.1.1LATEX的发行版及其安装………………………………………………………………2
CTEX套装/3 TEXLive/7
1.1.2编辑器与周边工具………………………………………………………………………13
编辑器举例——TeXworks/13 PDF阅读器/18 命令行工具/21
1.1.3“HappyTEXing”与“特可爱排版”…………………………………………………27
1.2从一个例子说起…………………………………………………………………32
1.2.1确定目标…………………………………………………………………………………32
1.2.2从提纲开始………………………………………………………………………………32
1.2.3填写正文…………………………………………………………………………………35
1.2.4命令与环境………………………………………………………………………………36
1.2.5遭遇数学公式……………………………………………………………………………38
1.2.6使用图表…………………………………………………………………………………39
1.2.7自动化工具………………………………………………………………………………43
1.2.8设计文章的格式…………………………………………………………………………46
本章注记………………………………………………………………………………49
第2章组织你的文本………………………………………………………50
2.1文字与符号………………………………………………………………………50
2.1.1字斟句酌…………………………………………………………………………………50
从字母表到单词/50 正确使用标点/54 看不见的字符——空格与换行/57
2.1.2特殊符号…………………………………………………………………………………60
2.1.3字体………………………………………………………………………………………62
字体的坐标/62 使用更多字体/67 强调文字/78
2.1.4字号与行距………………………………………………………………………………81
2.1.5水平间距与盒子…………………………………………………………………………85
水平间距/85 盒子/88
2.2段落与文本环境…………………………………………………………………91
2.2.1正文段落…………………………………………………………………………………91
2.2.2文本环境…………………………………………………………………………………96
2.2.3列表环境…………………………………………………………………………………97
基本列表环境/97 计数器与编号/99 定制列表环境/102
2.2.4定理类环境………………………………………………………………………………106
2.2.5抄录和代码环境…………………………………………………………………………109
抄录命令与环境/109 程序代码与listings/111
2.2.6tabbing环境……………………………………………………………………………116
2.2.7脚注与边注………………………………………………………………………………118
2.2.8垂直间距与垂直盒子……………………………………………………………………121
2.3文档的结构层次…………………………………………………………………127
2.3.1标题和标题页……………………………………………………………………………127
2.3.2划分章节…………………………………………………………………………………129
2.3.3多文件编译………………………………………………………………………………132
2.3.4定制章节格式……………………………………………………………………………135
2.4文档类与整体格式设计…………………………………………………………138
2.4.1基本文档类和ctex文档类……………………………………………………………138
2.4.2页面尺寸与geometry……………………………………………………………………142
2.4.3页面格式与fancyhdr……………………………………………………………………145
2.4.4分栏控制与multicol……………………………………………………………………149
2.4.5定义命令与环境…………………………………………………………………………151
本章注记………………………………………………………………………………155
第3章自动化工具…………………………………………………………157
3.1目录………………………………………………………………………………157
3.1.1目录和图表目录…………………………………………………………………………157
3.1.2控制目录内容……………………………………………………………………………158
3.1.3定制目录格式……………………………………………………………………………161
3.2交叉引用…………………………………………………………………………165
3.2.1标签与引用………………………………………………………………………………165
3.2.2更多交叉引用……………………………………………………………………………167
3.2.3电子文档与超链接………………………………………………………………………169
3.3BTEX与文献数据库……………………………………………………………174
3.3.1BTEX基础……………………………………………………………………………174
3.3.2JabRef与文献数据库管理………………………………………………………………183
3.3.3用natbib定制文献格式…………………………………………………………………187
3.3.4更多的文献格式…………………………………………………………………………193
3.3.5文献列表的底层命令……………………………………………………………………196
3.4Makeindex与索引………………………………………………………………200
3.4.1制作索引…………………………………………………………………………………200
3.4.2定制索引格式……………………………………………………………………………205
索引环境与格式/205 Makeindex与格式文件/207
3.4.3词汇表及其他……………………………………………………………………………213
手工生成词汇表/213 使用glossaries宏包/215
本章注记………………………………………………………………………………219
第4章玩转数学公式………………………………………………………221
4.1数学模式概说……………………………………………………………………221
4.2数学结构…………………………………………………………………………225
4.2.1上标与下标………………………………………………………………………………225
4.2.2上下画线与花括号………………………………………………………………………229
4.2.3分式………………………………………………………………………………………230
4.2.4根式………………………………………………………………………………………233
4.2.5矩阵………………………………………………………………………………………234
4.3符号与类型………………………………………………………………………237
4.3.1字母表与普通符号………………………………………………………………………237
4.3.2数学算子…………………………………………………………………………………244
4.3.3二元运算符与关系符……………………………………………………………………249
4.3.4括号与定界符……………………………………………………………………………255
4.3.5标点………………………………………………………………………………………258
4.4多行公式…………………………………………………………………………262
4.4.1罗列多个公式……………………………………………………………………………263
4.4.2拆分单个公式……………………………………………………………………………267
4.4.3将公式组合成块…………………………………………………………………………269
4.5精调与杂项………………………………………………………………………273
4.5.1公式编号控制……………………………………………………………………………273
4.5.2公式的字号………………………………………………………………………………276
4.5.3断行与数学间距…………………………………………………………………………278
本章注记………………………………………………………………………………284
第5章绘制图表……………………………………………………………285
5.1LATEX中的表格……………………………………………………………………285
5.1.1tabular和array………………………………………………………………………285
5.1.2表格单元的合并与分割…………………………………………………………………292
5.1.3定宽表格与tabularx……………………………………………………………………298
5.1.4长表格与longtable………………………………………………………………………300
5.1.5三线表与表线控制………………………………………………………………………307
5.1.6array宏包与列格式控制………………………………………………………………314
5.1.7定界符与子矩阵…………………………………………………………………………317
5.2插图与变换………………………………………………………………………321
5.2.1graphicx与插图…………………………………………………………………………322
5.2.2几何变换…………………………………………………………………………………331
5.2.3页面旋转…………………………………………………………………………………333
5.3浮动体与标题控制………………………………………………………………335
5.3.1浮动体……………………………………………………………………………………335
5.3.2标题控制与caption宏包………………………………………………………………341
5.3.3并排与子图表……………………………………………………………………………351
5.3.4浮动控制与float宏包…………………………………………………………………357
5.3.5文字绕排…………………………………………………………………………………361
5.4使用彩色…………………………………………………………………………365
5.4.1彩色表格…………………………………………………………………………………369
5.5绘图语言…………………………………………………………………………373
5.5.1XY-pic与交换图表………………………………………………………………………373
5.5.2PSTricks与TikZ简介……………………………………………………………………379
PSTricks/380 pgf与TikZ/388
5.5.3METAPOST与Asymptote简介………………………………………………………398
METAPOST/398 Asymptote/405
本章注记………………………………………………………………………………409
第6章幻灯片演示…………………………………………………………412
6.1组织幻灯内容……………………………………………………………………416
6.1.1帧…………………………………………………………………………………………417
6.1.2标题与文档信息…………………………………………………………………………419
6.1.3分节与目录………………………………………………………………………………420
6.1.4文献………………………………………………………………………………………423
6.1.5定理与区块………………………………………………………………………………424
6.1.6图表………………………………………………………………………………………425
6.2风格的要素………………………………………………………………………427
6.2.1使用主题…………………………………………………………………………………427
6.2.2自定义格式………………………………………………………………………………428
6.3动态展示…………………………………………………………………………432
6.3.1覆盖浅说…………………………………………………………………………………432
6.3.2活动对象与多媒体………………………………………………………………………435
本章注记………………………………………………………………………………438
第7章从错误中救赎………………………………………………………440
7.1理解错误信息……………………………………………………………………441
7.1.1与TEX交互……………………………………………………………………………441
7.1.2常见错误与警告…………………………………………………………………………444
TEX错误/444 LATEX错误/448TEX 警告/451 LATEX警告/452
7.2调试与分析………………………………………………………………………454
7.2.1调试命令…………………………………………………………………………………454
7.2.2更多调试工具……………………………………………………………………………456
7.3提问的智慧………………………………………………………………………461
7.3.1提问之前…………………………………………………………………………………461
7.3.2最小工作示例……………………………………………………………………………462
7.3.3坏问题好问题…………………………………………………………………………465
本章注记………………………………………………………………………………468
第8章LATEX无极限…………………………………………………………470
8.1宏编辑浅说………………………………………………………………………471
8.1.1从LATEX到TEX…………………………………………………………………………471
8.1.2编写自己的宏包和文档类………………………………………………………………478
8.2外部工具举隅……………………………………………………………………483
8.2.1自动代码生成……………………………………………………………………………483
生成公式代码/483 生成图形代码/484 生成表格代码/487 生成完整的TEX文档/489
8.2.2在其他地方使用LATEX…………………………………………………………………492
8.3LATEX资源寻找……………………………………………………………………493
8.3.1再探TEX发行版………………………………………………………………………493
8.3.2互联网上的LATEX………………………………………………………………………496
CTAN/496 TEX用户组织/497 在线社区与独立网站/498
本章注记………………………………………………………………………………501
部分习题答案…………………………………………………………………502
参考文献………………………………………………………………………523
索引……………………………………………………………………………542

读者评论