LaTeX 排版(二)——排版数学公式

1. AMS 宏集

在介绍数学公式排版之前,简单介绍一下 AMS 宏集. AMS 宏集合是美国数学学会(American Mathematical Society) 提供的对 LaTeX \LaTeX LATEX 原生的数学公式排版的扩展,其核心是 amsmath 宏包,对多行公式的排版提供了有力的支持。此外,amsfonts 宏包以及基于它的 amssymb 宏包提供了丰富的数学符号;amsthm 宏包扩展了 LaTeX \LaTeX LATEX 定理证明格式.

本文介绍的许多命令和环境依赖于 amsmath 宏包,这些命令和环境将以蓝色示意. 以下示例都假定了导言区中写有:

\usepackage{amsmath}

2. 公式排版基础

2.1 行内和行间公式

数学公式有两种排版方式:其一是与文字混排,称为行内公式;其二是单独列为一行排版,称为行间公式.

行内公式由一对$ 符号包裹:

The Pythagorean theorem is
$a^2 + b^2 = c^2$.

在这里插入图片描述

单独成行的行间公式在 LaTeX \LaTeX LATEX 里由 equation 环境包裹. equation 环境为公式自动生成一个编号,这个编号可以用 \label\ref 生成交叉引用,amsmath\eqref 命令甚至为引用自动加上圆括号;还可以用 \tag 命令手动修改公式的编号,或者用 \notag 命令取消为公式编号(与之基本等效的命令是 \nonumber).

The Pythagorean theorem is:
\begin{equation}
a^2 + b^2 = c^2 \label{pythagorean}
\end{equation}
Equation \eqref{pythagorean} is
called `Gougu theorem' in Chinese.

在这里插入图片描述

或者:

It's wrong to say
\begin{equation}
1 + 1 = 3 \tag{dumb}
\end{equation}
or
\begin{equation}
1 + 1 = 4 \notag
\end{equation}

在这里插入图片描述

如果需要直接使用不带编号的行间公式,则将公式用命令 \[\] 包裹,与之等效的是 displaymath 环境。有的人更喜欢 equation* 环境,体现了带星号和不带星号的环境之间的区
别.

\begin{equation*}
a^2 + b^2 = c^2
\end{equation*}
For short:
\[ a^2 + b^2 = c^2 \]
Or if you like the long one:
\begin{displaymath}
a^2 + b^2 = c^2
\end{displaymath}

在这里插入图片描述

我们通过一个例子展示行内公式和行间公式的对比. 为了与文字相适应,行内公式在排版大的公式元素(分式、巨算符等)时显得很“局促”:

In text:
$\lim_{n \to \infty}
\sum_{k=1}^n \frac{1}{k^2}
= \frac{\pi^2}{6}$.

In display:
\[
\lim_{n \to \infty}
\sum_{k=1}^n \frac{1}{k^2}
= \frac{\pi^2}{6}
\]

在这里插入图片描述

行间公式的对齐、编号位置等性质由文档类选项控制,文档类的 fleqn 选项令行间公式左对齐;leqno 选项令编号放在公式左边.

2.2 数学模式

当用户使用 · 开启行内公式输入,或是使用 \[ 命令、equation 环境时, LaTeX \LaTeX LATEX 就进入了数学模式. 数学模式相比于文本模式有以下特点:

  1. 数学模式中输入的空格被忽略. 数学符号的间距默认由符号的性质(关系符号、运算符等)决定. 需要人为引入间距时,使用 \quad\qquad 等命令
  2. 不允许有空行(分段),行间公式中也无法用 \\ 命令手动换行.
  3. 所有的字母被当作数学公式中的变量处理,字母间距与文本模式不一致,也无法生成单词之间的空格.
$x^{2} \geq 0 \qquad
\text{for \textbf{all} }
x\in\mathbb{R}$

在这里插入图片描述

2.3 数学符号

2.3.1 一般符号

希腊字母:

在这里插入图片描述

其他符号:

在这里插入图片描述

省略号:

在这里插入图片描述

2.3.2 指数、上下标和导数

LaTeX \LaTeX LATEX 中用 ^_ 标明上下标. 注意上下标的内容(子公式)一般需要用花括号包裹,否则上下标只对后面的一个符号起作用.

$p^3_{ij} \qquad
m_\mathrm{Knuth}\qquad
\sum_{k=1}^3 k $\\[5pt]
$a^x+y \neq a^{x+y}\qquad
e^{x^2} \neq {e^x}^2$

在这里插入图片描述

导数符号 '() 是一类特殊的上标,可以适当连用表示多阶导数,也可以在其后连用上标:

$f(x) = x^2 \quad f'(x)
= 2x \quad f''^{2}(x) = 4$

在这里插入图片描述

2.3.3 分式和根式

分式使用 \frac{分子}{分母}来书写.

分式的大小在行间公式中是正常大小,而在行内被极度压缩. amsmath 提供了方便的命令 \dfrac\tfrac,令用户能够在行内使用正常大小的分式,或是反过来.

In display style:
\[
3/8 \qquad \frac{3}{8}
\qquad \tfrac{3}{8}
\]
In text style:
$1\frac{1}{2}$~hours \qquad
$1\dfrac{1}{2}$~hours

在这里插入图片描述

一般的根式使用 \sqrt{...};表示 n n n 次方根时写成 \sqrt[n]{...}.

$\sqrt{x} \Leftrightarrow x^{1/2}
\quad \sqrt[3]{2}
\quad \sqrt{x^{2} + \sqrt{y}}$

在这里插入图片描述

特殊的分式形式,如二项式结构,由 amsmath 宏包的 \binom 命令生成:

Pascal's rule is
\[
\binom{n}{k} =\binom{n-1}{k}
+ \binom{n-1}{k-1}
\]

在这里插入图片描述

2.3.4 关系符

二元关系符:

在这里插入图片描述

在这里插入图片描述

LaTeX \LaTeX LATEX 还提供了自定义二元关系符的命令 \stackrel,用于将一个符号叠加在原有的二元关系符之上:

\[
f_n(x) \stackrel{*}{\approx} 1
\]

在这里插入图片描述

2.3.5 算符

二元运算符:

在这里插入图片描述

在这里插入图片描述

∇ \nabla (\nabla) 和 ∂ \partial (\partial) 也是常用的算符,虽然它们不属于二元算符

L A T E X LATEX LATEX 将数学函数的名称作为一个算符排版,字体为直立字体。其中有一部分符号在上下位置可以书写一些内容作为条件:

在这里插入图片描述

\[
\lim_{x \rightarrow 0}
\frac{\sin x}{x}=1
\]

在这里插入图片描述

对于求模表达式, LaTeX \LaTeX LATEX 提供了 \bmod\pmod 命令,前者相当于一个二元运算符,后者作为同余表达式的后缀:

$a\bmod b \\
x\equiv a \pmod{b}$

在这里插入图片描述

amsmath 允许用户在导言区用 \DeclareMathOperator 定义自己的算符,其中带星号的命令定义带上下限的算符:

\DeclareMathOperator{\argh}{argh}
\DeclareMathOperator*{\nut}{Nut}

例如:

\[\argh 3 = \nut_{x=1} 4x\]

在这里插入图片描述

2.3.6 巨算符

积分号 ∫ \int (\int)、求和号 ∑ \sum (\sum) 等符号称为巨算符,巨算符在行内公式和行间公式的大小和形状有区别.

In text:
$\sum_{i=1}^n \quad
\int_0^{\frac{\pi}{2}} \quad
\oint_0^{\frac{\pi}{2}} \quad
\prod_\epsilon $ \\
In display:
\[\sum_{i=1}^n \quad
\int_0^{\frac{\pi}{2}} \quad
\oint_0^{\frac{\pi}{2}} \quad
\prod_\epsilon \]

在这里插入图片描述

巨算符的上下标位置可由 \limits\nolimits 调整,前者令巨算符类似 lim ⁡ \lim lim 或求和算符 ∑ \sum ,上下标位于上下方;后者令巨算符类似积分号,上下标位于右上方和右下方.

In text:
$\sum\limits_{i=1}^n \quad
\int\limits_0^{\frac{\pi}{2}} \quad
\prod\limits_\epsilon $ \\
In display:
\[\sum\nolimits_{i=1}^n \quad
\int\limits_0^{\frac{\pi}{2}} \quad
\prod\nolimits_\epsilon \]

在这里插入图片描述

amsmath 宏包还提供了 \substack,能够在下限位置书写多行表达式;subarray 环境更进一步,令多行表达式可选择居中(c) 或左对齐(l).

\[
\sum_{\substack{0\le i\le n \\
j\in \mathbb{R}}}
P(i,j) = Q(n)
\]
\[
\sum_{\begin{subarray}{l}
0\le i\le n \\
j\in \mathbb{R}
\end{subarray}}
P(i,j) = Q(n)
\]

在这里插入图片描述

2.3.7 数学重音和上下括号

数学符号可以像文字一样加重音,比如求导符号 r ˙ \dot{r} r˙ (\dot{r})、 r ¨ \ddot{r} r¨ (\ddot{r})、表示向量的箭头 r ⃗ \vec{r} r (\vec{r}) 、表示单位向量的符号 e ^ \hat{\mathbf{e}} e^ (\hat{\mathbf{e}}) 等. 使用时要注意重音符号的作用区域,一般应当对某个符号而不是“符号加下标”使用重音:

$\bar{x_0} \quad \bar{x}_0$\\[5pt]
$\vec{x_0} \quad \vec{x}_0$\\[5pt]
$\hat{\mathbf{e}_x} \quad
\hat{\mathbf{e}}_x$

在这里插入图片描述

更多的数学重音符号如下表所示:

在这里插入图片描述

LaTeX \LaTeX LATEX 也能为多个字符加重音,包括直接画线的 \overline\underline 命令(可叠加使用)、宽重音符号 \widehat、表示向量的箭头 \overrightarrow 等.

$0.\overline{3} =
\underline{\underline{1/3}}$ \\[5pt]
$\hat{XY} \qquad \widehat{XY}$\\[5pt]
$\vec{AB} \qquad
\overrightarrow{AB}$

在这里插入图片描述

还有一些作为重音的箭头符号:

在这里插入图片描述

\overbrace\underbrace 命令用来生成上/下括号,各自可带一个上/下标公式:

$\underbrace{\overbrace{(a+b+c)}^6
\cdot \overbrace{(d+e+f)}^7}
_\text{meaning of life} = 42$

在这里插入图片描述

2.3.8 箭头

常用的箭头包括 \rightarrow ( → \rightarrow ,或 \to)、\leftarrow ← \leftarrow ,或 \gets)等,更多箭头如下表:

在这里插入图片描述

amsmath\xleftarrow\xrightarrow 命令提供了长度可以伸展的箭头,并且可以为箭头增加上下标:

\[ a\xleftarrow{x+y+z} b \]
\[ c\xrightarrow[x<y]{a*b*c}d \]

在这里插入图片描述

2.3.9 括号和定界符

LaTeX \LaTeX LATEX 提供了多种括号和定界符表示公式块的边界,如小括号 ()、中括号 []、大括号 {}(\{\})、尖括号 ⟨⟩(\langle \rangle)等,更多括号/定界符如下所示:

在这里插入图片描述

在这里插入图片描述

${a,b,c} \neq \{a,b,c\}$

在这里插入图片描述

使用 \left\right 命令可令括号(定界符)的大小可变,在行间公式中常用,\left\right 必须成对使用.

需要使用单个定界符时,另一个定界符写成 \left.\right.

\[1 + \left(\frac{1}{1-x^{2}}
\right)^3 \qquad
\left.\frac{\partial f}{\partial t}
\right|_{t=0}\]

在这里插入图片描述

有时我们不满意于 LaTeX \LaTeX LATEX 为我们自动调节的定界符大小. 这时我们还可以用 \big\bigg 等命令生成固定大小的定界符. 更常用的形式是类似 \left\bigl\biggl 等,以及类似 \right\bigr\biggr 等(\bigl\bigr 不必成对出现).

$\Bigl((x+1)(x-1)\Bigr)^{2}$\\
$\bigl( \Bigl( \biggl( \Biggl( \quad
\bigr\} \Bigr\} \biggr\} \Biggr\} \quad
\big\| \Big\| \bigg\| \Bigg\| \quad
\big\Downarrow \Big\Downarrow
\bigg\Downarrow \Bigg\Downarrow$

在这里插入图片描述

使用 \big\bigg 等命令的另外一个好处是:用 \left\right 分界符包裹的公式块是不允许断行的(下文提到的 array 或者 aligned 等环境视为一个公式块),所以也不允许在多行公式里跨行使用,而 \big\bigg 等命令不受限制.

2.4 多行公式

2.4.1 长公式折行

通常来讲应当避免写出超过一行而需要折行的长公式. 如果一定要折行的话,习惯上优先在等号之前折行,其次在加号、减号之前,再次在乘号、除号之前. 其它位置应当避免折行.

amsmath 宏包的 multline 环境提供了书写折行长公式的方便环境. 它允许用 \\ 折行,将公式编号放在最后一行. 多行公式的首行左对齐,末行右对齐,其余行居中.

\begin{multline}
a + b + c + d + e + f
+ g + h + i \\
= j + k + l + m + n\\
= o + p + q + r + s\\
= t + u + v + x + z
\end{multline}

在这里插入图片描述

与表格不同的是,公式的最后一行不写 \\,如果写了,反倒会产生一个多余的空行.

类似 equation*multline* 环境排版不带编号的折行长公式.

2.4.2 多行公式

更多的情况是,我们需要罗列一系列公式,并令其按照等号对齐

目前最常用的是 align 环境,它将公式用 & 隔为两部分并对齐,分隔符通常放在等号左边:

\begin{align}
a & = b + c \\
& = d + e
\end{align}

在这里插入图片描述

align 环境会给每行公式都编号,我们仍然可以用 \notag 去掉某行的编号. 。在以下的例子,为了对齐等号,我们将分隔符放在右侧,并且此时需要在等号后添加一对括号 {} 以产生正常的间距:

\begin{align}
a ={} & b + c \\
={} & d + e + f + g + h + i
+ j + k + l \notag \\
& + m + n + o \\
={} & p + q + r + s
\end{align}

在这里插入图片描述

align 还能够对齐多组公式,除等号前的 & 之外,公式之间也用 & 分隔:

\begin{align}
a &=1 & b &=2 & c &=3 \\
d &=-1 & e &=-2 & f &=-5
\end{align}

在这里插入图片描述

如果我们不需要按等号对齐,只需罗列数个公式,gather 将是一个很好用的环境:

\begin{gather}
a = b + c \\
d = e + f + g \\
h + i = j + k \notag \\
l + m = n
\end{gather}

在这里插入图片描述

aligngather 有对应的不带编号版本的 align*gather*.

2.4.3 公用编号的多行公式

另一个常见的需求是将多个公式组在一起公用一个编号,编号位于公式的居中位置. 为此,amsmath 宏包提供了诸如 alignedgathered 等环境,与 equation 环境套用. 以 -ed 结尾的环境用法与前一节不以 -ed 结尾的环境用法一一对应,我们仅以 aligned 举例:

\begin{equation}
\begin{aligned}
a &= b + c \\
d &= e + f + g \\
h + i &= j + k \\
l + m &= n
\end{aligned}
\end{equation}

在这里插入图片描述

2.5 数组和矩阵

为了排版二维数组, LaTeX \LaTeX LATEX 提供了array 环境,用法与 tabular 环境极为类似,也需要定义列格式,并用 \\ 换行. 数组可作为一个公式块,在外套用 \left\right等定界符:

\[ \mathbf{X} = \left(
\begin{array}{cccc}
x_{11} & x_{12} & \ldots & x_{1n}\\
x_{21} & x_{22} & \ldots & x_{2n}\\
\vdots & \vdots & \ddots & \vdots\\
x_{n1} & x_{n2} & \ldots & x_{nn}\\
\end{array} \right) \]

在这里插入图片描述

我们还可以利用空的定界符排版出这样的效果:

\[ |x| = \left\{
\begin{array}{rl}
-x & \text{if } x < 0,\\
0 & \text{if } x = 0,\\
x & \text{if } x > 0.
\end{array} \right. \]

在这里插入图片描述

不过上述例子可以用 amsmath 提供的 cases 环境更轻松地完成:

\[ |x| =
\begin{cases}
-x & \text{if } x < 0,\\
0 & \text{if } x = 0,\\
x & \text{if } x > 0.
\end{cases} \]

在这里插入图片描述

我们当然也可以用 array 环境排版各种矩阵。amsmath 宏包还直接提供了多种排版矩阵的环境,包括不带定界符的 ,以及带各种定界符的矩阵 pmatrix()、bmatrix[)、Batrix{)、vmatrix|)、Vmatrix||), 使用这些环境时,无需给定列格式.

\[
\begin{matrix}
1 & 2 \\ 3 & 4
\end{matrix} \qquad
\begin{bmatrix}
x_{11} & x_{12} & \ldots & x_{1n}\\
x_{21} & x_{22} & \ldots & x_{2n}\\
\vdots & \vdots & \ddots & \vdots\\
x_{n1} & x_{n2} & \ldots & x_{nn}\\
\end{bmatrix}
\]

在这里插入图片描述

2.6 公式中的间距

前文提到过,绝大部分时候,数学公式中各元素的间距是根据符号类型自动生成的,需要我们手动调整的情况极少. 我们已经认识了两个生成间距的命令 \quad\qquad. 在公式中我们还可能用到的间距包括 \,\:\; 以及负间距 \!,其中 \quad\qquad\, 在文本和数学环境中可用,后三个命令只用于数学环境. 文本中的 \␣ 也能使用在数学公式中.

在这里插入图片描述

一个常见的用途是修正积分的被积函数 f ( x ) (x) (x) 和微元 d x \text{d}x dx 之间的距离,注意微元里的 d \text{d} d 用的是直立体:

\[
\int_a^b f(x)\mathrm{d}x
\qquad
\int_a^b f(x)\,\mathrm{d}x
\]

在这里插入图片描述

另一个用途是生成多重积分号,如果我们直接连写两个 \int,之间的间距将会过宽,此时可以使用负间距 \! 修正之. 不过 amsmath 提供了更方便的多重积分号,如二重积分 \iint、三重积分 \iiint 等.

\newcommand\diff{\,\mathrm{d}}
\begin{gather*}
\int\int f(x)g(y)
\diff x \diff y \\
\int\!\!\!\int
f(x)g(y) \diff x \diff y \\
\iint f(x)g(y) \diff x \diff y \\
\iint\quad \iiint\quad \idotsint
\end{gather*}

在这里插入图片描述

2.7 数学符号的字体控制

2.7.1 数学字母字体

LaTeX \LaTeX LATEX 允许一部分数学符号切换字体,主要是拉丁字母、数字、大写希腊字母以及重音符号等. 下表给出了切换字体的命令.

在这里插入图片描述

某一些命令需要字体宏包的支持.

% \usepackage{amsmath,amssymb}
$\mathcal{R} \quad \mathfrak{R}
\quad \mathbb{R}$
\[\mathcal{L}
= -\frac{1}{4}F_{\mu\nu}F^{\mu\nu}\]
$\mathfrak{su}(2)$ and
$\mathfrak{so}(3)$ Lie algebra

在这里插入图片描述

2.7.2 数学符号的尺寸

数学符号按照符号排版的位置规定尺寸,从大到小包括行间公式尺寸、行内公式尺寸、上下标尺寸、次级上下标尺寸. 除了字号有别之外,行间和行内公式尺寸下的巨算符也使用不一样的大小. LaTeX \LaTeX LATEX 为每个数学尺寸指定了一个切换的命令,见下表:

在这里插入图片描述

我们通过以下示例对比行间公式和行内公式的区别. 在分式中,分子分母默认为行内公式尺寸,示例中将分母切换到行间公式尺寸:

\[
r = \frac
{\sum_{i=1}^n (x_i- x)(y_i- y)}
{\displaystyle \left[
\sum_{i=1}^n (x_i-x)^2
\sum_{i=1}^n (y_i-y)^2
\right]^{1/2} }
\]

在这里插入图片描述

2.7.3 加粗的数学符号

LaTeX \LaTeX LATEX 中为符号切换数学字体并不十分自由,只能通过 \mathbf 等有限的命令切换字体. 比如想得到粗斜体的符号,就没有现成的命令. 再比如 \mathbf 只能改变拉丁字母和大写希腊字母,小写希腊字母就没有用.

LaTeX \LaTeX LATEX 提供了一个命令 \boldmath 令用户可以将整套数学字体切换为粗体版本(前提是数学字体宏包本身支持粗体符号),但这个命令只能在公式外使用

$\mu, M \qquad
\mathbf{\mu}, \mathbf{M}$
\qquad {\boldmath$\mu, M$}

在这里插入图片描述

amsmath 提供了一个 \boldsymbol 命令(由调用的 amsbsy 宏包提供),用于打破 \boldmath 的限制,在公式内部将一部分符号切换为粗体.

$\mu, M \qquad
\boldsymbol{\mu}, \boldsymbol{M}$

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值