\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