summaryrefslogtreecommitdiff
path: root/info/latex-notes-zh-cn/src/math.tex
blob: a15beaffbac8c40b666c0012e286be6c2185a5d5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
\chapter{数学}

\begin{quotation}
今有上禾三秉,中禾二秉,下禾一秉,实三十九斗;上禾二秉,中禾三秉,下禾一秉,实三十四斗;上禾一秉,中禾二秉,下禾三秉,实二十六斗。问上、中、下禾实一秉各几何?
\begin{gather*}
\begin{split}
    3x+2y+z &= 39 \\
    2x+3y+z &= 34 \\
    x+2y+3z &= 26 \\
\end{split}
\end{gather*}
\begin{flushright}
--- 《九章算术》
\end{flushright}
\end{quotation}

%\begin{quotation}
%邺下谚曰:博士买驴,书券三纸,未有驴字。
%\begin{flushright}
%--- 颜之推《颜氏家训·勉学》
%\end{flushright}
%\end{quotation}

为了使用~\AmS-\LaTeX~提供的数学功能,我们首先需要在文档的序言部分加载~\verb|amsmath|~宏包,其详细用法可参阅《amsmath User's Guide》\citep{AMS_2002}。更全面的数学内容排版可参阅~George Grätzer\footnote{匈牙利裔,加拿大~Manitoba~大学数学系教授。}的《More Math into \LaTeX, 4th Edition》\citep{Gratzer_2007}。
%\begin{code}
%\usepackage[options]{amsmath}
%\end{code}

\section{数学模式}
\LaTeX~中的数学模式有两种形式:inline~和~display。前者是指在正文插入行间数学公式,后者独立排列,可以有或没有编号。

行间公式用一对~\verb|$...$|~来输入,独立公式用~\verb|equation|~或~\verb|equation*|~环境来输入,有~\verb|*|~的版本不生成公式编号。

前文提到~\verb|\fbox|~命令可以给文本内容加个方框,数学模式下也有类似的命令~\verb|\boxed|。

\begin{demo}
爱因斯坦的$E=mc^2$方程
\begin{equation} 
    E=mc^2 
\end{equation}
\[ E=mc^2 \]
\[ \boxed{E=mc^2} \]
\end{demo}

\section{基本原素}
\subsection{字母}

英文字母在数学模式下可以直接输入,希腊字母则需要用\Fref{tab:greek}~中的命令输入,注意大写希腊字母的命令首字母也是大写。

\begin{table}[htbp]
\caption{希腊字母}
\label{tab:greek}
\centering
\begin{tabular}{llllllll}
    \toprule
    $\alpha$      & \verb|\alpha|      & $\theta$    & \verb|\theta|    & 
        $o$         & \verb|o|        & $\tau$     & \verb|\tau| \\
    $\beta$       & \verb|\beta|       & $\vartheta$ & \verb|\vartheta| & 
        $\pi$       & \verb|\pi|      & $\upsilon$ & \verb|\upsilon| \\
    $\gamma$      & \verb|\gamma|      & $\iota$     & \verb|\iota|     & 
        $\varpi$    & \verb|\varpi|   & $\phi$     & \verb|\phi| \\
    $\delta$      & \verb|\delta|      & $\kappa$    & \verb|\kappa|    & 
        $\rho$      & \verb|\rho|     & $\varphi$  & \verb|\varphi| \\
    $\epsilon$    & \verb|\epsilon|    & $\lambda$   & \verb|\lambda|   & 
        $\varrho$   & \verb|\varrho|  & $\chi$     & \verb|\chi| \\
    $\varepsilon$ & \verb|\varepsilon| & $\mu$       & \verb|\mu|       & 
        $\sigma$    & \verb|\sigma|   & $\psi$     & \verb|\psi| \\
    $\zeta$       & \verb|\zeta|       & $\nu$       & \verb|\nu|       & 
        $\varsigma$ & \verb|\varsigma|   & $\omega$   & \verb|\omega| \\
    $\eta$        & \verb|\eta|        & $\xi$       & \verb|\xi|       & 
        &                 &            & \\
    $\Gamma$      & \verb|\Gamma|      & $\Lambda$   & \verb|\Lambda|   & 
        $\Sigma$    & \verb|\Sigma|   & $\Psi$     & \verb|\Psi| \\
    $\Delta$      & \verb|\Delta|      & $\Xi$       & \verb|\Xi|       & 
        $\Upsilon$  & \verb|\Upsilon| & $\Omega$   & \verb|\Omega| \\
    $\Theta$      & \verb|\Theta|      & $\Pi$       & \verb|\Pi|       & 
        $\Phi$      & \verb|\Phi|     &            & \\
    \bottomrule
\end{tabular}
\end{table}

\subsection{指数、下标、根号}
指数或上标用~\verb|^|~表示,下标用~\verb|_|~表示,根号用~\verb|\sqrt|~表示。上下标如果多于一个字母或符号,需要用一对~\verb|{}|~括起来。
\begin{demo}
\[x_{ij}^2\quad \sqrt[2]{x}\]
\end{demo}

\subsection{分数}
分数用~\verb|\frac|~命令表示,它会自动调整字号,比如在行间公式中小一点,在独立公式则大一点。\verb|\dfrac|~命令把分数的字号显式设置为独立公式中的大小,\verb|\tfrac|~命令则把字号设为行间公式中的大小。
\begin{demo}
$\frac{1}{2} \dfrac{1}{2}$
\[\frac{1}{2} \tfrac{1}{2}\]
\end{demo}

\subsection{运算符}
有些小的运算符(operator)例如~\verb|+ - * /|~等可以直接输入,另一些则需要特殊命令。完整的数学符号参见~Scott Pakin~的《The Comprehensive \LaTeX~ Symbol List》\citep{Pakin_2008}。
\begin{code}
\[\pm \times \div \cdot \cap \cup \geq \leq \neq \approx \equiv\]
\end{code}

\begin{out}
\[\pm\quad \times\quad \div\quad \cdot\quad \cap\quad \cup\quad \geq\quad \leq\quad \neq\quad \approx\quad \equiv\]
\end{out}

和、积、极限、积分等大运算符用~\verb|\sum \prod \lim \int|~等表示。它们的上下标在行间公式中被压缩,以适应行高。。

\begin{code}
$\sum_{i=1}^n i \prod_{i=1}^n \lim_{x\to0}x^2 \int_a^b x^2 dx\$
\[\sum_{i=1}^n i \prod_{i=1}^n \lim_{x\to0}x^2 \int_a^b x^2 dx\]
\end{code}

\begin{out}
$\sum_{i=1}^n i\quad \prod_{i=1}^n\ \lim_{x\to0}x^2\ \int_a^b x^2\mathrm{d}x$
\[\sum_{i=1}^n i\quad \prod_{i=1}^n\ \lim_{x\to0}x^2\ \int_a^b x^2\mathrm{d}x\]
\end{out}

多重积分如果用多个~\verb|\int|~来输入的话,积分号间距过宽。正确的方法是用~\verb|\iint \iiint \iiiint \idotsint|~等命令输入。从下例中可以看出两种方法的差异。

\begin{out}
\[\iint\quad \iiint\quad \iiiint\quad \idotsint\]
\[\int\int\quad \int\int\int\quad \int\int\int\int\quad \int\dots\int\]
\end{out}

\subsection{分隔符}
各种括号用~\verb|() [] \{\} \langle\rangle|~等命令表示,注意花括号通常用来输入命令和环境的参数,所以在数学公式中它们前面要加~\verb|\|。因为~\LaTeX~中的~\verb+|和\|+~的应用过于随意,~amsamth~宏包推荐用~\verb|\lvert\rvert|~和~\verb|\lVert\rVert|~取而代之。

我们可以在上述分隔符前面加~\verb|\big \Big \bigg \Bigg|~等命令来调整大小。\LaTeX~原有的方法是在分隔符前面加~\verb|\left \right|~来自动调整大小,但是效果不佳,所以~amsmath~不推荐用这种方法。

\begin{out}
\[\Bigg(\bigg(\Big(\big((x+y)\big)\Big)\bigg)\Bigg)\quad 
\Bigg[\bigg[\Big[\big[[x+y]\big]\Big]\bigg]\Bigg]\quad 
\Bigg\{\bigg\{\Big\{\big\{\{x+y\}\big\}\Big\}\bigg\}\Bigg\}\]
\[\Bigg\langle\bigg\langle\Big\langle\big\langle\langle x+y \rangle\big\rangle\Big\rangle\bigg\rangle\Bigg\rangle\quad
\Bigg\lvert\bigg\lvert\Big\lvert\big\lvert\lvert x+y \rvert\big\rvert\Big\rvert\bigg\rvert\Bigg\rvert\quad
\Bigg\lVert\bigg\lVert\Big\lVert\big\lVert\lVert x+y \rVert\big\rVert\Big\rVert\bigg\rVert\Bigg\rVert\]
\end{out}

\subsection{箭头}
\Fref{tab:arrow}~列出了部分箭头的输入方法。另外还有两个命令生成的箭头可以根据上下标自动调整长度。

\begin{table}[htbp]
\caption{箭头}
\label{tab:arrow}
\centering
\begin{tabular}{llll}
    \toprule
    $\leftarrow$       & \verb|\leftarrow|      & $\longleftarrow$       & \verb|\longleftarrow| \\
    $\rightarrow$      & \verb|\rightarrow|     & $\longrightarrow$      & \verb|\longrightarrow| \\
    $\leftrightarrow$  & \verb|\leftrightarrow| & $\longleftrightarrow$  & \verb|\longleftrightarrow| \\
    $\Leftarrow$       & \verb|\Leftarrow|      & $\Longleftarrow$       & \verb|\Longleftarrow| \\
    $\Rightarrow$      & \verb|\Rightarrow|     & $\Longrightarrow$      & \verb|\Longrightarrow| \\
    $\Leftrightarrow$  & \verb|\Leftrightarrow| & $\Longleftrightarrow$  & \verb|\Longleftrightarrow| \\
    \bottomrule
\end{tabular}
\end{table}

\begin{demo}
\[\xleftarrow{x+y+z}\quad
\xrightarrow[x<y]{a*b*c}\]
\end{demo}

\subsection{标注}
\Fref{tab:accent}~列出一些短的注音符号(accent),\Fref{tab:notation}~则列出一些长的标注符号。

\begin{table}[htbp]
\caption{数学注音符号}
\label{tab:accent}
\centering
\begin{tabular}{llllllll}
    \toprule
    $\acute{x}$ & \verb|\acute{x}| & $\tilde{x}$   & \verb|\tilde{x}|   & $\mathring{x}$   & \verb|\mathring{x}|  \\
    $\grave{x}$ & \verb|\grave{x}| & $\breve{x}$ & \verb|\breve{x}| & $\dot{x}$   & \verb|\dot{x}|    \\
    $\bar{x}$  & \verb|\bar{x}|  & $\check{x}$ & \verb|\check{x}| & $\ddot{x}$  & \verb|\ddot{x}|  \\
    $\vec{x}$ & \verb|\vec{x}| & $\hat{x}$   & \verb|\hat{x}|   & $\dddot{x}$ & \verb|\dddot{x}| \\
    \bottomrule
\end{tabular}
\end{table}

\begin{table}[htbp]
\caption{长标注符号}
\label{tab:notation}
\centering
\begin{tabular}{llll}
    \toprule
    $\overline{xxx}$        & \verb|\overline{xxx}|        & $\overleftrightarrow{xxx}$  & \verb|\overleftrightarrow{xxx}| \\
    $\underline{xxx}$       & \verb|\underline{xxx}|       & $\underleftrightarrow{xxx}$ & \verb|\underleftrightarrow{xxx}| \\
    $\overleftarrow{xxx}$   & \verb|\overleftarrow{xxx}|   & $\overbrace{xxx}$           & \verb|\overbrace{xxx}| \\
    $\underleftarrow{xxx}$  & \verb|\underleftarrow{xxx}|  & $\underbrace{xxx}$          & \verb|\underbrace{xxx}| \\
    $\overrightarrow{xxx}$  & \verb|\overrightarrow{xxx}|  & $\widetilde{xxx}$           & \verb|\widetilde{xxx}| \\
    $\underrightarrow{xxx}$ & \verb|\underrightarrow{xxx}| & $\widehat{xxx}$             & \verb|\widehat{xxx}| \\
    \bottomrule
\end{tabular}
\end{table}

\subsection{省略号}
省略号用~\verb|\dots \cdots \vdots \ddots|~等命令表示,注意~\verb|\cdots|~和~\verb|\dots|~的差别。
\begin{out}
\[\dots\quad \cdots\quad \vdots\quad \ddots\]
\end{out}

\subsection{空白间距}
在数学模式中,我们可以用\Fref{tab:quad}中的命令生成不同的间距,注意负间距命令~\verb|\!|~可以用来减小间距。

\begin{table}[htbp]
\caption{空白间距}
\label{tab:quad}
\centering
\begin{tabular}{llll}
    \toprule
    \verb|\,| & 3/18 em & \verb|\quad|  & 1 em \\    
    \verb|\:| & 4/18 em & \verb|\qquad| & 2 em \\    
    \verb|\;| & 5/18 em & \verb|\!|     & -3/18 em \\
    \bottomrule
\end{tabular}
\end{table}

\section{矩阵和行列式}
数学模式下可以用~\verb|array|~环境来生成行列表。参数~\verb|{ccc}|~用于设置每列的对齐方式,\verb|l、c、r|~分别表示左中右;\verb|\\|~和~\verb|&|~用来分隔行和列。

\begin{demo}
\[\begin{array}{ccc}
x_1 & x_2 & \dots \\
x_3 & x_4 & \dots \\
\vdots & \vdots & \ddots \\
\end{array}\]
\end{demo}

\verb|amsmath|~有几个类似的环境:\verb|pmatrix、bmatrix、Bmatrix、vmatrix|~和~
\verb|Vmatrix|,它们和~\verb|array|~的主要区别是会在表两端加上~$()\; []\; \{\}\; ||\; \|\|$~等分隔符,其次这些环境没有列对齐方式参数。

行间公式可以用~\verb|smallmatrix|~环境来生成排列紧密的小矩阵。

\section{多行公式}
有时一个公式太长一行放不下,或几个公式需要写成一组,这时我们就要用到~\verb|amsmath|~提供的几个适合多行公式的环境。

\subsection{长公式}
对于多行不需要对齐的长公式,我们可以用~\verb|multline|~环境。
\begin{demo}
\begin{multline}
x=a+b+c+\\
d+e+f+g
\end{multline}
\end{demo}

需要对齐的长公式可以用~\verb|split|~环境,它本身不能单独使用,因此也称作次环境,必须包含在~\verb|equation|~或其它数学环境内。\verb|split|~环境用~\verb|\\|~和~\verb|&|~来分行和设置对齐位置。
\begin{demo}
\[ \begin{split}
x=&a+b+c+\\
  &d+e+f+g
\end{split} \]
\end{demo}

\subsection{公式组}
不需要对齐的公式组用~\verb|gather|环境,需要对齐的用~\verb|align|。
\begin{demo}
\begin{gather}
a=b+c+d\\
x=y+z
\end{gather}
\end{demo}

\begin{demo}
\begin{align}
a&=b+c+d\\
x&=y+z
\end{align}
\end{demo}

\verb|multline、gather、align|~等环境都有带~\verb|*|~的版本,它们不生成公式编号。

有多种条件的公式组用~\verb|cases|~次环境。
\begin{demo}
\[ y=\begin{cases}
-x & x<0\\
x & x\geq0
\end{cases} \]
\end{demo}

\section{定理和证明}
\LaTeX~提供了一个~\verb|\newtheorem|~命令来定义定理之类的环境,其语法如下。
\begin{code}
\newtheorem{环境名}[编号延续]{显示名}[编号层次]
\end{code}

在下例中,我们定义了四个环境:定义、定理、引理和推论,它们都在一个~\verb|section|~内编号,而引理和推论会延续定理的编号。
\begin{code}
\newtheorem{defination}{定义}[section]
\newtheorem{theorem}{定理}[section]
\newtheorem{lemma}[theorem]{引理}
\newtheorem{corollary}[theorem]{推论}
\end{code}

\newtheorem{defination}{定义}[section]
\newtheorem{theorem}{定理}[section]
\newtheorem{lemma}[theorem]{引理}
\newtheorem{corollary}[theorem]{推论}

定义了上述环境之后,我们就可以象下面这样使用它们。
\begin{demo}
\begin{defination}
Java是一种跨平台的编程语言。
\end{defination}
\end{demo}

\begin{demo}
\begin{theorem}
咖啡因会使人的大脑兴奋。
\end{theorem}
\end{demo}

\begin{demo}
\begin{lemma}
茶和咖啡都会使人兴奋。
\end{lemma}
\end{demo}

\begin{demo}
\begin{corollary}
晚上喝咖啡会导致失眠。
\end{corollary}
\end{demo}

\verb|proof|环境可以用来输入下面这样的证明,它会在证明结尾输入一个~QED~符号\footnote{拉丁语~quod erat demonstrandum~的缩写。}。

\begin{demo}
\begin{proof}[命题``物质无限可分''的证明]
一尺之棰,日取其半,万世不竭。
\end{proof}
\end{demo}

\section{数学字体}
和文本模式类似,数学模式下可以用\Fref{tab:math_font}~中的命令选择不同字体,其中有些字体需要加载~\verb|amsfonts|~宏包。

\begin{table}[htbp]
\caption{数学字体}
\label{tab:math_font}
\centering
\begin{tabular}{ccccccc}
    \toprule
    缺省 & \verb|\mathbf| & \verb|\mathit| & \verb|\mathsf| & 
        \verb|\mathcal| & \verb|\mathbb| \\
    XNZRC & $\mathbf{XNZRC}$ & $\mathit{XNZRC}$ & $\mathsf{XNZRC}$ & 
        $\mathcal{XNZRC}$ & $\mathbb{XNZRC}$ \\
    \bottomrule
\end{tabular}
\end{table}

\bibliographystyle{unsrtnat}
\bibliography{reading}
\newpage