数学公式具体实现 #
作者:二花
关键词:数学公式
这一节,我们讨论数学公式。
综述 #
数学公式与符号,可以说是LaTeX最令人称道的功能了!其中我们必备的宏包为 \usepackage{amsmath}
数学公式分为
- 行内公式(inline equation)
- 使用两个$符号,形如$公式$
- 行间公式 (display equation)
- 不带标号的行间公式:
$$……$$
\[ …… \]
\begin{displaymath} …… \end{displaymath}
- 带标号的行间公式:
\begin{equation} …… \end{equation}
- 不带标号的行间公式:
例子:
\documentclass[]{article}
\usepackage{ctex}
\usepackage{amsmath}
\usepackage[paperwidth = 200mm,paperheight = 150mm]{geometry}
\begin{document}
勾股定理是$a^2 + b^2 = c^2$,如果我不想给行间公式编号,那么,我可以这么办:
\[a^2 + b^2 = r^2\]
我要是使用带有编号的公式呢?要这样;
\begin{equation}
a^2 + b^2 = c^2
\end{equation}
\end{document}
公式内实现中文 #
实现公式内中文的方法:
- \text{中文} 推荐
- \mbox{中文} 并不推荐
分数形式 #
行内的分数与行间的分数表达形式上略有不同,具体采用哪种形式,看例子
\documentclass[]{article}
\usepackage{ctex}
\usepackage{amsmath}
\usepackage[paperwidth = 200mm,paperheight = 150mm]{geometry}
\begin{document}
我是最普通的行内式子,我叫$\frac{1}{2}$,其实$\frac{1}{a+b}$也是行内比较小的公式.\par
当然我们其实是可以使用行内比较大的公式的,但是要使用宏包\textsf{amsmath} %无衬线字体族
提供的命令\texttt{dfrac} %打字机字体
形如$\dfrac{1}{a+b}$,确实在行内使用时比较难看的。\par
如果有必要,我可以不采用分式结构,而是选择$1/(a+b)$的形式,这种形式也是比较好看的。\par
当然,我们暂时把二项式系数当做分数来排版,其形式是$\binom{n}{k}$,他们对应的所有行间公式都如下
\begin{equation} %行间分数排布
\frac{1}{2},\frac{1}{a+b},1{}/{}(a+b),\binom{n}{k}
\end{equation}
\end{document}
上下标 #
LaTeX数学公式的上下标可以说的非常的精彩了。
\documentclass[]{article}
\usepackage{ctex}
\usepackage{anyfontsize}
\newcommand{\bigsize}{\fontsize{12pt}{\baselineskip}\selectfont}
\usepackage{amsmath}
\usepackage{mathtools}
\usepackage[paperwidth = 200mm,paperheight = 150mm]{geometry}
\begin{document}
\bigsize
\centering
%------
%最普通的上下标举例——行内公式,行内公式的上下标为了美观一般放在右上右下脚
$10^n \quad a_i \quad \int_D \quad \sum_{i=1}^n$ \par
%------
%最普通的上下标举例——行间公式
\begin{equation}
10^n \quad a_i \quad \int_D \quad \sum_{i=1}^n
\end{equation}
%-------
%几个特殊符号(度数,求导符号)举例——行内公式
$f(x) = x^2 \longrightarrow f'(x) = 2x \quad 90^{\circ} = \frac{\pi}{2}$ \par
%------
%几个特殊符号(度数,求导符号)举例——行间公式
\begin{equation}
f(x) = x^2 \longrightarrow f'(x) = 2x \quad 90^{\circ} = \frac{\pi}{2}
\end{equation}
%------
%如果要在左上角或者左下角添加时(要使用mathtools宏包)——行内公式
$\prescript{n}{m}{H}_{ij}^{\text{中文}} \quad %前置角标
\sideset{_2^1}{_3^4}\sum_{i=1}^{\text{中文}} $ %四周角标
%------
%如果要在左上角或者左下角添加时(要使用mathtools宏包)——行间公式
\begin{equation}
\prescript{n}{m}{H}_{ij}^{\text{中文}} \quad
\sideset{_2^1}{_3^4}\sum_{i=1}^{\text{中文}}
\end{equation}
%------
\end{document}
化学公式 #
使用宏包mhchem 的\ce{ }命令,另外不需要数学公式环境的支持,即只需要宏包与命令即可。
\usepackage{mhchem}
\ce{这里面填化学式或者化学元素即可}
\documentclass[]{article}
\usepackage{ctex}
\usepackage{anyfontsize}
\newcommand{\bigsize}{\fontsize{12pt}{\baselineskip}\selectfont}
\usepackage{mhchem}
\usepackage[paperwidth = 200mm,paperheight = 150mm]{geometry}
\begin{document}
\bigsize
\centering
%这是水
\ce{H2O}\par
%这是乙酸乙酯
\ce{2AgNO3 + CaCl2 -> 2AgCl + Ca(NO3)2}
\end{document}
上下线以及上下括号 #
使用amsmath宏包提供的命令:
\overline{内容} %上端划线
\underline{内容} %下端划线
\overbrace{内容}^{上端花括号注释} %上端花括号
\underbrace{内容}_{下端花括号注释} %下端花括号
还有若干加箭头的命令形如:
\over(under)left(right)arrow{内容}
\documentclass[12pt]{article}
\usepackage{ctex}
\usepackage{amsmath}
\usepackage{mhchem}
\usepackage[paperwidth = 200mm,paperheight = 150mm]{geometry}
\begin{document}
------
\begin{gather} %gather环境也是常用的排版多行公式的环境
%上下线和上下箭头
\overline{a+b} = \underline{\overrightarrow{c}+\overline{d}} \\
%上下括号
\underbrace{x+y+z}_{\text{三个未知数}} = \overbrace{1+2+3}^{\text{三个常数}}
\end{gather}
------
\end{document}
平方根实现形式 #
\sqrt[开放次数]{被开方数}
\documentclass[12pt]{article}
\usepackage{ctex}
\usepackage{amsmath}
\usepackage{mathtools}
\usepackage{mhchem}
\usepackage[paperwidth = 200mm,paperheight = 150mm]{geometry}
\begin{document}
------%\uproot{16}实现向上平移16个单位
\begin{equation}
\sqrt[\uproot{16}11]{\dfrac{\pi}{15-\sqrt{3}}\times \sum_{i=0}^n \overline{x_iy_i}}
\end{equation}
------
\end{document}
几个根式并列,想统一他们的高度时,可以使用\vphantom进行占位处理:
\sqrt{\frac12} < \sqrt{\vphantom{\frac12}2}
即使用\vphantom{\frac12}它,另根2获得与根下二分之一一样的高度
但是,由于一些字母,我们以a,b,y为例,他们大小是不一样的,所以这式如果开平方时,就显得高低不平,我们要用一个方式来解决:使用\mathstrut 这个表示一个圆括号高度与深度的支架,相当于为不同的字母撑起了相同的支架,开平方时符号就一致大小了。
\begin{equation}
%单独开平方
\sqrt{a}\ \sqrt{b} \ \sqrt{y} \qquad
%使用\mathstrut支架来平衡不同高度与深度
\sqrt{\mathstrut a} \ \sqrt{\mathstrut b} \ \sqrt{\mathstrut y}
\end{equation}
矩阵 #
同样的,我们排版矩阵使用的是amsmath宏包提供的命令与环境,一般是环境居多。
- 矩阵是一个公式,所以必须在公式环境内,然后再使用矩环境
- 矩阵环境内的排布与表格基本一致,使用&换单元,使用\\换行
\documentclass[12pt]{article}
\usepackage{ctex}
\usepackage{amsmath}
\usepackage{mathtools}
\usepackage{mhchem}
\usepackage[paperwidth = 200mm,paperheight = 150mm]{geometry}
\begin{document}
\begin{align}
\text{matrix环境}&\colon\quad
\begin{matrix}
a&b\\
c&d
\end{matrix}\\
\text{bmatrix环境}&\colon\quad
\begin{pmatrix}
a&b\\
c&d
\end{pmatrix}\\
\text{vmatrix环境}&\colon\quad
\begin{vmatrix}
a&b\\
c&d
\end{vmatrix}\\
\text{bmatrix环境}&\colon\quad
\begin{bmatrix}
a&b\\
c&d
\end{bmatrix}\\
\text{Bmatrix环境}&\colon\quad
\begin{Bmatrix}
a&b\\
c&d
\end{Bmatrix}\\
\text{Vmatrix环境}&\colon\quad
\begin{Vmatrix}
a&b\\
c&d
\end{Vmatrix}
\end{align}
\end{document}
矩阵中比较容易出现点点点的形式,来补充我们没有填充的内容,我们使用\dots,\vdots,\ddots来实现水平点点点,斜点点点,竖直点点点
命令 | 形式 |
---|---|
\dots | 水平点点点 |
\vdots | 竖直点点点 |
\ddots | 斜点点点 |
多行公式(实现,对齐,编号) #
多行公式 | 实现 | 对齐 | 编号 |
---|---|---|---|
\begin{gather*} | 居中 | 无编号 | |
\begin{gather} | 居中 | 编号,可用\notag来删除某行公式编号 | |
\begin{align*} | 使用&对某符号竖直对齐 | 无编号 | |
\begin{align} | 使用&对某符号竖直对齐 | 编号,可用\notag来删除某行公式编号 |
\documentclass[12pt]{article}
\usepackage{ctex}
\usepackage{amsmath}
\usepackage{mathtools}
\usepackage{mhchem}
\usepackage[paperwidth = 200mm,paperheight = 150mm,top = 0mm,bottom = 0mm]{geometry}
\begin{document}
------
%使用\\换行居中排布公式
\begin{gather*}(a+b)^2\\
=a^2 + b^2 + 2ab \\
=12
\end{gather*}
------
\begin{gather}(a+b)^2 \notag \\
=a^2 + b^2 + 2ab \\
=12 \notag
\end{gather}
------
%align环境可以允许按照关系符对齐,需要再关系符号前加&
\begin{align*}
&\phantom{=}(a+b)^2\\%使用幻影来假设提供出一个等号
&=a^2 + b^2 + 2ab \\
&=12
\end{align*}
------
\begin{align}
&\phantom{=}(a+b)^2 \\%使用幻影来假设提供出一个等号
&=a^2 + b^2 + 2ab \notag \\
&=12\qquad\text{易得}\notag
\end{align}
------
\end{document}