summaryrefslogtreecommitdiff
path: root/info/latex-notes-zh-cn/src/math.tex
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /info/latex-notes-zh-cn/src/math.tex
Initial commit
Diffstat (limited to 'info/latex-notes-zh-cn/src/math.tex')
-rw-r--r--info/latex-notes-zh-cn/src/math.tex350
1 files changed, 350 insertions, 0 deletions
diff --git a/info/latex-notes-zh-cn/src/math.tex b/info/latex-notes-zh-cn/src/math.tex
new file mode 100644
index 0000000000..a15beaffba
--- /dev/null
+++ b/info/latex-notes-zh-cn/src/math.tex
@@ -0,0 +1,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