内容简介
《LaTeX入门》内容取材广泛,涵盖了正文组织、自动化工具、数学公式、图表制作、幻灯片演示、错误处理等方面。考虑到LaTeX也是不断进化的,《LaTeX入门》从数以千计的LaTeX工具宏包中进行甄选,选择较新而且实用的版本来讲解排版技巧。
为了方便读者的学习,《LaTeX入门》给出了大量的实例和一定量的习题,并且还提供了案例代码。书中的示例大部分来自作者多年的实际排版案例,读者不断练习,肯定能掌握LaTeX的排版技能。
《LaTeX入门》适合数学、物理、计算机、化学、生物、工程等专业的学生、工程师和教师阅读,也适合中学数学教师。此外,本书还适合对LaTeX排版有兴趣的人员。
作者简介
刘海洋,毕业于北京大学,对Latex有深入研究,担任多个Tex论坛版主。
目录
序
前言
第1章 熟悉LATEX
1.1 让LATEX 跑起来
1.1.1 LATEX 的发行版及其安装
CTEX 套装3 TEX Live
1.1.2 编辑器与周边工具
编辑器举例——TeXworks 13 PDF 阅读器命令行工具
1.1.3 “Happy TEXing”与“特可爱排版”
1.2 从一个例子说起
1.2.1 确定目标
1.2.2 从提纲开始
1.2.3 填写正文
1.2.4 命令与环境
1.2.5 遭遇数学公式
1.2.6 使用图表
1.2.7 自动化工具
1.2.8 设计文章的格式
本章注记
第2章 组织你的文本
2.1 文字与符号
2.1.1 字斟句酌
从字母表到单词
正确使用标点
看不见的字符——空格与换行
2.1.2 特殊符号
2.1.3 字体
字体的坐标
使用更多字体
强调文字
2.1.4 字号与行距
2.1.5 水平间距与盒子
水平间距85 盒子
2.2 段落与文本环境
2.2.1 正文段落
2.2.2 文本环境
2.2.3 列表环境
基本列表环
计数器与编号
定制列表环境
2.2.4 定理类环境
2.2.5 抄录和代码环境
抄录命令与环境
程序代码与listings
2.2.6 tabbing 环境
2.2.7 脚注与边注
2.2.8 垂直间距与垂直盒子
2.3 文档的结构层次
2.3.1 标题和标题页
2.3.2 划分章节
2.3.3 多文件编译
2.3.4 定制章节格式
2.4 文档类与整体格式设计
2.4.1 基本文档类和ctex 文档类
2.4.2 页面尺寸与geometry
2.4.3 页面格式与fancyhdr
2.4.4 分栏控制与multicol
2.4.5 定义命令与环境
本章注记
第3章 自动化工具
3.1 目录
3.1.1 目录和图表目录
3.1.2 控制目录内容
3.1.3 定制目录格式
3.2 交叉引用
3.2.1 标签与引用
3.2.2 更多交叉引用
3.2.3 电子文档与超链
3.3 BIBTEX 与文献数据库
3.3.1 BIBTEX 基础
3.3.2 JabRef 与文献数据库管理
3.3.3 用natbib 定制文献格式
3.3.4 更多的文献格式
3.3.5 文献列表的底层命令
3.4 Makeindex 与索引
3.4.1 制作索引
3.4.2 定制索引格式
索引环境与格式
Makeindex 与格式文件
3.4.3 词汇表及其他
手工生成词汇表
使用glossaries 宏包
本章注记
第4章 玩转数学公式
4.1 数学模式概说
4.2 数学结构
4.2.1 上标与下标
4.2.2 上下画线与花括号
4.2.3 分式
4.2.4 根式
4.2.5 矩阵
4.3 符号与类型
4.3.1 字母表与普通符号
4.3.2 数学算子
4.3.3 二元运算符与关系符
4.3.4 括号与定界符
4.3.5 标点
4.4 多行公式
4.4.1 罗列多个公式
4.4.2 拆分单个公式
4.4.3 将公式组合成块
4.5 精调与杂项
4.5.1 公式编号控制
4.5.2 公式的字号
4.5.3 断行与数学间距
本章注记
第5章 绘制图表
5.1 LATEX 中的表格
5.1.1 tabular 和array
5.1.2 表格单元的合并与分割
5.1.3 定宽表格与tabularx
5.1.4 长表格与longtable
5.1.5 三线表与表线控制
5.1.6 array 宏包与列格式控制
5.1.7 定界符与子矩阵
5.2 插图与变换
5.2.1 graphicx 与插图
5.2.2 几何变换
5.2.3 页面旋转
5.3 浮动体与标题控制
5.3.1 浮动体
5.3.2 标题控制与caption 宏包
5.3.3 并排与子图表
5.3.4 浮动控制与float 宏包
5.3.5 文字绕排
5.4 使用彩色
5.4.1 彩色表格
5.5 绘图语言
5.5.1 XY-pic 与交换图表
5.5.2 PSTricks 与TikZ 简介
PSTricks380 pgf 与TikZ
5.5.3 METAPOST 与Asymptote 简介
METAPOST398 Asymptote
本章注记
第6章 幻灯片演示
6.1 组织幻灯内容
6.1.1 帧
6.1.2 标题与文档信息
6.1.3 分节与目录
6.1.4 文献
6.1.5 定理与区块
6.1.6 图表
6.2 风格的要素
6.2.1 使用主题
6.2.2 自定义格式
6.3 动态展示
6.3.1 覆盖浅说
6.3.2 活动对象与多媒体
本章注记
第7章 从错误中救赎
7.1 理解错误信息
7.1.1 与TEX 交互
7.1.2 常见错误与警告
TEX 错误
LATEX 错误
TEX 警告
LATEX 警告
7.2 调试与分析
7.2.1 调试命令
7.2.2 更多调试工具
7.3 提问的智慧
7.3.1 提问之前
7.3.2 最小工作示例
7.3.3 坏问题?好问题
本章注记
第8章 LATEX 无极限
8.1 宏编辑浅说
8.1.1 从LATEX 到TEX
8.1.2 编写自己的宏包和文档类
8.2 外部工具举隅
8.2.1 自动代码生成
生成公式代码
生成图形代码
生成表格代码
生成完整的TEX 文档
8.2.2 在其他地方使用LATEX
8.3 LATEX 资源寻找
8.3.1 再探TEX 发行版
8.3.2 互联网上的LATEX
CTAN 496 TEX 用户组织497 在线社区与独立网站
本章注记
部分习题答案
参考文献
索引
前言/序言
提到LATEX,便不能不说起它的基础TEX。TEX是诞生于20世纪70年代末到80年代初的一款计算机排版软件,用来排版高质量的书籍,特别是包含有数学公式的书籍。TEX以追求高质量为目标,很早就实现了矢量描述的计算机字体、细致的分页断行算法和数学排版功能,因其数学排版能力得到了学术界的广泛使用,也启发了不少后来复杂的商业计算机排版软件。有趣的是,这样一款排版软件却并非在排版业界产生,而是由计算机科学家高德纳教授在修订其七卷本巨著《计算机程序设计艺术》的前三卷时,为了排版这一部书籍而产生的。这是一部花费高德纳几乎毕生精力的巨著,直到今天仍在撰写,然而在照相排版技术刚刚兴起的1976年,新的计算机系统却无法提供与传统手工排版相媲美的质量。面对这种情况,高德纳抱怨道:
我不知道怎么办。我花了整整15年写这些书,可要是这么难看,我就再也不写了。我怎么能对这样的作品引以为豪呢·
从翌年开始,高德纳就在其学生、友人的帮助下,开发TEX排版软件。直到8年后TEX软件功能完备,他才又回到撰写书籍的工作中去。这段历史一直被引为TEX和高德纳的传奇,有“十年磨一剑”之称。TEX原本是用于个人的排版软件,这也引出了TEX与其他专业排版软件的一点重大的区别,就是TEX主要是由书籍、文章的作者本人来使用的,它是面向作者的。因此,TEX有许多方便作者的自定义功能,使用也简单方便,很快受到作者们的青睐,排版自己的学术书籍。
LATEX肇始于20世纪80年代初,也是LeslieLamport博士为了编写他自己的一部书籍而设计的。LATEX实际上就是用TEX语言编写的一组宏代码,拥有比原来的TEX格式(PlainTEX)更为规范的命令和一整套预定义的格式,隐藏了不少排版方面的细节,可以让完全不懂排版理论的学者们也可以比较容易地将书籍和文稿排版出来。LATEX一出,很快更为风靡,在1994年LATEX2“完善之后,现在已经成为国际上数学、物理、计算机等科技领域专业排版的事实标准,其他领域(化学、生物、工程、语言学等)也有大量用户。相关专业的学术期刊也都主要接受LATEX作为投稿格式。
既然TEX/LATEX主要是面向作者本人的排版软件,本书的目标对象也就以学术文章的作者为主,也就是需要经常编写LATEX稿件的高校师生和科研院所的研究人员。本书的内容选择以满足学术排版需求为准,阅读本书后读者应该不仅能应对各种学术投稿的简单需要,也将有能力排版一般的学术书籍,并使用LATEX完成简单的学术报告幻灯片。不过,本书也力图广泛取材,让排版公司的工人、中学数学教师或是用LATEX作笔记的电脑程序员都能有所得。
本书虽然名为“入门”,假定读者没有任何使用TEX的经验,但为了避免读者逡巡于门外而不入,也力图使内容详实可靠,为更深入地使用LATEX打好基础。在编写本书时,作者追求以下几个目标:
·内容广泛本书从软件安装和最基本的示例讲起,然后按正文组织、自动化工具、数学公式、图表制做、幻灯片演示、错误处理等方面详述LATEX的功能和使用,最后收束于LATEX的扩展、相关工具和资源。LATEX的基本内容并不多,功能也很有限,但经过20多年的发展,现代LATEX文档的一大特点是大量使用工具宏包来完成复杂的工作。本书也力图体现这一特点,全书过半的篇幅都在讲解各种重要的LATEX宏包和工具。本书正文共有566页,作为一本入门书已是嫌多,但仍不可能包罗LATEX的所有方面,未免有遗珠之憾,只能留待读者自己学习了。
·取材从新TEX最初的一个设计目标是良好的稳定性,希望在多年前编写的文档在最新的系统中排版仍能得到完全相同的结果,各种排版命令的语义保持稳定,TEX也确实做到了这一点。然而LATEX是一个更为开放的系统,与其他软件一样,它是在不断进化的。不仅其内核从最初的LATEX2.09到LATEX2“再到正在开发中的LATEX3不断变化,而且还有数以千计的工具宏包在不断更新,完成各种复杂的排版功能。实现TEX语言的TEX引擎,也在不断增添新的功能。为了反映这种变化,本书作者也尽量对内容加以甄别,选取较新并且实用的软件工具加以介绍。
·切合实用为了增强实用性,本书给出了大量实例和一定量的习题。第1章和第6章提供了两段完整的文档源代码,而其他章节也给出了大量的代码示例。代码示例和习题很多都源自作者历年来收集的各类实际的排版问题,相信对于本书的读者也会有所裨益。
为了照顾不同层次的读者,本书按LATEX的不同功能编排章节,章节之间没有严格的顺序关系,阅读本书也不必完全依照章节顺序。
·希望快速上手的初学者应首先阅读第1章,安装好TEX软件并在1.2节学习基本的实例,然后就可以模仿实例编写自己的LATEX文档了,等到实际需要时再翻到对应的章节了解具体内容。
·希望系统学习LATEX的读者可以从前往后依次阅读。书中一些段落前,或整个一节之前有一个危险标记,说明这一段或一节内容较难或者依赖后面章节的内容,在初次阅读时可以略过,可以在读完基本内容后再来了解这部分内容。还有一些段落前有两个危险标记,则表示这些内容中部分已经超出本书的范围,通常需要参见书中引用的其他文档才能完全理解。
·具有一定LATEX经验的读者可以根据自己的需要查找有用的内容,书后的索引将有助于找到特定的概念或命令,而每章末尾的注记与书后的文献列表则可以帮助读者找到本书中未能详述的内容。
本书使用不同的字体表示不同的内容。在正文中,使用等宽字体表示代码,如alpha命令、equation环境;用无衬线字体表示宏包名称,如amsmath宏包、beamer文档类;用尖括号内的楷体(西文斜体)表示参数,如h长度i、hkeyi。在表示LATEX命令或环境的语法形式时,则使用加粗的等宽字体。
还有一些代码示例没有直接的排版结果,则只给出源代码。如上所示,示例通常会有一个编号以方便引用。本书中所有带编号的示例和第1章、第6章的两个大的例子会随书附带,也可以在CTEX论坛网站上获取。
书中在部分章节后面安排了一些题外的内容,在标题前用书籍符号标示(如右),内容用楷体字印刷。这些内容游离于本书的主线之外,主要介绍一些背景知识,读者可根据自己的兴趣选择阅读。练习
此外,在部分章节后还设置了少量的练习题,用铅笔符号标示(如右),读者可据此检查自己是否掌握了正文中的内容。这些题目并非为了把读者难住,大部分练习在书末都有解答或提示。
在本书编写过程中,许多朋友都为作者提供了无私的帮助。韩建成阅读了本书早期的草稿和初稿,在结构和内容方面都提出了宝贵的意见和建议;赵劲松和李清阅读了本书的初稿,并在内容上给出了详细的建议与勘误;江疆和王越在阅读初稿后,对本书的内容和格式都提出了宝贵的意见。本书的编写一直受到在CTEX论坛与水木社区TEX版上网友们的关注和支持,论坛中对LATEX具体问题的大量讨论时常能启发作者的思路,为成书提供了重要的素材。在此,作者向所有关心本书的人们致以真诚的感谢!
作者已尽力使本书准确可靠,但受精力和水平所限,书中的错误在所难免。欢迎读者指出书中的技术上的、文字上的或是排版上的任何错误。有关本书的各种问题,可发送电子邮件至info@dozan.cn联系本书出版策划。
刘海洋
LaTeX入门 电子书 下载 mobi epub pdf txt