4. 排版数学公式

您所在的位置:网站首页 公式的序号怎么放到末位 4. 排版数学公式

4. 排版数学公式

2024-05-05 06:16| 来源: 网络整理| 查看: 265

4. 排版数学公式 #

准备好了!本章将见识到 LaTeX 闻名的强项——排版数学公式。当然你得注意了,本章的内容只是一点皮毛,虽然对大多数人来说以及够用了,但是如果不能解决你的问题的话也不要大惊小怪,求助于搜索引擎或者有经验的人不失为一个好办法。

4.1 AMS 宏集 #

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

本章介绍的许多命令和环境依赖于 amsmath 宏包。这些命令和环境将以 蓝色 示意。

4.2 公式排版基础 # 4.2.1 行内和行间公式 #

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

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

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

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

The Pythagorean theorem is: \begin{equation} a^2 + b^2 = c^2 \lable{pythagorean} \end{equation} Equation \eqref{epythagorean} 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 选项令编号放在公式左边。

4.2.2 数学模式 #

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

数学模式中输入的空格被忽略。数学符号的间距默认由符号的性质(关系符号、运算符等)决定。需要人为引入间距时,使用 \quad 和 \qquad 等命令。详见 4.6 节。 不允许有空行(分段)。行间公式中也无法用 \\ 命令手动换行。排版多行公式需要用到 4.4 节介绍的各种环境。 所有的字母被当作数学公式中的变量处理,字母间距与文本模式不一致,也无法生成单词之间的空格。如果想再数学公式中输入正体的文本,简单情况下可用 4.7.1 小节中提供的 \mathrm 命令。或者用 amsmath 提供的 \text 命令。 $x^{2} \geq 0 \qquad \text{for \textbf{all} } x\in\mathbb{R}$

4.3 数学符号 #

本节我们将接触到形形色色的数学符号,它们是 LaTeX 卓越的数学公式排版能力的基础。LaTeX 默认提供了常用的数学符号,amssymb 宏包提供了一些次常用的符号。大多数常用的数学符号都能在本章末尾的 4.9 节列出的各个表格里查到。更多符号可查阅参考文献[15]。

4.3.1 一般符号 #

希腊字母符号的名称就是其英文名称,如 α (\alpha)、β (\beta)等等。大写的希腊字母为首字母大写的命令,如 Γ (\Gamma)、∆(\Delta)等等。无穷大的符号为 ∞ (\infty)。更多符号命令可参考表 4.5 和 4.14 等。

省略号有 …(\dots)和 ···(\cdots)两种形式。它们有各自合适的用途:

$a_1, a_2, \dots, a_n$ \\ $a_1 + a_2 + \cdots + a_n$

\Idots 和 \dots 是完全等效的,它们既能用在公式中,也可以在文本里作为省略号(详见 2.3.5 小节)。除此之外,在矩阵中可能会用到竖排 ⋮(\vdots)和斜排的 ⋱(\ddots)。

4.3.2 指数、上下标和导数 #

在 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$

4.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 次方根时写成 \squrt[n]{…}。

$\squrt{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} \]

4.3.4 关系符 #

LaTeX 常见的关系符号除了可以直接输入 =,>, 0. \end{cases} \]

在矩阵中的元素里排版分式时,一定要用到 \dfrac 等命令,二来行与行之间有可能紧贴着,这时要用到 3.6.6 小节的方法来调节间距:

\[ \mathbf{H}= \begin{bmatrix} \dfrac{\partial^2 f}{\partial x^2} & \dfrac{\partial^2 f} {\partial x \partial y} \\[8pt] \dfrac{\partial^2 f} {\partial x \partial y} & \dfrac{\partial^2 f}{\partial y^2} \end{bmatrix} \]

4.6 公式中的间距 #

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

一个常见的用途是修正积分的被积函数 f(x)和微元 dx 之间的距离。注意微元里的 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 \\ \lint\quad \iiint\quad \idotsint \end{gather*}

4.7 数学符号的字体控制 # 4.7.1 数学字母字体 #

LaTeX 允许一部分数字符号切换字体,主要是拉丁字母、数字等等。表 4.2 给出了切换字体的命令。某一些命令需要字体宏包的支持。

$\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

4.7.2 数学符号的尺寸 #

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

例如行间公式分式内,分子字母使用行内公式尺寸,巨算符采用行内尺寸的形成。对比一下分子字母使用 \displaystyle 命令与否的区别:

\[ P = \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} } \]

4.7.3 加粗的数学符号 #

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

LaTeX 提供了一个命令 \boldmath 令用户可以将整套数学字体切换为粗体版本。但这个命令只能在公式外使用:

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

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

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

然而定界符、巨算符等一些符号本身没有粗体版本,\boldsymbol 也得不到粗体。LaTeX 工具宏集之一的 bm 宏包可以用 \bm 命令生成“伪粗体”,一定程度上解决了不带粗体版本的符号的问题。这里不做过多介绍,详情请参考 bm 宏包的帮助文档。

4.8 定理环境 # 4.8.1 LaTeX 原始的定理环境 #

使用 LaTeX 排版数学和其他科技文档时,会接触到大量的定理、证明等内容。LaTeX 提供了一个基本的命令 \newtheorem 提供定理环境的定义:

\newtheorem{}{}{} \newtheorem[][]{}

为定理环境的名称。原始的 LaTeX 里没有现成的定理环境,不加定义而直接使用很可能会出错。 是定理环境的标题(“定理”,“公理”等)。

定理的序号由两个可选参数之一决定,他们不能同时使用:

为用 \newcounter 自定义的计数器名称(详见 8.3 节),定理序号由这个计数器管理。

如果两个可选参数都不用的话,则使用默认的与定理环境同名的计数器。

在以下示例代码中,我们定义了一个 mythm 环境,其序号设为 section 的下一级序号。注意 mythm 环境的可选参数以及 \label 的用法:

\newtheorem{mythm}{My Theorem}[section] \begin{mythm}\label{thm:light} The light speed in vacuum is $299,792,458\,\mathrm{m/s}$. \end{mythm} \begin{mythm}[Energy-momentum relation] The relationship of energy, momentum and mass is \[E^2 = m_0^2 c^4 + p^2 c^2\] where $c$ is the light speed described in theorem \ref{thm:light}. \end{mythm}

4.8.2 amsthm 宏包 #

LaTeX 默认的定理环境格式为粗体标签、斜体正文、定理名用小括号包裹。如果需要修改格式,则要依赖其他的宏包,如 amsthm、ntheorem 等等。本小节简单介绍一下 amsthm 的用法。

amsthm 提供了 \theoremstyle 命令支持定理格式的切换,在用 \newtheorem 命令定义定理环境之前使用。amsthm 预定了三种格式用于 \theorestyle;plain 和 LaTeX 原始的格式一致;definition 使用粗体标签、正体内容;remark 使用斜体标签、正体内容。

另外 amsthm 还支持带用星号的 \newtheorem* 定义不带序号的定理环境:

\theoremstyle{definition} \newtheorem{law}{Law} \theoremstyle{plain} \newtheorem{jury}{law}{Jury} \theoremstyle{remark} \newthorem*{mar}{Margaret}

以上例子定义的 jury 环境与 law 环境共用编号,mar 环境不编号:

\begin{law}\label{law:box} Don't hide in the witness box. \end{law} \begin{jury}[The Twelve] It could be you! So beware and see law~\ref{law:box}.\end{jury} \begin{jury} You will disregard the last statement.\end{jury} \begin{mar}No, No, No\end{mar} \begin{mar}Denis!\end{mar}

amsthm 还支持使用 \newtheoremstyle 命令自定义定理格式,更为方便使用的是 ntheorem 宏包。感兴趣的读者可参阅它们的帮助文档。

4.8.3 证明环境和证毕符号 #

amsthm 还提供了一个 proof 环境用于排版定理的证明过程。proof 环境末尾自动加上一个 □ 证毕符号:

\begin{proof} For simplicity, we use \[ E=mc^2 \] That's it. \end{proof}

如果行末是一个不带编号的公式,□ 符号会lin另起一行,这时可使用 \qedhere 命令将 □ 符号放在公式末尾:

\begin{proof} For simplicity, we use \[ E=mc^2 \qedhere \] \end{proof}

\qedhere 对于 align* 等命令也有效:

\begin{proof} Assuming $\gamma = 1/\sqrt{1-v^2/c^2}$, then \begin{align*} E &= \gamma m_0 c^2 \\ p &= \gamma m_0v \qedhere \end{align*} \end{proof}

在使用带编号的公式时,建议最好不要在公式末尾使用 \qedhere 命令。对带编号的公式使用 \qedhere 命令会使 □ 符号放在一个难看的位置,紧贴着公式:

\begin{proof} For simplicity, we use \begin{equation} E=mc^2.\qedhere \end{equation} \end{proof}

在 align 等环境中使用 \qedhere 命令会使 □ 盖掉公式的编号:使用 equation 嵌套 aligned 等环境时,\qedhere 命令会将 □ 直接放在公式后。这些位置都不太正常。

证毕符号 □ 本身被定义在命令 \qedsymbol 中,如果有使用实心符号作为证毕符号的需求,需要自行用 \renewcommand 命令修改(用法见 8.1.1 小节)。我们可以利用在 3.8.4 小节介绍的标尺盒子来生成一个适当大小的“实心矩形”:

\renewcommand{\qedsymbol}% {\rule{lex}{1.5ex}} \begin{proof} For simplicity, we use \[ E=mc^2 \qedhere \] \end{proof}

4.9 符号表 #

有几个注意事项:

蓝色的命令依赖 amsmath 宏包(非 amssymb 宏包); 带有角标 ==ℓ== 的符号命令依赖 latexsym 宏包。 4.9.1 LaTeX 普通符号 #

表 4.4:文本/数学模式通用符号。

这些符号可用于文本和数学模式。

表 4.5:希腊字母。

\Alpha,\Beta 等希腊字母符号不存在,因为它们和拉丁字母 A,B 等一模一样:小写字母里也不存在 \omicron,直接用拉丁字母 o 代替。

表 4.6:二元关系符。

所有的二元关系符都可以加 \not 前缀得到相反意义的关系符,例如 \not= 就得到不等号(同 \ne)。

表 4.9:数学重音符号。

最后一个 \wideparen 依赖 yhmath 宏包。

4.9.2 AMS 符号 #

本小节所有符号依赖 amssymb 宏包。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3