首先恭喜你看到這里。如果前面的幾個文檔你都認真編譯過了,那么你已經可以勝任許多文檔的排版工作。下面我們進入 LaTeX 最為犀利的部分。
這部分的演示中,為了節省篇幅,將取消導言區中中文支持的部分。在實際使用中,你只需要將導言區中的相關部分加上,就可以同時使用中文,并編寫數學公式了——這并不沖突。
為了使用 AMS-LaTeX 提供的數學功能,我們需要在導言區加載`amsmath`宏包:
~~~
\usepackage{amsmath}
~~~
## 數學模式
LaTeX 的數學模式有兩種:行內模式 (inline) 和行間模式 (display)。前者在正文的行文中,插入數學公式;后者獨立排列單獨成行。
在行文中,使用`$ ... <div class="entry" style="text-align: justify; line-height: 1.6; color: rgb(85, 85, 85); font-family: 'Helvetica Neue', Helvetica, HiraginoSansGB-W3, SourceHanSansSC-Regular, SourceHanSansCN-Regular, 'Microsoft YaHei', 'WenQuanYi Micro Hei', Arial, sans-serif; font-size: 15px; background-color: rgb(222, 222, 222);"可以插入行內公式,使用`\[ ... \]`可以插入行間公式,如果需要對行間公式進行編號,可以使用`equation`環境:
…
> 行內公式也可以使用`\(...\)`來插入,略嫌麻煩。無編號的行間公式也可以使用`$ ... $`來插入,但是這樣做會改變行文的默認行間距,不推薦。
## 上下標
示例代碼(請保存后,使用 XeLaTeX 編譯,查看效果):
~~~
\documentclass{article}
%
% 數學環境支持
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage{amsmath}
\begin{document}
Einstein 's $E=mc^2$.
\[ E=mc^2\. \]
\begin{equation}
E=mc^2.
\end{equation}
\end{document}
~~~
值得一提的是,行內公式和行間公式對標點的要求是不同的。行內公式的標點,應該放在數學模式的限定符之外,而行間公式則應該放在數學模式限定符之內。
在數學模式中,需要表示上標,可以使用`^`來實現(下標則是`_`)。它默認只作用于之后的一個字符,如果想對連續的幾個字符起作用,請將這些字符用花括號`{}`括起來,例如:
~~~
\[ z = r\cdot e^{2\pi i}. \]
~~~
## 根式與分式
根式用`\sqrt{·}`來表示,分式用`\frac{·}{·}`來表示(第一個參數為分子,第二個為分母)。
示例代碼(請保存后,使用 XeLaTeX 編譯,查看效果):
~~~
\documentclass{article}
%
% 數學環境支持
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage{amsmath}
\begin{document}
$\sqrt{x}$, $\frac{1}{2}$.
\[ \sqrt{x}, \]
\[ \frac{1}{2}. \]
\end{document}
~~~
可以發現,在行間公式和行內公式中,分式的輸出效果是有差異的。如果要強制行內模式的分式顯示為行間模式的大小,可以使用`\dfrac`, 反之可以使用`\tfrac`。
## 運算符
一些小的運算符,可以在數學模式下直接輸入;另一些需要用控制序列生成,如
~~~
\[ \pm\; \times \; \div\; \cdot\; \cap\; \cup\;
\geq\; \leq\; \neq\; \approx \; \equiv \]
~~~
連加、連乘、極限、積分等大型運算符分別用`\sum`,?`\prod`,?`\lim`,?`\int`生成。他們的上下標在行內公式中被壓縮,以適應行高。我們可以用`\limits`和`\nolimits`來強制顯式地指定是否壓縮這些上下標。例如:
~~~
$ \sum_{i=1}^n i\quad \prod_{i=1}^n $
$ \sum\limits _{i=1}^n i\quad \prod\limits _{i=1}^n $
\[ \lim_{x\to0}x^2 \quad \int_a^b x^2 dx \]
\[ \lim\nolimits _{x\to0}x^2\quad \int\nolimits_a^b x^2 dx \]
~~~
多重積分可以使用`\iint`,?`\iiint`,?`\iiiint`,?`\idotsint`?等命令輸入。
~~~
\[ \iint\quad \iiint\quad \iiiint\quad \idotsint \]
~~~
## 分隔符
各種括號用`()`,?`[]`,?`\{\}`,?`\langle\rangle`?等命令表示;注意花括號通常用來輸入命令和環境的參數,所以在數學公式中它們前面要加`\`。因為 LaTeX 中`|`和`\|`的應用過于隨意,amsmath 宏包推薦用`\lvert\rvert`和`\lVert\rVert`取而代之。
為了調整這些分隔符的大小,amsmath 宏包推薦使用`\big`,?`\Big`,?`\bigg`,?`\Bigg`放在上述括號前面調整大小。
~~~
\[ \Bigg(\bigg(\Big(\big((x)\big)\Big)\bigg)\Bigg) \]
\[ \Bigg[\bigg[\Big[\big[[x]\big]\Big]\bigg]\Bigg] \]
\[ \Bigg \{\bigg \{\Big \{\big \{\{x\}\big \}\Big \}\bigg \}\Bigg\} \]
\[ \Bigg\langle\bigg\langle\Big\langle\big\langle\langle x
\rangle\big\rangle\Big\rangle\bigg\rangle\Bigg\rangle \]
\[ \Bigg\lvert\bigg\lvert\Big\lvert\big\lvert\lvert x
\rvert\big\rvert\Big\rvert\bigg\rvert\Bigg\rvert \]
\[ \Bigg\lVert\bigg\lVert\Big\lVert\big\lVert\lVert x
\rVert\big\rVert\Big\rVert\bigg\rVert\Bigg\rVert \]
~~~
[](https://box.kancloud.cn/2015-07-07_559b4727844d9.jpg)
## 省略號
省略號用`\dots`,?`\cdots`,?`\vdots`,?`\ddots`?等命令表示。`\dots`?和`\cdots`的縱向位置不同,前者一般用于有下標的序列。
~~~
\[ x_1,x_2,\dots ,x_n\quad 1,2,\cdots ,n\quad
\vdots\quad \ddots \]
~~~
## 矩陣
amsmath 的`pmatrix`,?`bmatrix`,?`Bmatrix`,?`vmatrix`,?`Vmatrix`?等環境可以在矩陣兩邊加上各種分隔符。
~~~
\[ \begin{pmatrix} a&b\\c&d \end{pmatrix} \quad
\begin{bmatrix} a&b\\c&d \end{bmatrix} \quad
\begin{Bmatrix} a&b\\c&d \end{Bmatrix} \quad
\begin{vmatrix} a&b\\c&d \end{vmatrix} \quad
\begin{Vmatrix} a&b\\c&d \end{Vmatrix} \]
~~~
效果圖:
[](https://box.kancloud.cn/2015-07-07_559b4727b4154.jpg)
使用`smallmatrix`環境,可以生成行內公式的小矩陣。
~~~
Marry has a little matrix $ ( \begin{smallmatrix} a&b\\c&d \end{smallmatrix} ) $.
~~~
效果圖:
[](https://box.kancloud.cn/2015-07-07_559b4727c9241.jpg)
## 多行公式
有的公式特別長,我們需要手動為他們換行;有幾個公式是一組,我們需要將他們放在一起;還有些類似分段函數,我們需要給它加上一個左邊的花括號。
### 長公式
#### 不對齊
無須對齊的長公式可以使用`multline`環境。
~~~
\begin{multline}
x = a+b+c+{} \\
d+e+f+g
\end{multline}
~~~
效果:
[](https://box.kancloud.cn/2015-07-07_559b4727ddce6.jpg)
如果不需要編號,可以使用`multiline*`環境代替。
#### 對齊
需要對齊的公式,可以使用`aligned`_次環境_來實現,它必須包含在數學環境之內。
~~~
\[\begin{aligned}
x ={}& a+b+c+{} \\
&d+e+f+g
\end{aligned}\]
~~~
效果圖:
[](https://box.kancloud.cn/2015-07-07_559b4727f2d5c.jpg)
### 公式組
無需對齊的公式組可以使用`gather`環境,需要對齊的公式組可以使用`aligned`環境。他們都帶有編號,如果不需要編號可以使用帶星花的版本。
~~~
\begin{gather}
a = b+c+d \\
x = y+z
\end{gather}
\begin{align}
a &= b+c+d \\
x &= y+z
\end{align}
~~~
效果:
[](https://box.kancloud.cn/2015-07-07_559b47282be3c.jpg)
### 分段函數
分段函數可以用`cases`次環境來實現,它必須包含在數學環境之內。
~~~
\[ y=\ begin{cases}
-x,\quad x\leq 0 \\
x,\quad x>0
\end{cases} \]
~~~
效果圖:
[](https://box.kancloud.cn/2015-07-07_559b472859954.jpg)