3.2 数学结构
如果我们仔细观察每一个数学式的话, 会发现它们不是简单的字符堆砌, 而是有着各种各样的结构, 下面我们来依次说说这些结构, 看看如何用一维的字符串来写出二维的数学公式.
3.2.1 上标和下标
上标和下标是两种最常见的数学结构了, 上标一般在原符号的右上方, 下标一般在原符号的右下方, 有时候也在正上方和正下方. 例如:
在LaTeX中, 用^
作为上标的标志符, 用_
作为下标的标志符, 在数学模式下它们相当于带一个参数的命令, 如$ 10^n $
可以得到, a_i
可以得到, 当上下标的内容多于一个时, 就需要一对花括号作为定界符, 上下标可以同时使用, 且上下标的顺序不互相影响, 具体的关系可以看下面的例子.
例 分别输入下列代码, 比较输出的区别
\documentclass{article}
\usepackage[UTF8]{ctex}
\begin{document}
$ a^{n}_{m} $, $ a_{m}^{n} $, $ {a^{n}}_{m} $, $ {a_{m}}^{n} $
\end{document}
'
是一种特殊的上标, 可以用\prime
做为上标来输入, 也可以通过enter
键旁边的单引号来输入, 它可以连续输入, 在连续输入时候它是平行出现, 而不是依次作为上标, 同样, 这个符号可以用做导数的符号, 在行间公式的例子中我们输入过它:
f'(x)=\frac{f''(x)}{x}
再看一些混合使用的例子, 来感受一下'
的显示方法:
\documentclass{article}
\begin{document}
$ a=a'\quad b_{0}'=b_{0'}\quad c'^{2}=(c')^{2} $
\end{document}
类似地, LaTeX也没有默认输入°
的方法, 我们可以用"圆"\circ
作为上标来代替°
.
\documentclass{article}
\usepackage[UTF8]{ctex}
\begin{document}
直角三角形是有一个内角为$ 90^{\circ} $的三角形
\end{document}
为了更直观的表达°
, 我们可以自定义一个命令\degree
:\newcommand{\degree}{\ensuremath{^{circ}}}
, 之后在文本和数学模式下都可以用\degree
来输入°
.
再看下面的代码, 体会行内公式与行间公式的不同点:
\documentclass{article}
\usepackage[UTF8]{ctex}
\begin{document}
设函数$ u_{n}(x)\,(n=1,2,\dots) $在区间$ [a,b] $上可积, 且$ \sum_{n=1}^{+\infty}u_{n}(x) $在$ [a,b] $上一致收敛, 则$ \sum_{n=1}^{+\infty}u_{n}(x) $的和函数在$ [a,b] $上可积, 并成立
\[
\int_{a}^{b}\left( \sum_{n=1}^{+\infty}u_{n}(x) \right)\,\mathrm{d}x
=\sum_{n=1}^{+\infty}\int_{a}^{b}u_{n}(x)\,\mathrm{d}x.
\] %\,会产生一个长度为1/6em的水平空白, \mathrm{}会将公式中的文字变为直立
\end{document}
可以看到, 在行内公式中, 求和号的上下标跑到了求和号的右边, 因为在行内公式中, 空间较小, 为了避免拥挤和产生难看的行距, 将求和号等巨算符的上下标挪到了一横排. 同时, 可以依次尝试一下下列符号的上下标在行内和行间的显示区别:
\documentclass{article}
\begin{document}
$ \sum_{i=1}^{n}a_{i}\quad \prod_{i=1}^{n}b_{i}\quad \int_{a}^{b}f(x)\quad \lim_{n\rightarrow\infty}a_{n} $
\[
\sum_{i=1}^{n}a_{i}\quad \prod_{i=1}^{n}b_{i}\quad \int_{a}^{b}f(x)\quad \lim_{n\rightarrow\infty}a_{n}
\]
\end{document}
我们会发现, 在行内公式中, 所有的符号和上下标都以行内的大小为准, 尽量不去突出一行的高度, 而在行间公式中, 各种巨算符可以尽情舒展, 变成了平常我们见到的样子. 如果想在行内公式中也使用行间公式款的上下标的话, 可以在对应的命令前面加上\displaystyle
, 即显示模式, 就可以变成我们想要的样子了, 但是这种方法会产生一些不良行距, 而另一种方法是比较推荐使用的:\limits
, 顾名思义, 这个命令可以把上下标变成我们常见的"极限"形式的上下标, 也就是显示在算符的上下, 而不是右边. 而与它对应的命令是\nolimits
, 也就是把上下标显示在算符的右侧而不是上下. 下面通过一个例子来比较这几种的显示效果
\documentclass{article}
\usepackage[UTF8]{ctex}
\begin{document}
\noindent 无穷级数$ \sum_{n=1}^{\infty}a_{i} $收敛\\
无穷级数$ \displaystyle\sum_{n=1}^{\infty}a_{i} $收敛\\
无穷级数$ \sum\limits_{n=1}^{\infty}a_{i} $收敛\\
无穷级数$ \displaystyle\sum\nolimits_{n=1}^{\infty}a_{i} $收敛
\end{document}
那有了\displaystyle
也可以有\textstyle
, 即可以在任何地方使用行内公式大小的算符.
amsmath
还提供了我我们两个命令, 让我们可以在在任意符号的上下添加上下标:
\documentclass{article}
\usepackage[UTF8]{ctex}
\usepackage{amsmath}
\begin{document}
$ \overset{*}{X}\quad \underset{\dag}{A}\quad \underset{\dag}{\overset{*}{X}} $
\end{document}