LaTeX入门(5)
几种常见的数学环境
- 行内公式、行间公式
- equation环境
- align环境
- multline环境
- split环境
- gather环境
- aligned和gathered环境
其他数学文本样式
- bm宏包:对数学字体进行加粗
- 数学字母字体
祝大家新年快乐!最近肺炎病毒横行,能不出门就不要出门了,在家里学习LaTeX它不香吗~
终于到了我们最为重要的一部分,前面的还算是皮毛,通过学习LaTeX强大的数学公式的排版,我们才能真正意识到LaTeX所带来的好处与实用性,使我们在科技排版,尤其是数学方面都有着飞快的进步。
首先我们要区别的是 文本模式 与 数学模式 ,一般的文本模式就是我们通常写论文文字的地方,一旦我们要加入数学公式,就要进入数学模式,在数学模式里,只能写数学公式,要想写出普通的文本模式必须使用\text{普通文本}这样的形式,不然编译的结果可能不会显示出来,还要注意的是,数学模式中的空格全部省略,LaTeX会按照自己的规则安排公式之间的间距,当然之前所说的\quad、\qquad等之类的命令是可以用的。
想要在论文中插入数学公式,首先我们需要引入amsmath宏包
行内公式
行内公式就是跟一般的文本在同一行显示,常用的行内公式命令
- $.......$,省略号中写公式(推荐)简单美观
- \(.......\),省略号中写公式
- \begin{math}........\end{math},省略号中写公式
行间公式
行间公式就是另起一行,居中显示,常用的行间公式命令
- $$......$$,省略号中写数学公式,推荐
- \[.......\],省略号中写数学公式
- \begin{displaymath}......\end{displaymath},省略号中写数学公式
或者可以这么写,但是比较麻烦
后来我查了一下资料,有的教程上说尽量不要使用“$$...$$”来写行间公式,因为它和AMS-LaTeX有冲突,所以我现在的习惯是使用\[....\]。
equation环境
我们还可以使用equation环境来实现公式的自动编号
equation环境中只能放一行公式,而且这个环境中不能有空行,不然会报错。如果我们不想让某一个公式参与自动编号,在后面加上\nonumber即可。或者使用equation*环境也可以产生不带编号的数学公式
可以看出,只有第二个公式后面有编号
我们还可以用\label{},\eqref{}进行公式的交叉引用
align环境
align环境中的数学公式是多行数学公式,也就是说,我们可以写多个数学公式,每个数学公式独占一行,可以使用“&”符号来指定在哪里对齐,使用“\\”符号换行
我们可以看到,由align环境产生的也是一种自动编号的公式,如果我们不想让某一行公式进行编号,可以在后面使用\nonumber或者\notag命令
我们也可以使用\label{}和\eqref{}进行公式的交叉引用
multline环境
回顾一下,我们可以使用equation和align环境分别实现带自动编号的单行数学公式和多行数学公式,如果我们的某一个公式很长,需要换行怎么办,要注意,数学模式中是不可以出现空行的,这个时候,我们就需要multline环境了,在需要换行的地方使用符号“\\”进行换行,这个环境也叫做 长公式的换行 ,会把公式的编号放在最后一行,第一行公式左对齐,最后一行公式右对齐,其余行的公式居中显示
split环境
从multline环境中我们也可以看出,编译结果并不是对齐的长公式,要想实现对齐的长公式换行,我们就可以使用split环境,要注意它本身并不能独立使用,必须包含在其他数学环境中,因此也被称作 次环境 ,同样地,使用“&”和“\\”进行对齐和换行
gather环境
之前提到过,align环境用来产生多行数学公式,而且自动给每一行公式后面加上编号,在我们需要对齐的地方使用“&”符号,在需要换行的地方使用“\\”符号,如果我们不关注对齐的情况,只是想把多行数学公式写在一起,就可以使用gather环境,观察下面图片并与align环境进行对比
aligned环境和gathered环境
aligned环境和gathered环境的用法分别与align环境和gather环境的用法对应,那么加了-ed与不加-ed的区别是什么呢?我们都知道align和gather环境会为多行公式的每一行公式后面加上自动编号,如果我们想让这一大块公式对应一个公共的编号,就可以使用加了-ed的环境,但是要注意,这两个加了-ed的环境一定要与equation环境 嵌套使用! 否则会报错。
subequations环境
关于公式的编号,有时候我们想在同一个编号的公式中用a和b来区分不同的数学公式,就可以使用subequations环境,里面可以嵌套多个数学公式
bm宏包
之前提到过,给文字加粗的命令是无法给数学公式加粗的,系统是会报错的
要想给数学公式中的文字加粗,就需要使用bm宏包
但是在数学模式中的普通文本模式可以正常加粗
数学字母字体
在数学模式中,像有理数Q,实数R等这些数学字母都有自己独特的写法,那么如何打出这样的字体呢?这是我在《一份不太简短的LATEX2介绍》中的截图,可以大概记一下