该笔记内容主要源自CTAN: A (Not So) Short Introduction to LaTeX(知道有中文的)的第三章。笔记对内容进行了整合,水平有限,若有错漏,欢迎指正交流。
本篇主要包含以下内容:
数学公式的一切
AMS-LaTeX包集合
AMS-LaTeX包集合(bundle)由美国数学学会(American Mathematical Society)开发,内置于所有LaTeX安装包中,包含用于数学排版的软件包和类的集合,其中最常用的包是amsmath。
数学公式
- 公式的两种排版类型
- Text Style:公式在段落内,包含在 $ $ 中
![d4fe5466c7ddc544cb2e456ea97471d4.png](https://i-blog.csdnimg.cn/blog_migrate/0c8074c954fd7c94a44d7a9ad2bc401e.jpeg)
换行 后 [5pt] 设置行间距为5pt
Large 命令加大排版字体
2. Display Style:公式独立在段落外,包含在环境equation中
![a9fe96705f43885193c7adad295a9258.png](https://i-blog.csdnimg.cn/blog_migrate/75e2e0304819c6ff73b224a221eb4122.jpeg)
公式的引用:首先在公式后面使用 label{} 命令设置标签,然后在引用处使用 eqref{} 命令通过标签引用公式
- 公式的特殊格式
- 使用 tag 命令命名公式
- 使用equation*环境或将公式包含 [ ] 中,可消除公式编号。推荐用前者,编号/无编号切换更快
- 在Text Style中,使用 smash{} 命令忽略公式高度,保持文稿行间距均匀。
![aa607c28462a3a2062524c9b069428d7.png](https://i-blog.csdnimg.cn/blog_migrate/112b60f1151d91d9120012987a574d4b.jpeg)
- 公式代码特征
- 单个公式代码中不允许出现空白行,一个公式一个段落
- 代码中的space没有意义,排版出公式中的空格是公式规范自带的,或者使用相关命令强制实现的:
a. quad:大小与当前字体的字符“ M”的宽度相等;qquad:2 * quad
b. ,:3/18 quad;::4/18 quad;;:5/18 quad;+空格:6/18 quad
c. !:-3/18 quad
d. phantoms:占据一个字符的空间
3. 代码中的字母都被视为变量,可使用 text{} 命令将某些字母当成普通字符排版
a. 常用公式字体表
![8a271b10c859ca1556a570e810aec383.png](https://i-blog.csdnimg.cn/blog_migrate/0d65d9051043575017cef9b145735a07.jpeg)
b. 符号加粗
boldsymbol{}
c. 不同显示模式
displaystyle{}、textstyle{}、scriptstyle{} 和 scriptscriptstyle{},顾名思义,详见下节例子。
![75f2a3d4a97b148c7f56091a9fae4c90.png](https://i-blog.csdnimg.cn/blog_migrate/0cf1ab571abee2b3da66487219ff27ea.jpeg)
公式符号
- 希腊字母、上下标、根号和点
- 公式中的命令只对紧随命令的一个字符有效,若命令要处理多个字符,需要用{}将多个字符括起来。
- 根号的大小会随公式内容自动调整,surd 简化开方表示
- cdot 表示居中点(可用来表示乘法),cdots 表示三个连续居中点,ldots 表示省略号,vdots 表示竖向省略号,ddots 表示斜向省略号
![f9cc70571f0256d96b71ff98310de047.png](https://i-blog.csdnimg.cn/blog_migrate/2745b52db87bdbff74d00160b95b67d4.jpeg)
希腊字母表
![68881855ae3a0ae36eb1e3273d137961.png](https://i-blog.csdnimg.cn/blog_migrate/aa67f9867a04b5a524ff3df0377e4833.jpeg)
二值关系符号表
![e55ce205f98fa111923cbbe3db837d99.png](https://i-blog.csdnimg.cn/blog_migrate/e65d7553eadb253f6f3ab575749e6804.jpeg)
- 上划下划线、上下括号、重音符号、标量、分数
dfrac:display style分数;tfrac:text style分数
![6493b084966e646f5bb1ccbabfcac7a6.png](https://i-blog.csdnimg.cn/blog_migrate/101564e3a9957867d2a368fc15dd81ae.jpeg)
- 函数符号
自定义函数:在preamble中使用DeclareMathOperator 命令定义函数,加星号实现“极限”型函数
![217bd98157e8090096d0af3e708a5d05.png](https://i-blog.csdnimg.cn/blog_migrate/b811113e891896a767fa7572e85be29d.jpeg)
常用函数表
![7e0a9a3421e839cc8a8b79aed0272e2a.png](https://i-blog.csdnimg.cn/blog_migrate/55cc5667d6af57ecd1a70ae3f4afb4c6.jpeg)
- 偏导、多项式系数、堆叠符号
![629c4f0d97ab007a148075a5f375b55c.png](https://i-blog.csdnimg.cn/blog_migrate/bc44657c639e904014cadf2accc47d9a.jpeg)
- 积分、求和、乘积
substack 命令可用于堆叠复杂条件
![ec8d7227a0cd7fd0f7e2c531936a4dc7.png](https://i-blog.csdnimg.cn/blog_migrate/32697ead524f3d07cd0d3aa09f7e3179.jpeg)
- Delimiter(括号,箭头等)
- 将left 和right 分别置于delimiter两部分前方(如左括号和右括号),delimiter的大小将自动调整,left. right. 不显示不显示部分delimiter
- big Big bigg Bigg 手动放大delimiter
![33947a007a61f72a8bbefed9d4100049.png](https://i-blog.csdnimg.cn/blog_migrate/4c6c38beb5e41ab3488f7e1114dd93b2.jpeg)
长公式
当公式跨越多行时,为了保持良好的可读性, 需要保持多行公式垂直对齐,并且在折叠公式时:
- 在运算符前面折叠,尽量避免其他折叠策略
- 折叠优先级 = 大于 + - 大于 *
- IEEEeqnarray环境
使用IEEEtrantools功能包,然后加载其中的IEEEeqnarray环境。该环境可将折叠的公式按列对齐(类似表格,如下图)。
![ca6532b71ec2ebf160db1302ad2153bd.png](https://i-blog.csdnimg.cn/blog_migrate/ede5d5edbb2ac1429975453650ac7652.jpeg)
- 环境参数rCl表示将每行公式切分为右对齐,居中,左对齐的三列,大写的C表示该列内容左右两边空隙较大。除了用于数学公式的l c r L C R对齐,还有用于纯文本s t u(左中右)的对齐。
- 当公式代码以 + 或 - 开头时,LaTeX将其视为正负号,与其后接的字符空隙较小。代码第15行中 {} + l 是将开头正号强制转为加号,保持 + l 距离和后面字符距离一致;negmedspace 即negative medium space,缩短命令两边字符的距离,代码中缩短 {} 和 + 之间的距离。
- 单行公式过长
- 与公式编号重叠,可使用IEEEeqnarrayspace 移动公式与编号分离
- 移动改善效果不佳,可折叠该行的一部分,然后使用IEEEeqnarraymulticol 合并折叠出的一行中的多列为一列
![376fc9cde03f3f758ac911f44630fd7e.png](https://i-blog.csdnimg.cn/blog_migrate/686a546fb83d3d75831ce795c130e3ce.jpeg)
- 公式编号
- nonumber (或使用IEEEnonumber )取消改行公式编码
- 在无编号(IEEEeqnarray*)环境下,可使用IEEEyesnumber 和IEEEyessubnumber 设置公式编号和次级编号
![eaef40337a5f55da80286cd7f8c68440.png](https://i-blog.csdnimg.cn/blog_migrate/ba58415bab091066da30b10f40f39707.jpeg)
- 综合示例
newcommand{name}{action} 命令生成名为name的新命令,action是已有命令的组合
![3d20e9a96161903ab7230029d1078922.png](https://i-blog.csdnimg.cn/blog_migrate/b8f3006af5d4bb035334b99082ea1aec.jpeg)
![6440551e3d81202d30d85789f121d5fc.png](https://i-blog.csdnimg.cn/blog_migrate/80dc0a8ab987e44f0b486edf976b9be2.jpeg)
数组与矩阵
- 数组
- array环境:类似表格,需要设置每列格式
- cases:左大括号公式
![b6930a6a12861c0aab830ba125c9b24a.png](https://i-blog.csdnimg.cn/blog_migrate/2446d01711f3da0652df85f46aac229f.jpeg)
- 矩阵
可用array环境实现,但amsmath包提供了更高效的矩阵环境:
- matrix环境:无符号矩阵
- pmatri环境:小括号矩阵
- bmatrix环境:中括号矩阵
- Bmatrix环境:大括号矩阵
- vmatrix环境:竖线矩阵
- Vmatrix环境:双竖线矩阵
![d78cfa7d847ce1bc08e3218fe27f378b.png](https://i-blog.csdnimg.cn/blog_migrate/ec1f4786a15a4095e8806855bf1827e7.jpeg)
定理与证明
- 定理
- 首先在preamble中定义:newtheorem{name}[counter]{text}[section]
name:定理的标识符
text:定理在排版文档显示的名称
counter:指定前置定理的名称,当前定理的编号与前置定理保持次序
section:定理编号根据章节排序
2. 然后再document中使用:begin{name}{text} end{name}
在amsthm包中,theoremstyle{style} 命令可调整定理显示样式,包含以下几种:
definition (fat title, roman body),plain (fat title, italic body) or remark (italic title,roman body)
![32077557a859df24e528db82dfefa9ce.png](https://i-blog.csdnimg.cn/blog_migrate/4a57b7e516b9399b32b583242962c2fa.jpeg)
- 证明
- qedhere 命令设置证明结束符号(end of proof)的位置
- IEEEeqnarray环境中,默认两个不可见的列放数组的两侧,确保方程组水平居中。
![f42c8b203939a03b12b52e925d359ac2.png](https://i-blog.csdnimg.cn/blog_migrate/b637126eb604c29b999421d7b857687f.jpeg)
{+ rCl + x *}中的+表示两侧的隐藏列,x 表示一个空列,这一行只在包含qedhere 的最后一行生效,* 表示一个空空间(null-space),防止环境自动添加另一个隐藏列
后记
原书第三章最后一节包含大量数学符号表
![a3f440d8779aa06446dc7be97fc97008.png](https://i-blog.csdnimg.cn/blog_migrate/69638502ac63492aca4f599838c2171e.jpeg)