$MarkDown$ 中使用$ \LaTeX$ 数学式

最近看了些机器学习的书籍, 想写点笔记记录下. 由于需要使用到很多的数学推导, 所以就看了下如何在 Markdown 中插入数学式,发现在 Markdown 中可以直接插入 LaTeX 数学式.
排版数学公式是 \(\TeX\) 系统设计的初衷, 在 \(\LaTeX\) 中占有特殊地位, 是 \(\LaTeX\) 最为人称道的功能之一, 很多人就是冲着 \(\LaTeX\) 的公式输入功能来的:), 如我... 下面简要介绍下 MarkDown 中如何使用 \(\LaTeX\) 输入数学公式.
数学模式
在 LaTeX 中,最常用到的主要有文本模式和数学模式这两种模式。数学模式又可分为行内公式{inline math)和行间公式 (display math) 两种形式。
行内公式形式是将数学式插入文本行之内,使之与文本融为一体,这种形式适合编写简 短的数学式。
行间公式形式是将数学式插在文本行之间,自成一行或一个段落,与上下文附加一段垂 直空白,使数学式突出醒目。多行公式、公式组和微积分方程等复杂的数学式都是采用行间 公式形式编写。
行内公式 $ ... $
行间公式 $$ ... $$
函数 ${f(x)=a_nx^n+a_{n-1}x^{n-1}+a_{n-2}x^{n-2}}+\cdots$
函数 $${f(x)=a_nx^n+a_{n-1}x^{n-1}+a_{n-2}x^{n-2}}+\cdots \tag{1.1}$$
函数 \({f(x)=a_nx^n+a_{n-1}x^{n-1}+a_{n-2}x^{n-2}}+\cdots\)
函数 $${f(x)=a_nxn+a_{n-1}x{n-1}+a_{n-2}x^{n-2}}+\cdots \tag{1.1}$$
LaTeX 注释符号为 \(\%\)
输入上下标
^ 表示上标, _ 表示下标。如果上下标的内容多于一个字符,要用大括号 { } 把这些内容括起来当成一个整体。上下标是可以嵌套的,也可以同时使用。
\(\sum_i^na_i\)
$\sum_i^na_i$
输入分数
分数的输入形式为 \frac{分子}{分母}
\(P(v)=\frac{1}{1+exp(-v/T)}\)
$P(v)=\frac{1}{1+exp(-v/T)}$
上下划线与花括号
\overline{a+b+c} \\
\underline{a+b+c} \\
\overleftarrow{a+b} \\
\underleftarrow{a+b} \\
\underleftrightarrow{a+b} \\
\vec x = \vec{AB} \\
\overbrace {a+b}^\text{a,b} \\
a+\rlap{\overbrace{\phantom{b+c+d}}^m}b+\underbrace{c+d+e}_n+f
\end{array}
\]
$$
\begin{array}
\overline{a+b+c} \\
\underline{a+b+c} \\
\overleftarrow{a+b} \\
\underleftarrow{a+b} \\
\underleftrightarrow{a+b} \\
\vec x = \vec{AB} \\
\overbrace {a+b}^\text{a,b} \\
a+\rlap{\overbrace{\phantom{b+c+d}}^m}b+\underbrace{c+d+e}_n+f
\end{array}
$$
输入根号
\sqrt {12} \\
\sqrt[n]{12}
\end{align*}
\]
$$
\begin{align*}
\sqrt {12} \\
\sqrt[n]{12}
\end{align*}
$$
输入括号和分隔符
(), [] , | 分别表示原尺寸的形状,由于大括号 {} 在 LaTeX 中有特定含义, 所以使用需要转义, 即\{ 和 \} 分别表示表示{ }。当需要显示大尺寸的上述符号时, 在上述符号前加上 \left 和 \right 命令.
\(\{a\}\)
$f(x,y,z) = 3y^2z 3+(\frac{7x+5}{1+y^2}) \(
\)f(x,y,z) = 3y^2z + \left( 3 +\frac{7x+5}{1+y^2} \right)$
$\{a\}$
$f(x,y,z) = 3y^2z 3+(\frac{7x+5}{1+y^2}) $
$f(x,y,z) = 3y^2z + \left( 3 +\frac{7x+5}{1+y^2} \right)$
关于各种数学符号写法, 详见Cmd Markdown 公式指导手册, 下面主要介绍下常用的 矩阵和多行公式输入 做详细的记录.
矩阵
矩阵中, 不同的列使用 & 分割, 行使用 \\ 分隔
下面展示一系列矩阵环境排版, 区别在于外面的括号不同
&\text{matrix}\quad\begin{matrix} a&b \\ c&d \end{matrix} \quad &\text{bmatrix}\quad\begin{bmatrix} a&b \\ c&d \end{bmatrix} \quad
&\text{vmatrix}\quad\begin{vmatrix} a&b \\ c&d \end{vmatrix} \quad \\
&\text{pmatrix}\quad\begin{pmatrix} a&b \\ c&d \end{pmatrix} \quad
&\text{Bmatrix}\quad\begin{Bmatrix} a&b \\ c&d \end{Bmatrix} \quad
&\text{Vmatrix}\quad\begin{Vmatrix} a&b \\ c&d \end{Vmatrix} \quad\\
\end{align*}
\]
a & b & c \\
d & e & f \\
g & h & i
\end{pmatrix}
\]
\begin{vmatrix}
\lambda - a & -b & -c \\
-d & \lambda - e & -f \\
-g & -h & \lambda - i
\end{vmatrix}
\]
$$
\begin{pmatrix}
a & b & c \\
d & e & f \\
g & h & i
\end{pmatrix}
$$
$$
\chi(\lambda) =
\begin{vmatrix}
\lambda - a & -b & -c \\
-d & \lambda - e & -f \\
-g & -h & \lambda - i
\end{vmatrix}
$$
省略号
\ldots \\
\cdots \\
\vdots \\
\ddots \\
\end{eqnarray*}
\]
$$
\begin{eqnarray*} \\
\ldots \\
\cdots \\
\vdots \\
\ddots \\
\end{eqnarray*}
$$
单行公式与多行公式
equation 环境用来输入单行公式, 自动生成编号, 也可以使用 \tag{...} 自己对公式编号; 使用 equation* 环境, 不会自动生成公式编号, 后续介绍的公式输入环境都是在自动编号后面加上 * 便是不自动编号环境.
(a+b) \times c = a\times c + b \times c
\end{equation}
\]
(a+b) \times c = a\times c + b \times c \\
\end{equation*}
\]
\begin{equation}
(a+b) \times c = a\times c + b \times c \\
\end{equation}
\[ ... \] 是 equation* 环境的简写
\[
(a+b) \times c = a\times c + b \times c \
\]
\\[
(a+b) \times c = a\times c + b \times c \\
\\]
eqnarray 环境用来输入按照等号(或者其他关系符)对齐的方程组, 编号
f(x) = a_nx^n \\
g(x) = x^2
\end{eqnarray}
\]
$$
\begin{eqnarray}
f(x) = a_nx^n \\
g(x) = x^2
\end{eqnarray}
$$
输入多行公式, gather 环境得到的公式是每行居中的, align环境则允许公式按照等号或者其他关系符对齐, 在关系符前加&表示对齐
(a+b) \times c = a\times c + b \times c \notag \\
ac= a\times c \\
\end{gather}
\]
y &= \cos t + 1 \\
y &= 2sin t \\
\end{align}
\]
$$
\begin{gather}
(a+b) \times c = a\times c + b \times c \notag \\
ac= a\times c \\
\end{gather}
$$
$$
\begin{align}
y &= \cos t + 1 \\
y &= 2sin t \\
\end{align}
$$
align 环境还允许排列多列对齐公式, 列与列之间使用&分割
x &= t & x &= \cos t & x &= t \\
y &= 2t & y &= \sin (t+1) & y &= \sin t \\
\end{align*}
\]
& (a+b)(a^2-ab+b^2) \\
= {}& a^3-a^2b+ab^2+a^2b-ab^2+b^2 \\
= {}& a^3 + b^3
\end{align*}
\]
$$
\begin{align*}
x &= t & x &= \cos t & x &= t \\
y &= 2t & y &= \sin (t+1) & y &= \sin t \\
\end{align*}
$$
$$
\begin{align*}
& (a+b)(a^2-ab+b^2) \\
= {}& a^3-a^2b+ab^2+a^2b-ab^2+b^2 \\
= {}& a^3 + b^3
\end{align*}
$$
align 环境中列分隔符 & 一般放在关系符前面, 如果个别需要再关系符后面或者别的地方对齐的, 则应该注意使用的符号类型
% 代替关系符右侧符号,保证间距
\begin{align*}
& (a+b)(a^2-ab+b^2) \notag \\
={ } & a^3 - a^2b + ab^2 + a^2b
- ab^2 + b^2 \notag \\
={ } & a^3 + b^3 \label{eq:cubesum}
\end{align*}
\]
$$
% 关系符后对齐,需要使用空的分组
% 代替关系符右侧符号,保证间距
\begin{align*}
& (a+b)(a^2-ab+b^2) \notag \\
={ } & a^3 - a^2b + ab^2 + a^2b
- ab^2 + b^2 \notag \\
={ } & a^3 + b^3 \label{eq:cubesum}
\end{align*}
$$
跨多行的单个公式
单个公式很长的时候需要换行,但仅允许生成一个编号时,可以用 split 环境包围公式代码,在需要转行的地方使用 \. split 环境一般用在 equation, gather 环境里面, 可以把单个公式拆成多行, 同时支持 align 那样对齐公式.
split 环境不产生编号, 编号由外面的数学环境产生; 每行需要使用1个&来标识对齐的位置,结束后可使用 \tag{...} 标签编号。 如果 split 环境中某一行不是在二元关系符前面对齐, 需要通过 \quad 等手段设置间距或对齐方式.
\begin{equation}
\begin{split}
\cos 2x &= \cos^2 x - \sin^2 x \\
&= 2\cos^2 x - 1
\end{split} \tag{3.1}
\end{equation}
\]
\begin{split}
\frac12 (\sin(x+y) + \sin(x-y))
&= \frac12(\sin x\cos y + \cos x\sin y) \\
& \quad + \frac12(\sin x\cos y - \cos x\sin y) \\
&= \sin x\cos y
\end{split}
\end{equation}
\]
$$
% 注意 \tag{...} 编号的位置
\begin{equation}
\begin{split}
\cos 2x &= \cos^2 x - \sin^2 x \\
&= 2\cos^2 x - 1
\end{split} \tag{3.1}
\end{equation}
$$
$$
\begin{equation}\label{eq:trigonometric}
\begin{split}
\frac12 (\sin(x+y) + \sin(x-y))
&= \frac12(\sin x\cos y + \cos x\sin y) \\
& \quad + \frac12(\sin x\cos y - \cos x\sin y) \\
&= \sin x\cos y
\end{split}
\end{equation}
$$
将公式组合为块
最常见的是 case 环境, 他在几行公式前面用花括号括起来, 表示几种不同的情况; 每行公式使用 & 分隔, 便是表达式与条件, 例如
D(x) = \begin{cases}
1, & \text{if } x \in \mathbb{Q}; \\
0, & \text{if } x \in
\mathbb{R}\setminus\mathbb{Q}.
\end{cases}
\end{equation}
\]
$$
\begin{equation}
D(x) = \begin{cases}
1, & \text{if } x \in \mathbb{Q}; \\
0, & \text{if } x \in
\mathbb{R}\setminus\mathbb{Q}.
\end{cases}
\end{equation}
$$
gathered环境 将几行公式居中排列, 组合为一个整体;
S \subseteq T \\
S \supseteq T
\end{gathered} \right\}
\implies S = T
\]
$$
\left. \begin{gathered}
S \subseteq T \\
S \supseteq T
\end{gathered} \right\}
\implies S = T
$$
括号的其他用法
| 功能 | 语法 | 显示 |
|---|---|---|
| 圆括号,小括号 | \left( \frac{a}{b} \right) | \(\left( \frac{a}{b} \right)\) |
| 方括号,中括号 | \left[ \frac{a}{b} \right] | \(\left[ \frac{a}{b} \right]\) |
| 花括号,大括号 | \left\{ \frac{a}{b} \right\} | \(\left\{ \frac{a}{b} \right \}\) |
| 尖括号 | \left \langle \frac{a}{b} \right \rangle | \(\left \langle \frac{a}{b} \right \rangle\) |
| 单竖线,绝对值 | \left | \frac{a}{b} \right| | 丨\(\frac{a}{b}\)丨 |
| 双竖线,范式 | \left \| \frac{a}{b} \right \| | \(\left \| \frac{a}{b} \right \|\) |
| 取整函数 | \left \lfloor \frac{a}{b} \right \rfloor | \(\left \lfloor \frac{a}{b} \right \rfloor\) |
| 取顶函数 | \left \lceil \frac{c}{d} \right \rceil | \(\left \lceil \frac{c}{d} \right \rceil\) |
| 斜线与反斜线 | \left / \frac{a}{b} \right \backslash | $\left / \frac{a}{b} \right \backslash $ |
| 上下箭头 | \left \uparrow \frac{a}{b} \right \downarrow | \(\left \uparrow \frac{a}{b} \right \downarrow\) |
| 混合括号1 | \left [ 0,1 \right ) | \(\left [ 0,1 \right )\) |
| 混合括号2 | \left \langle \psi \right\| | \(\left \langle \psi \right \|\) |
| 单左括号 | \left \{ \frac{a}{b} \right . | \(\left \{ \frac{a}{b} \right .\) |
| 单右括号 | \left . \frac{a}{b} \right \} | \(\left . \frac{a}{b} \right \}\) |
希腊字母
| 希腊字母(小写) | 输入 | 希腊字母(大写) | 输入 |
|---|---|---|---|
| α | \alpha | Α | A |
| β | \beta | Β | B |
| γ | \gamma | Γ | \Gamma |
| δ | \delta | Δ | \Delta |
| ε或ϵ | \epsilon或\varepsilon | Ε | E |
| ζ | \zeta | Ζ | Z |
| η | \eta | Η | H |
| θ或ϑ | \theta或\vartheta | Θ | \Theta |
| ι | \iota | Ι | I |
| κ | \kappa | Κ | K |
| λ | \lambda | Λ | \Lambda |
| μ | \mu | Μ | M |
| ν | \nu | Ν | N |
| ξ | \xi | Ξ | \Xi |
| ο | o | Ο | O |
| π或ϖ | \pi或\varpi | Π | \Pi |
| ρ或ϱ | \rho或\varrho | Ρ | P |
| σ或ς | \sigma或\varsigma | Σ | \Sigma |
| τ | \tau | Τ | T |
| υ | \upsilon | Υ | \Upsilon |
| φ或φ | \phi或\varphi | Φ | \Phi |
| χ | \chi | Χ | X |
| ψ | \psi | Ψ | \Psi |
| ω | \omega | Ω | \Omega |
三角函数与逻辑数学字符
| 数学字符 | 输入 | 数学字符 | 输入 |
|---|---|---|---|
| ± | \pm | × | \times |
| ÷ | \div | | | \mid |
| \(\nmid\) | \nmid | ⋅ | \cdot |
| ∘ | \circ | ∗ | \ast |
| ⨀ | \bigodot | ⨂ | \bigotimes |
| ⨁ | \bigoplus | ≤ | \leq |
| ≥ | \geq | ≠ | \neq |
| ≈ | \approx | ≡ | \equiv |
| ∑ | \sum | ∏ | \prod |
| ∐ | \coprod | ∅ | \emptyset |
| ∈ | \in | ∉ | \notin |
| ⊂ | \subset | ⊃ | \supset |
| ⊆ | \subseteq | ⊇ | \supseteq |
| ⋂ | \bigcap | ⋃ | \bigcup |
| ⋁ | \bigvee | ⋀ | \bigwedge |
| ⨄ | \biguplus | ⨆ | \bigsqcup |
| log | \log | lg | \lg |
| ln | \ln | ⊥ | \bot |
| ∠ | \angle | 30^∘ | 30 ^ \circ |
| sin | \sin | cos | \cos |
| tan | \tan | cot | \cot |
| ′ | \prime | ∫ | \int |
| ∬ | \iint | ∭ | \iiint |
| ⨌ | \iiiint | ∮ | \oint |
| lim | \lim | ∞ | \infty |
| ∇ | \nabla | ∵ | \because |
| ∴ | \therefore | ∀ | \forall |
| ∃ | \exists | ≠ | \not= |
| ≯ | \not> | ⊄ | \not\subset |
| ŷ | \hat{y} | yˇ | \check{y} |
| y˘ | \breve{y} | sec | \sec |
| ↑ | \uparrow | ↓ | \downarrow |
| ⇑ | \Uparrow | ⇓ | \Downarrow |
| → | \rightarrow | ← | \leftarrow |
| ⇒ | \Rightarrow | ⇐ | \Leftarrow |
| ⟶ | \longrightarrow | ⟵ | \longleftarrow |
| ⟹ | \Longrightarrow | ⟸ | \Longleftarrow |
| \(\quad\) | \quad | # | # |
参考
Markdown中编写LaTeX数学公式
Markdown下LaTeX公式、编号、对齐
<<LaTeX入门>> 刘海洋
随机推荐
- Python怎么样入门?Python基础入门教程
给大家整理的这套python学习路线图,按照此教程一步步的学习来,肯定会对python有更深刻的认识.或许可以喜欢上python这个易学,精简,开源的语言.此套教程,不但有视频教程,还有源码分享,让大 ...
- HDOJ2000-ASCII码排序
Problem Description 输入三个字符后,按各字符的ASCII码从小到大的顺序输出这三个字符. Input 输入数据有多组,每组占一行,有三个字符组成,之间无空格. Output ...
- 【javascript】数组的操作
一.常用操作 toString():把数组转换成一个字符串 toLocaleString():把数组转换成一个字符串 join():把数组转换成一个用符号连接的字符串 shift():将数组头部 ...
- webIDE 第二篇博文
这是我做webIDE过程中的第二篇博文,之所以隔了这么长时间没更,因为确实是没有啥进度啊,没什么可写的,现在虽然依然没啥进度,但中途遇到很多坑,这些坑还是有记录下来的必要的. 因个人水平问题,可能有的 ...
- maven单元测试设置代理
背景 环境需要设置代理才能够访问外部网络,如果只是运行java程序来访问网络,我们可以通过java -jar test.jar -DproxyHost=proxy_ip -DproxyPort=pro ...
- 51nod 1130 N的阶乘的长度(斯特林近似)
输入N求N的阶乘的10进制表示的长度.例如6! = 720,长度为3. Input 第1行:一个数T,表示后面用作输入测试的数的数量.(1 <= T <= 1000) 第2 - T + ...
- 移动玩具[HAOI2008]
题目描述 在一个4*4的方框内摆放了若干个相同的玩具,某人想将这些玩具重新摆放成为他心中理想的状态,规定移动时只能将玩具向上下左右四个方向移动,并且移动的位置不能有玩具,请你用最少的移动次数将初始的玩 ...
- null == undefined ?
最近在看<JavaScript高级程序设计>一书,书中讲到相等操作符(==)时说,要比较相等性之前,不能将 null 和 undefined 转换成其他任何值,但要记住 null == u ...
- 蓝桥杯算法训练_2的次幂表示+前缀表达式+Anagrams问题+出现次数最多的整数
今天做了4个简单的题,题目虽然是简单,但是对于我这样的小白,还是有很多东西需要学习的. 2的次幂表示 上面就是题目,题目说的也很清晰了,接下来就是递归的实现: #include<iostream ...
- [您有新的未分配科技点]无旋treap:从好奇到入门(例题:bzoj3224 普通平衡树)
今天我们来学习一种新的数据结构:无旋treap.它和splay一样支持区间操作,和treap一样简单易懂,同时还支持可持久化. 无旋treap的节点定义和treap一样,都要同时满足树性质和堆性质,我 ...