latex教程——读书笔记整理(三)——数学公式

综述

目录

综述

数学模式的群组

数学公式的基本元素

数学空格

垂直取齐

虚位

数学字体尺寸

定理、定律

粗体符号

数学符号表


LATEX 使用一种特有的模式来排版数学(mathematics) 公式。数学公式允许以行间形式排版在一个段落之中, 也可以以独立形式排版,此时段落可能会被拆开。处于段内的数学文本要放在\( 与\) 之间, $ 与$ 之间,或者\begin{math} 与\end{math} 之间。

\documentclass{article}
\usepackage{CJK}
\begin{document}
\begin{CJK*}{GBK}{kai}

\TeX{} is pronounced as
\(\tau\epsilon\chi\).\\[6pt]
100 m$^{3}$ of water\\[6pt]
This comes from my
\begin{math}\heartsuit\end{math}

\end{CJK*}
\end{document}

效果:

Add $a$ squared and $b$ squared
to get $c$ squared. Or, using
a more mathematical approach:
$c^{2}=a^{2}+b^{2}$

效果

当你希望把自己的一些较长的数学方程或是公式单独的放在段落之外的时候,那么你最好显示(display) 它们,而不要拆开此段落。为此,你可以把它们放在\[ 与\] 之间,或者\begin{displaymath} 与\end{displaymath} 之间。

Add $a$ squared and $b$ squared to get $c$ squared. Or, using
a more mathematical approach:
\begin{displaymath}
c^{2}=a^{2}+b^{2}
\end{displaymath}
or you can type less with:
\[a+b=c\]

效果:

如果你希望LATEX 给你的方程编上号,你可以使用equation 环境。然后你就可以用\label 来给一个方程加上标签并在文中的某处用\ref 或amsmath 宏包中的\eqref 命令来引用它。

\documentclass{article}
\usepackage{CJK,amsmath}
\begin{document}
\begin{CJK*}{GBK}{kai}

\begin{equation} \label{eq:eps}
\epsilon > 0
\end{equation}
From (\ref{eq:eps}), we gather
\ldots{}From \eqref{eq:eps} we
do the same.

\end{CJK*}
\end{document}


效果:

注意一下公式排版样式的不同,前者是行间式样,后者是显示式样
\(....\)行间显示

\(\lim_{n \to \infty}
\sum_{k=1}^n \frac{1}{k^2}
= \frac{\pi^2}{6}\)

效果:

\[....\]显示式样

\[\lim_{n \to \infty}
\sum_{k=1}^n \frac{1}{k^2}
= \frac{\pi^2}{6}\]

效果:

数学模式和文本模式都一些不同之处。例如,在数学模式中:
1.大多数的空格和断行没有任何意义,而且所有的空隙要么是从相应数学表达式中自然的生成,要么是用一些专门的命令来指定,如\,, \quad 或\qquad。
2.空白行是不允许的。每个公式只能为一段。
3.每一个字母都会被认为是一个变量名,且会相应被排版为此种样式。如果你想要在公式中排版普通的文本(直立字体和普通字距),那么你必须要把这些文本放在\textrm{...} 命令中

\begin{equation}
\forall x \in \mathbf{R}:
\qquad x^{2} \geq 0
\end{equation}

效果:

\begin{equation}
x^{2} \geq 0\qquad
\textrm{for all }x\in\mathbf{R}
\end{equation}

效果:

数学家要使用空心粗体(“blackboard bold”), 要包含此字体,得用到amsfonts 或是amssymb 宏包的\mathbb命令。上面的例子就变成

\documentclass{article}
\usepackage{CJK,amsmath,amssymb}
\begin{document}
\begin{CJK*}{GBK}{kai}

\begin{displaymath}
x^{2} \geq 0\qquad
\textrm{for all }x\in\mathbb{R}
\end{displaymath}

\end{CJK*}
\end{document}

效果:

数学模式的群组

大部分数学模式的命令只对其后的一个字符有效,因此,如果你希望一个命令对多个字符起作用,你必须把它们放在一个群组中,使用花括号:{...}.

\begin{equation}
a^x+y \neq a^{x+y}
\end{equation}

效果:

数学公式的基本元素

小写希腊字母(Greek letters) 的输入为\alpha、 \beta、 \gamma⋯⋯,大写字母的输入为\Gamma、 \Delta ⋯⋯

$\lambda,\xi,\pi,\mu,\Phi,\Omega$

效果:

指数和下标可以使用^ 和_ 两个符号来指定。

$a_{1}$ \qquad $x^{2}$ \qquad
$e^{-\alpha t}$ \qquad
$a^{3}_{ij}$\\
$e^{x^2} \neq {e^x}^2$

效果:

平方根(square root) 输入用\sqrt; n 次根用\sqrt[n] 来得到。根号的大小由LATEX自动决定。如果仅仅需要根号,可以用\surd 得到。
 

$\sqrt{x}$ \qquad
$\sqrt{ x^{2}+\sqrt{y} }$
\qquad $\sqrt[3]{2}$\\[3pt]
$\surd[x^2 + y^2]$

效果:

命令\overline 和\underline 产生水平线,它们会被放在表达式的正上方或是正下方。

$\overline{m+n}$ \\
\(\underline{m+n}\)

效果:

命令\overbrace 和\underbrace 可以在一个表达式的上方或下方生成水平括号

$\underbrace{a+b+\cdots+z}_{26}$\\
$\overbrace{a+b+\cdots+z}^{26}$

效果:

为了给变量增加数学重音符号,如小箭头或是˜(tilde), 你可以使用表3.1 所列出的命令。覆盖多个字符的宽“帽子”和宽˜号,可以由\widehat和\widetilde 得到。 ' 符号则给出了一个撇号(prime)。

\begin{displaymath}
y=x^{2}\qquad y'=2x\qquad y''=2 \qquad\widehat{x} \qquad \widetilde{y}
\end{displaymath}

效果:

向量可以通过在一个变量上方添加小箭头(arrow symbols) 来指定。为此,使用\vec 命令即可。 \overrightarrow 和\overleftarrow 这两个命令可以用来表示一个从A 到B 的向量。

\begin{displaymath}
\vec a\quad\overrightarrow{AB}
\end{displaymath}

效果:

通常没有必要打出一个明显的点号来表明乘法运算;但是有时候也需要它来帮助读者分清一个公式。在这些情况下,你应该使用\cdot 命令。

\begin{displaymath}
v = {\sigma}_1 \cdot {\sigma}_2
{\tau}_1 \cdot {\tau}_2
\end{displaymath}

效果:

log 等类似的函数名通常是用直立字体,而不是如同变量一样用斜体,因此LATEX 提供了以下的命令来排版这些最重要的函数名:

\arccos \cos \csc \exp \ker \limsup \arcsin \cosh \deg \gcd \lg \ln
\arctan \cot \det \hom \lim \log \arg \coth \dim \inf \liminf \max
\sinh \sup \tan \tanh \min \Pr \sec \sin

示例:

\[\lim_{x \rightarrow 0}
\frac{\sin x}{x}=1\]%先分子后分母

效果:

取模函数(modulo function),有两个命令: \bmod 用于二元运算“a modb”,而\pmod 则用于表达式如“x ≡ a (mod b)”。

$a\bmod b$\\
$x = a \pmod{b}$

效果:

一个上下的分式(fraction) 可用\frac{...}{...} 命令得到。而其倾斜形式如1/2,有时是更好的选择,因为对于简短的分子分母来说,这看上去更美观。

$1\frac{1}{2}$ hours
\begin{displaymath}
\frac{ x^{2} }{ k+1 }\qquad
x^{ \frac{2}{k+1} }\qquad
x^{ 1/2 }
\end{displaymath}

效果:

排版二项式系数或类似的结构,你可以使用amsmath 宏包中的\binom命令。

对于二元关系,有时候你需要到把符号互相堆积起来。 \stackrel 命令会把其第一个参数中的符号以上标大小放在第二个上面,而第二个符号则以正常的位置摆放。

\begin{displaymath}
\int f_N(x) \stackrel{!}{=} 1
\end{displaymath}

效果:

积分号(integral operator) 可以用\int 产生, 求和号(sum operator)用\sum 命令, 而乘积号(product operator) 要用\prod 命令。上限和下限用^ 和_ 来指定,如同上标与下标一样。

\begin{displaymath}
\sum_{i=1}^{n} \qquad
\int_{0}^{\frac{\pi}{2}} \qquad
\prod_\epsilon
\end{displaymath}


效果:

TEX提供了各种各样的符号来得到括号(braces) 和其他定界符(delimiters)(如: [ h k l )。圆括号和方括号可以由对应的键直接输入而花括号要用\{, 但是所有其它的定界符都要用一定的命令(如:\updownarrow) 生成。所有可用定界符的列表, 请查阅表3.7。

\begin{displaymath}
{a,b,c}\neq\{a,b,c\}
\end{displaymath}

效果:

如果你在某个左定界符前放一个\left 命令或是在某个右定界符前放一个\right 命令, TEX 将会自动决定这对定界符的大小。请注意,你必须为每个\left 命令配对相应的\right 命令,而且只有在左右定界符被排版在同一行时才会获得正确的大小尺寸。如果你不想使用任何右定界符,使用看不见的‘\right.’ 即可!

\begin{displaymath}
1 + \left(\frac{1}{ 1-x^{2} }\right)^3
\end{displaymath}

效果:

有些情况下,有必要手工指定一个数学定界符的正确尺寸,这可以使用\big, \Big, \bigg 和\Bigg 命令,大多数情况下你只需把它们放在定界符命令的前面。

$\Big( (x+1) (x-1) \Big) ^{2}$\\
$\big(\Big(\bigg(\Bigg($\quad
$\big\}\Big\}\bigg\}\Bigg\}$
\quad
$\big\|\Big\|\bigg\|\Bigg\|$

效果:

有很多命令可以实现在公式中插入三点列(three dots)。 \ldots 得到在基线上的点列而\cdots 是上下居中的点列。另外,还有\vdots 命令产生竖直的点列, \ddots 产生对角线的点列。你可以在第3.5 节找到另外一个例子。

\begin{displaymath}
x_{1},\ldots,x_{n} \qquad
x_{1}+\cdots+x_{n}
\end{displaymath}

效果:

数学空格

如果公式内由TEX 选择的空格不令人满意,那么也可以通过插入一些
特殊的空格控制命令来调整。有一些命令可以产生小空格:
\, 得到3/18 quad ( )
\: 得到4/18 quad ( )
\; 得到5/18 quad ( )。
转义的空格符\ 产生一个中等大小的空格,而\quad ( ) 和\qquad ( )产生大的空格。 \quad 的大小与当前字体中字母‘M’ 的宽度有关。

\! 命令会产生一个-3/18 quad ( ) 的负空格。

\newcommand{\ud}{\mathrm{d}}
\begin{displaymath}
\int\!\!\!\int_{D} g(x,y)
\, \ud x\, \ud y
\end{displaymath}
instead of
\begin{displaymath}
\int\int_{D} g(x,y)\ud x \ud y
\end{displaymath}

效果:

请注意这里微分中的‘d’ 按惯例要设定成罗马字体。 AMS-LATEX 为多重积分号之间空格的微调提供了另一种方法,即使用\iint,\iiint, \iiiint,和\idotsint 命令。
加入amsmath 宏包后,上面的例子可以写成这样:

\newcommand{\ud}{\mathrm{d}}
\begin{displaymath}
\iint_{D} \, \ud x \, \ud y
\end{displaymath}

效果:

垂直取齐

要排版数组,使用array 环境。它的使用与tabular 环境有些类似。\\ 命令可用来断行。
 

\begin{displaymath}
\mathbf{X} =
\left( \begin{array}{ccc}
x_{11} & x_{12} & \ldots \\
x_{21} & x_{22} & \ldots \\
\vdots & \vdots & \ddots
\end{array} \right)
\end{displaymath}

效果:

array 环境也可以用来排版这样的表达式,表达式中使用一个“.” 作为其隐藏的\right 定界符。

\begin{displaymath}
y = \left\{ \begin{array}{ll}
a & \textrm{if $d>c$}\\
b+x & \textrm{in the morning}\\
l & \textrm{all day long}
\end{array} \right.
\end{displaymath}

效果:

就像在tabular 环境中一样,你也可以在array 环境中画线,如分隔矩阵中元素:

\begin{displaymath}
\left(\begin{array}{c|c}
1 & 2 \\
\hline
3 & 4
\end{array}\right)
\end{displaymath}

效果:

对于跨行的长公式或是方程组(equation system),你可以使用eqnarray 和eqnarray* 环境来替代equation 环境。在eqnarray 环境中每一行都有一个等式编号。 eqnarray* 则不添加编号。
eqnarray 和eqnarray* 环境的用法与一个{rcl} 形式的3 列表格相类似,这里中间一列可以用来放等号,不等号, 或者是其他你选择的符号。\\ 命令可以断行。

\begin{eqnarray}
f(x) & = & \cos x \\
f'(x) & = & -\sin x \\
\int_{0}^{x} f(y)dy &
= & \sin x
\end{eqnarray}

效果:

注意,这里等号两边空白都有些大。\setlength\arraycolsep{2pt} 可以调小它。 长等式不能被分成合适的小段。作者必须指定在哪里断且如何缩进。以下两种方法是最常用的。

{\setlength\arraycolsep{2pt}
\begin{eqnarray}
\sin x & = & x -\frac{x^{3}}{3!}
+\frac{x^{5}}{5!}-{}\nonumber\\
&& {}-\frac{x^{7}}{7!}+{}\cdots
\end{eqnarray}}

效果:

\begin{eqnarray}
\lefteqn{ \cos x = 1
-\frac{x^{2}}{2!} +{} }
\nonumber\\
& & {}+\frac{x^{4}}{4!}
-\frac{x^{6}}{6!}+{}\cdots
\end{eqnarray}

效果:

\nonumber 命令告诉LATEX 不要给这个等式编号。

虚位

我们看不见虚位(phantom,也有幻影的意思),但是在许多人的头脑中它们依然占有一定的位置。 LATEX 中也一样。我们可以使用它来实现一些有趣的小技巧。
当使用^ 和_ 时, LATEX 对文本的垂直对齐有时显得太过于自作多情。使用\phantom 命令你可以给不在最终输出中显示的字符保留位置。理解此意的最好方法是看下面的例子。

\begin{displaymath}
{}^{12}_{\phantom{1}6}\textrm{C}
\qquad \textrm{versus} \qquad
{}^{12}_{6}\textrm{C}
\end{displaymath}

效果:

\begin{displaymath}
\Gamma_{ij}^{\phantom{ij}k}
\qquad \textrm{versus} \qquad
\Gamma_{ij}^{k}
\end{displaymath}

效果:

数学字体尺寸

在数学模式中, TEX 根据上下文选择字体大小。例如,上标会排版成较小的字体。如果你想要把等式的一部分排版成罗马字体,不要用\textrm命令,只因\textrm 会暂时切换到文本模式, 而此时字体大小切换机制将不起作用。使用\mathrm 来保持字体大小切换机制的正常。但是要小心,\mathrm 只对较短的项有效。空格依然无效而且重音符号也不起作用。

\begin{equation}
2^{\textrm{nd}} \quad
2^{\mathrm{nd}}
\end{equation}

效果:

有时你仍需告诉LATEX 正确的字体大小。在数学模式中,可用以下四
个命令来设定:
\displaystyle (123), \textstyle (123), \scriptstyle (123) and \scriptscriptstyle (123).
改变样式也会影响到上下限的显示方式。

\begin{displaymath}
\frac{\displaystyle
\sum_{i=1}^n(x_i-\overline x)
(y_i-\overline y)}
{\displaystyle\biggl[
\sum_{i=1}^n(x_i-\overline x)^2
\sum_{i=1}^n(y_i-\overline y)^2
\biggr]^{1/2}}
\end{displaymath}

效果:

这个例子中的括号要比\left[ \right] 提供的括号更大些。 \biggl和\biggr命令分别对应于左和右括号。

定理、定律

当写数学文档时, 你可能需要一种方法来排版“引理”、“定义”、“公理”及其他类似的结构。
\newtheorem{name}[counter]{text}[section]
参量name 是用来标识“定理”的短关键字。而参数text 才是真正的“定理”名,它会在最终的文档中被打印出来。方括号中是可选参量。两者都均用来指定“定理”的编号问题。使用counter参数来指定先前声明的“定理”的name。则此新的“定理”将与先前定理统一编号。 section 参数让你来指定章节单元,而“定理”会按相应的章节层次来编号。
在你的文档的导言区执行\newtheorem 命令后,你就可以在文档中使用以下命令了。

\documentclass{article}
\usepackage{CJK,amsmath,amssymb}


\begin{document}
\begin{CJK*}{GBK}{kai}

\newtheorem{name}{Definition}
\begin{name}[text]
This is my interesting theorem
\end{name}

\end{CJK*}
\end{document}

效果:

amsthm 宏包提供了\newtheoremstyle{style} 命令,通过从三个预定义样式中选择其一来定义定理的外观,三个样式分别为: definition (标题粗体,内容罗马体), plain (标题粗体,内容斜体)和remark (标题斜体,内容罗马体)。
理论上已经说够多了,下面我们联系一下实践,这个例子希望能够带走你的疑问并让你知道\newtheorem 环境其实比较复杂且不易理解。
首先定义定理环境:

\documentclass{article}
\usepackage{CJK,amsmath,amssymb}


\begin{document}
\begin{CJK*}{GBK}{kai}

\newtheorem{law}{Law}
\newtheorem{jury}[law]{Jury}
\newtheorem{marg}{Margaret}
\begin{law} \label{law:box}
Don't hide in the witness box
\end{law}
\begin{jury}[The Twelve]
It could be you! So beware and
see law \ref{law:box}\end{jury}
\begin{marg}No, No, No\end{marg}

\end{CJK*}
\end{document}

效果:

“Jury” 定理与“Law” 定理共用了同一个计数器,因此它的编号与其他“Law” 定理的编号是顺序下来的。方括号中的参量用来指定定理的一个标题或是其他类似的内容。

\documentclass{article}
\usepackage{CJK,amsmath,amssymb}


\begin{document}
\begin{CJK*}{GBK}{kai}

\flushleft
\newtheorem{mur}{Murphy}[section]
\begin{mur}
If there are two or more
ways to do something, and
one of those ways can result
in a catastrophe, then
someone will do it.\end{mur}

\end{CJK*}
\end{document}

效果:

Murphy” 定理有一个与当前章节相联系的编号。你也可以使用其他的单元,如章(chapter) 或小节(subsection)。

粗体符号

在LATEX 中要得到粗体符号相当的不容易;这也许是故意设置的,以防业余水平的排版者过度的使用它们。字体变换命令\mathbf 可得到粗体字母,但是得到的是罗马体(直立的)而数学符号通常要求是斜体。还有一个\boldmath 命令,但是它只能用在数学模式之外。它不仅作用于字母也作用于符号。

\begin{displaymath}
\mu, M \qquad \mathbf{M} \qquad
\mbox{\boldmath $\mu, M$}
\end{displaymath}

效果:

请注意,逗号也成粗体了,这也许不是所需的。使用amsbsy 宏包(包含在amsmath 中)或tool 宏包集中的bm 将会便利许多,因为它们包含一个叫\boldsymbol 的命令。

\begin{displaymath}
\mu, M \qquad
\boldsymbol{\mu}, \boldsymbol{M}
\end{displaymath}

效果:

数学符号表

以下表格列出了数学模式中的所有常用符号。
要使用表3.11–3.15。 必须在导言区先载入amssymb 宏包而且系统中安装了AMS 数学字体。
表3.1 – 数学模式重音符号。

表3.2 – 希腊字母。

α \alpha θ \theta o o υ \upsilon
β \beta ϑ \vartheta π \pi φ \phi
γ \gamma ι \iota ϖ \varpi ϕ \varphi
δ \delta κ \kappa ρ \rho χ \chi
ɛ \epsilon λ \lambda ϱ \varrho ψ \psi
ε \varepsilon μ \mu σ \sigma ω \omega
ζ \zeta ν \nu ς \varsigma
η \eta ξ \xi τ \tau
Γ \Gamma Λ \Lambda Σ \Sigma Ψ \Psi
Δ \Delta Ξ \Xi Υ \Upsilon Ω \Omega
Θ \Theta Π \Pi Φ \Phi

猜你喜欢

转载自blog.csdn.net/Zjhao666/article/details/82386212