数学公式具体实现

数学公式具体实现 #

作者:二花

关键词:数学公式

这一节,我们讨论数学公式。

综述 #

数学公式与符号,可以说是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}