Latex入门_第4章:排版数学公式

思维导图版



文字版

• 第4章:排版数学公式
• 4.1 AMS宏集
• 介绍数学公式排版之前,简单介绍一下AMS宏集AMs宏集合是美国数学学会提供的对latex原生的数学公式排版的扩展其核心是amsmath宏包,对多行公式的排版提供了有力的支持此外,amsfonts宏包以及基于它的amssymb宏包提供了丰富的数学符号;amsthm宏包扩展了latex定理证明格式本章介绍的许多命令和环境依赖于amsmath宏包这些命令和环境将以蓝色示意
• 4.2 公式排版基础
• 4.2.0 引入
• 数学公式有两种排版公式:其一是与文字混排,称为行内公式其二是单独列为一行排版,称为行间公式
• 行内公式
• 由一对$符号包裹
• 代码
• \documentclass[UTF8]{ctexart}

\begin{document}
a 2 + b 2 = c 2 a^2 + b^2 = c^2 a2+b2=c2
\end{document}
• 效果

• 行间公式
• 单独成行的行间公式在latex里由equation环境包裹equation环境为公式自动生成一个编号,这个编号可以用\label和\ref生成交叉引用,amsmath的\eqref命令甚至为引用自动加上圆括号还可以用\tag命令手动修改公式的编号,或者用\notag命令取消为公式编号(与之基本等效的命令是\nonumber)
• 例
• 代码
• \documentclass[UTF8]{ctexart}\usepackage{amsmath}
\begin{document}
squared\begin{equation}a^2 + b^2 = c^2 \label{there}\end{equation}
squared\begin{equation} a^2 + b^2 = c^2 \tag{自定义}\end{equation}
Einstein\begin{equation} E = mc^2\end{equation}
Einstein\begin{equation} E = mc^2 \notag\end{equation}
This is a reference to \eqref{there}.
\end{document}
• 效果

• 手动为每一个公式是比较麻烦的,latex提供了一对命令 [ 和 ]用于生成不带编号的行间公式,与之等效的是displaymath环境有的人更喜欢equation环境,体现了带星号和不带星号的环境之间的区别
• 例
• 代码
• \documentclass[UTF8]{ctexart}\usepackage{amsmath}
\begin{document}
Again\ldots\begin{equation
} a^2 + b^2 = c^2\end{equation*}or you can type less for thesame effect:[ a^2 + b^2 = c^2 ]or if you like the long one:\begin{displaymath} a^2 + b^2 = c^2\end{displaymath}
\end{document}
• 效果
• 通过一个例子展示行内公式和行间公式的对比,为了与文字相适应,行内公式在排版大的公式元素(分式、巨算符等)时显得很"局促"行间公式的对齐、编号位置等性质由文档类选项控制,文档类的fleqn选项令行间公式左对齐;leqno选项令编号放在公式左边
• 例
• 代码
• \documentclass[UTF8,fleqn]{ctexart}\usepackage{amsmath}
\begin{document}
In text: lim ⁡ n → ∞ ∑ k = 1 n 1 k 2 = π 2 6 \lim_{n \to \infty}\sum_{k=1}^n \frac{1}{k^2}= \frac{\pi^2}{6} limnk=1nk21=6π2.
In display:[\lim_{n \to \infty}\sum_{k=1}^n \frac{1}{k^2}= \frac{\pi^2}{6}]
\end{document}
• 效果

• 4.2.1 数学模式和文本
• 当使用$开启行内公式输入,或是使用[ 命令、equation环境时,就进入了所谓的数学模式。数学模式相比于文本模式有以下特点
• 1
• 数学模式中输入的空格全部被忽略,数学符号的间隙默认完全由符号的性质(关系符号、运算符号等)决定,需要引入空隙时,使用 \quad和 \qquad等命令(详情见4.6节)
• 2
• 不允许有空行(分段),公式也无法自动换行或者用\换行排版多行公式需要用到4.4节介绍的各种环境
• 3
• 所有的字母被当作数学公式中的变量处理,字母间距与文本模式不一致也无法生成单词之间的空格,如果想在数学公式中输入正体的文本,简单情况下可用4.7.1小节中提供的mathrm命令或者用amsmath提供的\text命令
\text命令仅适用于在公式中穿插少量文字,当需要插入大量文字时应使用行间公式
• 例
• 代码
• \documentclass[UTF8,fleqn]{ctexart}\usepackage{amsmath}
\begin{document}
x 2 ≥ 0 for  all   x ∈ R x^2 \geq 0\quad\text{for \textbf{all} }x \in \mathbf{R} x20for all xR
\end{document}
• 效果

• 4.3 数学符号
• 4.3.1 一般符号
• 希腊字母符号的名称就是其英文名称,如\alpha、\beta等等大写的希腊字母为首字母大写的命令,如\Gamma、\Delta等等无穷大符号\infty,更多符号命令可参考表4.5和4.1.4等省略号有\dots和\cdots两种形式,它们有各自适合的用途
• 例
• 代码
• \documentclass[UTF8,fleqn]{ctexart}\usepackage{amsmath}
\begin{document}
$ a_1,a_2,\dots,a_n $$ a_1+a_2+\cdots+a_n $

\end{document}
• 效果

• \dots和\ldots是完全等效的,它们既能用在公式中,也用来在文本里作为省略号(详见2.3.5小节)除此之外在矩阵中可能会用到竖排省略号\vdots、斜排省略号\ddots
• 4.3.2 指数、上下标和导数
• 在latex中用^和_标明上下标,注意上下标的内容(子公式)一般需要用花括号包裹,否则上下标只对后面的一个符号起作用
• 导数符号 ’ 是一类特殊的上标,可以适当连用表示多阶导数也可以在其后连用上标
• 例
• 代码
• \documentclass[UTF8,fleqn]{ctexart}\usepackage{amsmath}
\begin{document}
$ a^x + y \neq a^{x+y} \qquad e{x{2}} \neq {ex}2 $ \par$ f(x)=x^2 \qquad f’(x)=2x \qquad f^{''2}x=4 $
\end{document}
• 效果

• 4.3.3 分式和根式
• 分式使用\frac{分子}{分母}来书写,分式的大小在行间公式中是正常大小,而在行内被极度压缩,amsmath提供了方便的命令\dfrac和\tfrac,令用户能够在行内使用正常大小的行间公式,或是反过来
• 说明
• 行内公式
• \frac
• 被压缩
• \dfrac
• 正常大小
• \tfrac
• 被压缩
• 行间公式
• \frac
• 正常大小
• \dfrac
• 正常大小
• \tfrac
• 被压缩
• 例
• 代码
• \documentclass[UTF8,fleqn]{ctexart}\usepackage{amsmath}
\begin{document}
\section{行内}$ 3/8 \qquad \frac{3}{8} \qquad \dfrac{3}{8} \qquad \tfrac{3}{8} $
\section{行间}[ 3/8 \qquad \frac{3}{8} \qquad \dfrac{3}{8} \qquad \tfrac{3}{8} ]
\end{document}
• 效果

• 一般的根式使用\sqrt{…}; 表示n次方根时写成\sqrt [n] {…}
• 例
• 代码
• \documentclass[UTF8,fleqn]{ctexart}\usepackage{amsmath}
\begin{document}
$ \sqrt{x} \leftrightarrow x^{1/2} \qquad \sqrt[3]{2} \qquad \sqrt{x^2+\sqrt{y}} $
\end{document}
• 效果

• 特殊的分式形式,如二项式结构,由amsmath宏包的\binom命令生成
• 例
• 代码
• \documentclass[UTF8,fleqn]{ctexart}\usepackage{amsmath}
\begin{document}
$ \binom{n}{k}=\binom{n-1}{k}+\binom{n-1}{k-1} $
\end{document}
• 效果

• 4.3.4 关系符
• latex常见的关系符除了可以直接输入的=、>、<,其他符号用命令输入,常用的有不等号\ne、大于等于号\le、约等号\approx、等价号\equiv、正比\propto、相似号\sim等等更多符号命令可参考表4.6以及表4.16
• latex还提供了自定义二元关系符的命令\stackrel,用于将一个符号叠加在原有的二元关系符之上实际上,该符号不仅可将符号加于二元关系符上,也可以将普通字符加于普通字符上
• 例
• 代码
• \documentclass[UTF8,fleqn]{ctexart}\usepackage{amsmath}
\begin{document}
$ f_n(x) \stackrel{*}{\approx} 1 $ \par$ \stackrel{-}{A} $
\end{document}
• 效果

• 4.3.5 算符
• latex中的算符大多数是二元算符,除了直接用键盘可以输入的+、-、*、/,其他符号用命令输入,常用的有乘号\times、除号\div、点乘\cdot、加、减号\pm、\mp等等,更多符号可参考表4.7以及表4.17
• 反三角号\nabla 、偏导符号\partial、取余符号\pmodlatex将数学函数的名称作为一个算符排版,字体为直立字体其中有一部分符号在上下位置可以书写一些内容作为条件

• 例
• 代码
• \documentclass[UTF8,fleqn]{ctexart}\usepackage{amsmath}
\begin{document}
\section{行内写法}$ \lim_{x \rightarrow 0} \dfrac{\sin x}{x} = 1 $
\section{行间写法}[ \lim_{x \rightarrow 0} \dfrac{\sin x}{x} = 1 ]
\end{document}
• 效果

• amsmath允许用户使用\DeclareMathOperator定义自己的算符,其中带星号的命令定义带上下限的算符:\DeclareMathOperator{\命令}{自定义内容}\DeclareMathOperator*{\命令}{自定义内容}命令不能以数字结尾
• 例
• 代码
• \documentclass[UTF8,fleqn]{ctexart}\usepackage{amsmath}
\DeclareMathOperator{\declare}{A}\DeclareMathOperator*{\nodeclare}{B}
\begin{document}
[ \declare = \nodeclare_{x=1} ]
\end{document}
• 效果

• 4.3.6 巨算符
• 积分号\int、求和号\sum等符号称为巨算符,巨算符在行内公式和行间公式的大小和形状有区别
• 例
• 代码
• \documentclass[UTF8,fleqn]{ctexart}\usepackage{amsmath}
\begin{document}
In text:$\sum_{i=1}^n \quad\int_0^{\frac{\pi}{2}} \quad\oint_0^{\frac{\pi}{2}} \quad\prod_\epsilon $ \parIn display:[\sum_{i=1}^n \quad\int_0^{\frac{\pi}{2}} \quad\oint_0^{\frac{\pi}{2}} \quad\prod_\epsilon ]
\end{document}
• 效果

• 巨算符的上下标用作其上下限行内公式中一律默认在右上角和右下角行间公式中积分号默认将上下限放在右上角和右下角求和号默认在上下方可以在巨算符后使用\limits 手动令其上下限显示在上下方,\nolimits 则相反
• 例
• 代码
• \documentclass[UTF8,fleqn]{ctexart}\usepackage{amsmath}
\begin{document}
In text:$\sum\limits_{i=1}^n \quad\int\limits_0^{\frac{\pi}{2}} \quad\prod\limits_\epsilon $ \parIn display:[\sum\nolimits_{i=1}^n \quad\int\limits_0^{\frac{\pi}{2}} \quad\prod\nolimits_\epsilon ]
\end{document}
• 效果

• amsmath宏包还提供了\substack,能够在下限位置书写多行表达式subarray 环境更进一步,令多行表达式可选择居中 © 或左对齐 (l)
• 例
• 代码
• \documentclass[UTF8,fleqn]{ctexart}\usepackage{amsmath}\usepackage{amssymb}
\begin{document}
[\sum_{\substack{0 \le i \le n \j \in \mathbb{R}}}P(i,j)=Q(n)]
[\sum_{\begin{subarray}{l} 0 \le i \le n \ j \in \mathbb{R} \end{subarray}}P(i,j)=Q(n)]
\end{document}
• 效果

• 4.3.7 数学重音和上下括号
• 数学符号可以像文字一样加重音,比如对时间求导的符号\dot{r}、\ddot{r}、表示向量的箭头\vec{r}、表示欧氏空间单位向量的\hat{\mathbf{e}}等详情见表4.9,使用时要注意重音符号的作用区域,一般应当对某个符号而不是"符号加下标"使用重音
• 例
• 代码
• \documentclass[UTF8,fleqn]{ctexart}\usepackage{amsmath}
\begin{document}
\lefting x 0 ˉ x ˉ 0 \bar{x_0} \quad \bar{x}_0 x0ˉxˉ0\[5pt] x 0 ⃗ x ⃗ 0 \vec{x_0} \quad \vec{x}_0 x0 x 0\[5pt] e x ^ e ^ x \hat{\mathbf{e}_x} \quad\hat{\mathbf{e}}_x ex^e^x
\end{document}
• 效果

• latex也能为多个字符加重音,包括直接画线的\overline和\underline命令(可叠加使用)、宽重音符号\widehat、表示向量的箭头\overrightarrow等后两者详见表4.9和4.11等
• 例
• 代码
• \documentclass[UTF8,fleqn]{ctexart}\usepackage{amsmath}
\begin{document}
\lefting$ 0.\overline{3} = \underline{\underline{1/3}} \\[5pt] \hat{XY} \qquad \widehat{XY} \\[5pt] \vec{AB} \qquad \overrightarrow{AB} $
\end{document}
• 效果

• \overbrace和\underbrace命令用来生成上/下括号,各自可带一个上/下标公式
• 代码
• \documentclass[UTF8,fleqn]{ctexart}\usepackage{amsmath}
\begin{document}
a + b + c ⏞ 6 ⋅ d + e + f ⏞ 7 ⏟ meaning of life = 42 \underbrace{\overbrace{a+b+c}^6 \cdot \overbrace{d+e+f}^7}_\text{meaning of life} = 42 meaning of life a+b+c 6d+e+f 7=42
\end{document}
• 效果

• 4.3.8 箭头
• 除了作为上下标之外,箭头还用于表示过程,amsmath的\xleftarrow和\xrightarrow命令可以为箭头增加上下标
• 例
• 代码
• \documentclass[UTF8,fleqn]{ctexart}\usepackage{amsmath}
\begin{document}
[ a\xleftarrow{x+y+z} b ][ c\xrightarrow[x<y]{abc}d ]
\end{document}
• 效果

• 4.3.9 括号和定界符
• latex提供了多种括号和定界符表示公式块的边界除小括号、中括号之外,其余都是latex命令表4.12和4.13给出了更多的括号/定界符命令
• 例
• 代码
• \documentclass[UTF8,fleqn]{ctexart}\usepackage{amsmath}
\begin{document}
[ a,b,c \neq {a,b,c} ]
\end{document}
• 效果

• 使用\left命令和\right命令可令括号/定界符的大小可变在行间公式中常用,\left 和 \right 必须成对使用需要使用单个定界符时,另一个定界符写成 \left. 或 \right.
• 例
• 代码
• \documentclass[UTF8,fleqn]{ctexart}\usepackage{amsmath}
\begin{document}
[ 1+\left( \frac{1}{1-x^2} \right)^3 ][ \left. \frac{\partial f}{\partial t}\right |_{t=0} ]
\end{document}
• 效果

• latex也为用户提供了手动调节定界符大小的命令\big、\Big、\bigg、\Bigg语法:上述命令+需调节的符号
使用 \big 和 \bigg 等命令的另外一个好处是:用 \left 和 \right 分界符包裹的公式块是不允许断行的(下文提到的 array 或者 aligned 等环境视为一个公式块),所以也不允许在多行公式里跨行使用,而 \big 和 \bigg 等命令不受限制
• 例
• 代码
• \documentclass[UTF8,fleqn]{ctexart}\usepackage{amsmath}
\begin{document}
( ( x + 1 ) ( x − 1 ) ) 2 \Bigl((x+1)(x-1)\Bigr)^{2} ((x+1)(x1))2\ ( ( ( ( } } } } ∥ ∥ ∥ ∥ ⇓ ⇓ ⇓ ⇓ \bigl( \Bigl( \biggl( \Biggl( \quad\bigr\} \Bigr\} \biggr\} \Biggr\} \quad\big\| \Big\| \bigg\| \Bigg\| \quad\big\Downarrow \Big\Downarrow\bigg\Downarrow \Bigg\Downarrow ((((}}}}
\end{document}
• 效果

• 说明
• 此时的左右括号不必成对出现
• 4.4 多行公式
• 4.4.1 长公式折行
• 通常来讲应当避免写出超过一行需要折行的长公式如果一定要折行,优先在等号之前折行,其次在加号减号之前,再次在乘号除号之前其他位置应当避免折行
• amsmath宏包的multline环境提供了书写折行长公式的方便环境(自带编号)它允许用\命令进行折行,将公式编号放在最后一行多行公式的首行左对齐,末行居中,其余行居中
• 例
• 代码
• \documentclass[UTF8,fleqn]{ctexart}\usepackage{amsmath}
\begin{document}
\begin{multline}a+b+c+d+e+f \=g+h+i \=j+k+l \\end{multline}
\end{document}
• 效果

• 与表格不同的是,公式的最后一行不写\命令,如果写了,反倒会产生一个多余的空行,类似equation*,multline*环境排版不带编号的折行长公式
• 4.4.2 多行公式
• 更多的情况是,我们需要罗列一系列公式,并令其按照等号对齐读者可能阅读过其他手册或者资料,知道latex提供了eqnarray环境,它按照等号左边—等号—等号右边呈三列对齐,但等号周围的空隙过大,加上公式编号等一些bug,目前已不推荐使用
• 例
• 代码
• \documentclass[UTF8,fleqn]{ctexart}\usepackage{amsmath}
\begin{document}
\begin{align}a=&b+c & E&=mc^2 \a=&d+e & p&=mv\end{align}
\end{document}
• 效果

• 说明
• &符号一般放置于等号的同一端以对齐等号
• 同一行不同公式之间也需要&符号隔开
• align环境会给每行公式都编号,我们仍然可以使用\notag命令去掉某一行的编号在以下的例子,为了对齐加号,我们将分隔符放在等号右边,这时需要给等号后添加一对括号{ }以产生正常的间距
• 例
• 代码
• \documentclass[UTF8,fleqn]{ctexart}\usepackage{amsmath}
\begin{document}
\begin{align}a=&b+c & E&=mc^2 \a=&d+e & p&=mv \notag\end{align}
\end{document}
• 效果

• align还能够对齐多组公式,除等号前的&之外,公式之间也用&分隔
• 如果我们不需要按照等号对齐,只需罗列数个公式,gather将是一个很好的环境
• 例
• 代码
• \documentclass[UTF8,fleqn]{ctexart}\usepackage{amsmath}
\begin{document}
\begin{gather} a=b+c \ b=c+d \notag \ PV=NRT\end{gather}
\end{document}
• 效果

• align和gather有对应的不带编号的版本align和gather
• 例
• 代码
• \documentclass[UTF8,fleqn]{ctexart}\usepackage{amsmath}
\begin{document}
\section{align*}\begin{align*} a=b+c \ b=c+d \notag \ PV=NRT\end{align*}
\section{gather*}\begin{gather*} a=b+c \ b=c+d \notag \ PV=NRT\end{gather*}
\end{document}
• 效果

• 4.4.3 公用编号的多行公式
• 另一个常见的需求是将多个公式组在一起公用一个编号,编号位于公式的居中位置为此amsmath宏包提供了诸如aligned、gathered等环境,与equation环境套用以-ed结尾的环境用法与前一节不以-ed结尾的环境语法一一对应
• 例:aligned为例
• 代码
• \documentclass[UTF8,fleqn]{ctexart}\usepackage{amsmath}
\begin{document}
\begin{equation}\begin{aligned}a&=b+c \b&=c+e+d \v&=w+d+v \\end{aligned}\end{equation}
\end{document}
• 效果

• split环境和aligned环境用法类似,也用于和equation环境套用,区别是split只能将每行的一个公式分为两栏,aligned允许每行多个公式多栏
• 4.5 数组和矩阵
• 为了排版二维数组,latex提供了array环境,用法与tabular环境极为相似,也需要定义格式,并用\换行数组作为一个公式块,在外套用\left、\right等定界符
• 例
• 代码
• \documentclass[UTF8,fleqn]{ctexart}\usepackage{amsmath}
\begin{document}
[\mathbf{X}=\left(\begin{array}{ccc}x_{11}&x_{12}&x_{13} \x_{21}&x_{22}&x_{23} \x_{31}&x_{32}&x_{33} \\end{array}\right)]
\end{document}
• 效果

• 值得注意的是,上一节末尾介绍的aligned等环境也可以用定界符包裹还可以用空的定界符排版出这样的效果
• 例
• 代码
• \documentclass[UTF8,fleqn]{ctexart}\usepackage{amsmath}
\begin{document}
[x=\left{\begin{array}{ll}a=&b+c \b=&c+e+d \v=&w+d+v \\end{array}\right.]
\end{document}
• 效果

• 例:带编号
• 代码
• \documentclass[UTF8,fleqn]{ctexart}\usepackage{amsmath}
\begin{document}
[ |x| =\left{ \begin{aligned} a=&b+c\ a=&b+c\ a=&b+c \end{aligned}\right.\tag{2.2}]
\end{document}
• 效果

• 不过上述例子用amsmath提供的 cases环境更轻松地完成(无需定界符)
• 例
• 代码
• \documentclass[UTF8,fleqn]{ctexart}\usepackage{amsmath}
\begin{document}
[ |x| =\begin{cases} a=&b+c\ a=&b+c\ a=&b+c\end{cases}]
\end{document}
• 效果

• 可以用array环境排版各种矩阵,amsmath宏包还直接提供了多种排版矩阵的环境,包括不带定界符的matrix,以及带各种定界符的矩阵pmatrix: (bmatrix:[Bmatrix:{vmatrix:|Vmatrix:||
• 例
• 代码
• \documentclass[UTF8,fleqn]{ctexart}\usepackage{amsmath}
\begin{document}
[\begin{matrix} content…\end{matrix}][\begin{pmatrix} content…\end{pmatrix}][\begin{bmatrix} content…\end{bmatrix}][\begin{Bmatrix} content…\end{Bmatrix}][\begin{vmatrix} content…\end{vmatrix}][\begin{Vmatrix} content…\end{Vmatrix}]
\end{document}
• 效果

• 在矩阵中的元素里排版分式时,一来要用到\dfrac等命令,二来行与行之间有可能紧贴着,这是要用到3.6.6小节的方法来调节间距
• 例
• 代码
• \documentclass[UTF8,fleqn]{ctexart}\usepackage{amsmath}
\begin{document}
[\mathbf{H}=\begin{bmatrix} \dfrac{\partial^2 f}{\partial x^2} & \dfrac{\partial^2 f} {\partial x \partial y} \[8pt] \dfrac{\partial^2 f} {\partial x \partial y} & \dfrac{\partial^2 f}{\partial y^2}\end{bmatrix}]
\end{document}
• 效果

• 4.6 公式中的间距
• 前文提到过,绝大部分时候,数学公式中各元素的间距是根据符号类型自动生成的,需要我们手动调整的情况极少前面已经认识到两个生成间距的命令\quad、\qquad在公式中还可能用到的间距包括, 、: 、; 以及负间距 !,其中\quad、\qquad、,在文本和数学环境中可用,后三个命令只用于数学环境
• 例
• 代码
• \documentclass[UTF8,fleqn]{ctexart}\usepackage{amsmath}
\begin{document}
[\begin{align}&a! a\&aa\&a, a\&a: a\&a; a\&a\quad a\&a\qquad a\end{align}]
\end{document}
• 效果

• 一个常见用途是修正积分的被积函数f(x)和微元dx之间的距离
• 例
• 代码
• \documentclass[UTF8,fleqn]{ctexart}\usepackage{amsmath}
\begin{document}
[\int_a^b f(x)\mathrm{d}x\qquad\int_a^b f(x),\mathrm{d}x]
\end{document}
• 效果
• 另一个用途是生成多重积分号,如果我们直接连写两个\int命令,之间的间距将会过宽,此时可以使用负间距 !命令修正之不过amsmath环境提供了更方便的多重积分号,如二重积分\iint,三重积分\iiint等
• 例
• 代码
• \documentclass[UTF8,fleqn]{ctexart}\usepackage{amsmath}
\begin{document}
\newcommand\diff{,\mathrm{d}}\begin{gather*} \int\int f(x)g(y) \diff x \diff y \ \int!!!\int f(x)g(y) \diff x \diff y \ \iint f(x)g(y) \diff x \diff y \ \iint\quad \iiint\quad \idotsint\end{gather*}
\end{document}
• 效果

• 4.7 数学符号的字体控制
• 4.7.1 数学字母字体
• latex允许一部分数字符号切换字体,主要是拉丁字母、数字等等表4.2给出了切换字体的命令,某一些命令需要字体宏包的支持
• 例
• 代码
• \documentclass[UTF8,fleqn]{ctexart}\usepackage{amsmath}
\begin{document}
R R R \mathcal{R} \quad \mathfrak{R}\quad \mathbb{R} RRR[\mathcal{L}= -\frac{1}{4}F_{\mu\nu}F^{\mu\nu}] s u ( 2 ) \mathfrak{su}(2) su(2) and s o ( 3 ) \mathfrak{so}(3) so(3) Lie algebra
\end{document}
• 效果

• 4.7.2 数学符号的尺寸
• 数学符号按照符号排版的位置规定尺寸,从大到小包括行间公式、行内公式尺寸、上下表尺寸、次级上下标尺寸除了字号有别之外,行间和行内公式尺寸下的巨算符也使用不一样的大小,latex为每个数学尺寸指定了一个切换的命令,见表4.3

• 例如行间公式的分式内,分子分母使用行内公式尺寸,巨算符采用行内尺寸的形式对比一下分子分母使用\displaystyle命令与否的区别
• 例
• 代码
• \documentclass[UTF8,fleqn]{ctexart}\usepackage{amsmath}
\begin{document}
[P = \frac{\sum_{i=1}^n (x_i- x)(y_i- y)}{\displaystyle \left[ \sum_{i=1}^n (x_i-x)^2 \sum_{i=1}^n (y_i-y)^2 \right]^{1/2} }]
\end{document}
• 效果

• 4.7.3 加粗的数学符号
• 在latex中为符号切换数学字体并不十分自由,只能通过 \mathbf等有限的命令切换字体比如想得到粗斜体的符号,就没有现成的命令\mathbf只能改变拉丁字母,希腊字母就没有用
• latex提供了一个命令\boldmath令用户可以将整套数学字体切换为直立粗体版本,但是这个命令只能在公式外使用
• 例
• 代码
• \documentclass[UTF8,fleqn]{ctexart}\usepackage{amsmath}
\begin{document}
μ , M μ , M \mu, M \qquad\mathbf{\mu}, \mathbf{M} μ,Mμ,M\qquad {\boldmath μ , M \mu, M μ,M}
\end{document}
• 效果

• amsmath提供了一个\boldsymbol命令(由调用的amsbsy宏包提供),用于打破\boldmath的限制,在公式内部将一部分符号切换为粗体
• 例
• 代码
• \documentclass[UTF8,fleqn]{ctexart}\usepackage{amsmath}
\begin{document}
μ , M μ , M \mu, M \qquad \boldsymbol{\mu}, \boldsymbol{M} μ,Mμ,M
\end{document}
• 效果

• 然而定界符、巨算符等一些符号本身没有粗体版本,\boldsymbol命令也得不到粗体latex工具宏集之一的bm宏包可以用\bm命令生成”伪粗体”,一定程度上解决了不带粗体版本的符号的问题,详情参考bm宏包的帮助文档
• 例
• 代码
• \documentclass[UTF8,fleqn]{ctexart}\usepackage{amsmath}\usepackage{bm}
\begin{document}
\begin{align}{}\sum{}{} \\bm{\sum{}{}}\end{align}
\end{document}
• 效果

• 4.8 定理环境
• 4.8.0 引入
• 使用latex排版数学和其他科技文档时,会接触到大量的定理、证明等内容latex提供了一个基本的命令\newtheorem提供定理环境的定义:\newtheorem{⟨type⟩}{⟨title⟩}[⟨section-name⟩]…\newtheorem{⟨type⟩}[⟨counter⟩]{⟨title⟩}
• type:为定理类型的名称,作为一个环境来使用title:定理的标签
序号由section name和counter决定section name:章节名称,使得定理序号成为章节的下一级序号counter:自定义的计数器名称(详见8.3小节),定理序号由这个计数器管理
• 例
• 代码
• \documentclass[UTF8,fleqn]{ctexart}\usepackage{amsmath}\usepackage{bm}
\begin{document}
\newtheorem{myth}{theory}[section]\begin{myth}\label{thm:light}the light speed in vaccum is 299,792,458m/s.\end{myth}\par\begin{myth}[ABC]the relationship of energy,momentum and mass is [ E2=m2c4+p2c^2 ]\end{myth}\parwhere c c c is the light speed described in theorem \ref{thm:light}\end{document}
• 效果

• 4.8.1 amsthm宏包
• latex只给了原始的证明环境格式(粗体标签、斜体正文、定理名用小括号包裹)如果需要修改格式,则要倚赖其它的宏包,如amsthm、ntheorem等等
• amsthm提供了\theoremstyle命令支持定理格式的切换,在用\newtheorem命令定义定理环境之前使用amsthm预定义了三种格式用于\theoremstyleplain和latex原始的格式一致definition是用粗体标签、正体内容remark使用斜体标签、正体内容另外 amsthm 还支持用带星号的 \newtheorem* 定义不带序号的定理环境
• \theoremstyle{definition} \newtheorem{law}{Law}\theoremstyle{plain} \newtheorem{jury}[law]{Jury}\theoremstyle{remark} \newtheorem*{mar}{Margaret}
• jury环境与law环境共用编号mar环境不编号
• 例
• 代码
• \documentclass[UTF8,fleqn]{ctexart}\usepackage{amsmath}\usepackage{amsthm}
\begin{document}
\theoremstyle{definition} \newtheorem{law}{Law}\theoremstyle{plain} \newtheorem{jury}[law]{Jury}\theoremstyle{remark} \newtheorem*{mar}{Margaret}
\begin{law}Don’t hide in the witness box.\end{law}
\begin{jury}[Twelve]it cloud be you! so beware and see law\end{jury}
\begin{jury}you will disregard the last statement.\end{jury}
\begin{mar}margaret. No, No, No\end{mar}
\end{document}
• 效果

• amsthm还支持使用\newtheoremstyle命令自定义定理格式,更为方便使用的是ntheorem宏包,感兴趣的读者可参阅它们的宏包
• 4.8.2 证明环境和证毕符号
• amsthm还提供了一个proof环境用于排版定理的证明过程proof环境末尾自动加上证毕符号
• 例
• 代码
• \documentclass[UTF8,fleqn]{ctexart}\usepackage{amsmath}\usepackage{amsthm}
\begin{document}
\begin{proof} For simplicity, we use [ E=mc^2 ] That’s it.\end{proof}
\end{document}
• 效果

• 如果行末是一个不带编号的公式,证毕符号会另起一行,这时可使用\qedhere命令将证毕符号放在公式末尾
• 例
• 代码
• \documentclass[UTF8,fleqn]{ctexart}\usepackage{amsmath}\usepackage{amsthm}
\begin{document}
\section {带有qedhere}\begin{proof} For simplicity, we use [ E=mc^2 \qedhere ]\end{proof}
\section{不带有qedhere}\begin{proof} For simplicity, we use [ E=mc^2 ]\end{proof}
\end{document}
• 效果

• \qedhere对于align等命令也有效
• 例
• 代码
• \documentclass[UTF8,fleqn]{ctexart}\usepackage{amsmath}\usepackage{amsthm}
\begin{document}
\section {带有qedhere}\begin{proof} Assuming γ = 1 / 1 − v 2 / c 2 \gamma = 1/\sqrt{1-v^2/c^2} γ=1/1v2/c2 , then \begin{align
} E &= \gamma m_0 c^2 \ p &= \gamma m_0v \qedhere \end{align*}\end{proof}
\section{不带有qedhere}\begin{proof} Assuming γ = 1 / 1 − v 2 / c 2 \gamma = 1/\sqrt{1-v^2/c^2} γ=1/1v2/c2 , then \begin{align*} E &= \gamma m_0 c^2 \ p &= \gamma m_0v \end{align*}\end{proof}
\end{document}
• 效果

• 在使用带编号的公式时,建议最好不要使用\qedhere命令,而是让proof环境自动生成对带编号的公式用\qedhere命令会使证毕符号放在一个不美观的位置
• 在align等环境中使用\qedhere命令会使证毕符号盖掉公式的编号使用equation嵌套aligned等环境时,\qedhere命令会将证毕符号直接放在公式后面,这些位置看起来都不太正常
• 例
• 代码
• \documentclass[UTF8,fleqn]{ctexart}\usepackage{amsmath}\usepackage{amsthm}
\begin{document}
\section{align并且不带&}\begin{proof} For simplicity, we use \begin{align} E=mc^2.\qedhere \end{align}\end{proof}
\section{align并且带&}\begin{proof}For simplicity, we use\begin{align}E=&mc^2.\qedhere\end{align}\end{proof}
\section{equation嵌套aligned}\begin{proof} For simplicity, we use \begin{equation} \begin{aligned} E=mc^2.\qedhere \end{aligned} \end{equation}\end{proof}
\section{align并且不带&}\begin{proof} \begin{align} E=mc^2.\qedhere \end{align*}\end{proof}
\section{align并且带&}\begin{proof} \begin{align} E=&mc^2.\qedhere \end{align*}\end{proof}
\end{document}
• 效果

• 证毕符号本身被定义在命令\qedsymbol中,如果有使用实心符号作为证毕符号的需求,需要自行用\renewcommand命令修改(详见8.1.1节)我们可以利用3.8.4小节介绍的标尺盒子生成一个大小适当的“实心矩阵”
• 例
• 代码
• \documentclass[UTF8,fleqn]{ctexart}\usepackage{amsmath}\usepackage{amsthm}
\begin{document}
\renewcommand{\qedsymbol}%{\rule{1ex}{1.5ex}}\begin{proof} For simplicity, we use [ E=mc^2 \qedhere ]\end{proof}
\end{document}
• 效果

• 4.9 符号表
• 4.9.0 说明
• 1、蓝色的命令依赖amsmath宏包
• 2、带有角标的符号依赖latexsym宏包
• 4.9.1 latex普通符号
• 文本/数学模式通用

• 希腊字母

• 二元关系符

• 二元运算符

• 巨算符

• 数学重音符

• 箭头符

• 作为重音的箭头符

• 定界符

• 其他符

• 4.9.2 AMS符号(均依赖amssymb)
• AMS希腊字母和希伯来字母

• AMS二元关系符

• AMS二元运算符

• AMS箭头

• AMS反义二元关系符和箭头

• AMS定界符

• AMS其他符号

• 主题

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当涉及到数学公式排版LaTeX 是一个非常强大且常用的工具。LaTeX 提供了丰富的数学符号和排版功能,使得编写高质量的数学公式变得相对简单。以下是一些常用的 LaTeX 命令和技巧来排版数学公式: 1. 行内公式(Inline equations):使用 `$` 符号将公式裹起来,例如 `$y = mx + c$`。这公式嵌入到正文中。 2. 独立公式(Display equations):使用 `$$` 符号将公式裹起来,例如 `$$y = mx + c$$`。这公式居中显示。 3. 上下标(Subscripts and superscripts):使用 `_` 添加下标,使用 `^` 添加上标。例如 `$x_1$` 表示 x 的下标 1。 4. 分数(Fractions):使用 `\frac{numerator}{denominator}` 来创建分数。例如 `$\frac{1}{2}$` 表示 1/2。 5. 根号(Square roots):使用 `\sqrt{expression}` 来创建根号。例如 `$\sqrt{2}$` 表示根号下的 2。 6. 求和、积分等运算符(Summation, integration, etc.):使用相应的 LaTeX 命令。例如 `$\sum_{i=1}^{n} i$` 表示求和符号。 7. 矩阵(Matrices):使用 `pmatrix` 或 `bmatrix` 等环境来创建矩阵。例如 `$$\begin{pmatrix} 1 & 2 \\ 3 & 4 \end{pmatrix}$$` 表示一个 2x2 的矩阵。 8. 方程组(Equation systems):使用 `cases` 环境来创建方程组。例如 `$$\begin{cases} x + y = 1 \\ 2x - y = 3 \end{cases}$$` 表示一个含两个方程的方程组。 这只是一些基本的例子,LaTeX 还提供了更多高级的数学排版功能。你可以通过查阅相关的 LaTeX 数学排版文档或教程来了解更多信息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值