添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

相信观察力敏锐的同学一定已经注意到在上一次的推送里的这段代码:

1
2
3
4
5
6
7
8
\documentclass[a4paper,12pt,landscape,twocolumn]{book}
\usepackage{amsmath}
\begin{document}
$\frac{x}{y}$
\[
\iiint\limits_{\Omega_{r}} f(x,y,z) dxdydz
\]
\end{document}

这段代码里面有着意义不明的 $ \[ \] 符号。如果你尝试过将这些符号删除的话,TeXstudio会报错,并告诉你这些内容“不在数学环境里”。那么,什么是数学环境呢?

数学环境概述

LaTeX有一种数学环境 废话 ,在这种环境之下,输入的字母会被当做数学符号,用专用的数学字体(通常来说就是斜体,不过确实并不全是)显示出来。上面所说的,用 $ \[ \] 包裹起来的就会被LaTeX当成数学环境。在这种环境之内,LaTeX支持输入根号、幂、求和号、连乘号、积分号等多种多样的数学符号。

首先,为了取得输入数学公式时的最佳体验,建议大家在导言区加载 amsmath 宏包。正如上一篇推送所说,只要在导言区输入 \usepackage{amsmath} 就可以了。

LaTeX进入行内公式最为简单的方式是输入用一个 $ 包裹的表达式。其实,用 \( \) 包裹也会有一样的效果。但其实它们两个都是一种“环境”的简便表达。这个环境就是 math 。总的而言,下面这三个表达方式是等价的。

1
2
3
4
5
$\sin{x}$
\( \cos{y} \)
\begin{math}
\tan{z}
\end{math}

(这只是代码片段,不是完整 .tex 文档的内容,代入自己的文档时记得使用 amsmath 宏包)

行间公式往往用来展示比较长,或者对于文章而言比较重要的公式。

最为基础的行间公式的输出方式有三种,分别是用 $$ \[ \] 以及 displaymath 环境。

这是一个例子:

1
2
3
4
5
6
7
8
9
$$\lim\limits_{r\rightarrow{0^{+}}}{\frac{1}{r^{3}} \iiint\limits_{\Omega_{r}} f(x,y,z) dxdydz = \frac{4}{3} \pi f(P)}$$

\[
\forall \epsilon > 0, \exists \delta > 0, \forall Q \in \Omega_{\delta}, \vert{f(Q)-f(P)}\vert<\epsilon
\]

\begin{displaymath}
\frac{4}{3}\pi \delta^{3} (f(P)-\epsilon) < \iiint\limits_{\Omega_{\delta}} f(x,y,z)dxdydz < \frac{4}{3}\pi \delta^{3}(f(P)+\epsilon)
\end{displaymath}

其中,第一种方式不推荐使用。这是plain TeX时代就存在的命令,使用的是固定行距,不利于文章的后期调整。一般而言使用较多的是第二种方法,即用 \[ \] 来进入行间的数学模式。

当然,除了这种最为基础的行间公式,也存在较为高级的环境。

我们可以使用 amsmath 提供的 equation 环境来达到为自己的公式编号的目的。这样在交叉引用以及后期编辑的时候都有更大的优势。

有些时候我们需要输入的公式特别长,导致我们不得不手动为他们换行;或者某几个公式是一组,我们需要将他们放在一起;还有些时候我们需要输入分段函数,给公式加上一个在左边的大括号。这些需求都可以通过 amsmath 宏包提供的丰富环境达成。(后文中的大量环境都需要 amsmath 宏包,大家自己尝试时一定不要忘记使用!)

对于那些特别长的但是不需要对齐的公式,我们可以使用 multiline 环境,同时需要注意,这个环境也是默认有编号的。而对于那些需要对齐的公式,我们就需要使用 aligned 次环境来达到目的。使用 alinged 次环境的时候需要先进入化学环境;另外,在 aligned 环境中有着一个特殊的符号 & ,这个符号是用于对齐的,LaTeX会自动地以 & 为标准对齐两边的内容。在 multiline aligned 这两个环境中,符号 \\ 是用来换行的。以下是一个例子。

1
2
3
4
5
6
7
8
9
\begin{multline}
x = a+b+c+{} \\
d+e+f
\end{multline}

\[\begin{aligned}
x ={}& a+b+c+{} \\
&d+e+f
\end{aligned}\]

有些时候我们需要将几个公式组成一组。这个时候我们可以使用两种环境,分别是 gather align 。其中, gather 环境是不对齐的,而 align 环境是对齐的。在默认条件下它们都带有编号。如果不需要编号可在一行的最后加入 \notag 命令,也可以使用 tag{·} 来自定义改行的公式的编号。下面是一个例子。

1
2
3
4
5
6
7
8
9
\begin{gather}
U = Q + W \tag{1.1} \\
pV = nRT
\end{gather}

\begin{align}
U &= Q + W \notag \\
(p + \frac{a}{{V_m}^2})(V_m + b) &= RT
\end{align}

如果大家需要输入一个分段的函数,则需要使用一个叫做 cases 的次环境,使用它时也要先进入数学环境。下面是一个例子。

1
2
3
4
5
6
\[ f(x)= 
\begin{cases}
-x + 1 , \quad x \leq 1 \\
x - 1 , \quad x > 1
\end{cases}
\]

以上就是一些比较常用的基础的数学环境,可以用于输入一些不太复杂的行内公式和行间公式。接下来我们来简要地介绍以下大家常用的数学符号的输入方法。

数学符号的输入

首先,为了取得输入数学公式时的最佳体验,建议大家在导言区加载 amsmath 宏包。正如上一篇推送所说,只要在导言区输入 \usepackage{amsmath} 就可以了。

输入分数的基础命令是 \frac{·}{·} ,其中前面的花括号内是分子,后面的花括号内是分母。在行间公式和行内公式中, \frac 命令的输出效果是有不同的。如果想要客制化输出效果,可以用 \dfrac 命令强制输出行间公式下的分式样式;反之,可以用 \tfrac 命令强制输出行内公式的分式样式。下面是一个例子。

1
2
3
4
5
6
7
8
$n=\frac{p}{kT}$
\[
\lambda = \frac{kT}{\sqrt{2} \pi d^2 p}
\]
$n=\dfrac{p}{kT}$
\[
\lambda = \tfrac{kT}{\sqrt{2} \pi d^2 p}
\]

根号和上下标

上标是通过符号 ^ 来生成的;下标是用符号 _ 生成的。需要注意的是LaTeX只会默认将上下标符号后的第一个字符当作是上下标的内容,需要在上下标内输入很多内容的时候要记得用花括号将内容包裹起来。

根号是用 \sqrt{·} 来生成的,需要输入n次根式的时候,需要再输入一个用中括号包裹的参数,像这样 \sqrt[n]{·} 。方根符号的大小是由LaTeX自动调整的,也可以用 \surd 命令仅仅给出符号。

下面是一个比较综合的例子。

1
2
3
\[
\sqrt[n]{{a_{ij}}^{e\surd{2}}}
\]

最常用的运算符

比较常用的运算符有极限 \lim ;求和 \sum_{·}^{·} ;连乘 \prod_{·}^{·} ;以及各类积分 \int_{·}^{·} \iint \iiint 。它们的上下标在行间公式内默认是写在右侧以适应行高的,我们可以用 \limits 来强制不压缩上下标;反之可以用 \nolimits 来压缩上下标。下面是一个例子。

1
2
3
4
5
$\lim_{x \to 0} {\sin x} = 0$
\[
\sum\nolimits_{i=1}^n i \quad \prod_{i=1}^n
\]
$\lim\limits_{r \to {0^{+}}}{\frac{1}{r^{3}} \iiint_{\Omega_{r}} f(x,y,z) dxdydz = \frac{4}{3} \pi f(P)}$

在表达式上下方画线和括号

我们可以用命令 \overline \underline 在表达式的上、下方画出水平线;可以用 \vec 命令来画向量;可以用 \overbrace{·}^{·} \underbrace{·}_{·} 在表达式的上、下方给出一水平的大括号。下面是一个例子。

1
2
3
\[
\overline{\alpha + \beta}=\underbrace{\vec{a}+b+...+z}_{26}
\]