天天看點

MarkDown 中使用 LaTeX 數學式

MarkDown 中使用 LaTeX 數學式
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)}$
           

上下劃線與花括号

\[\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}

\]

$$
\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}
$$
           

輸入根号

\[\begin{align*}

\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 公式指導手冊, 下面主要介紹下常用的 矩陣和多行公式輸入 做詳細的記錄.

矩陣

矩陣中, 不同的列使用

&

分割, 行使用

\\

分隔

下面展示一系列矩陣環境排版, 差別在于外面的括号不同

\[\begin{align*}

&\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*}

\]

\[\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}

\]

$$
\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}
$$

           

省略号

\[\begin{eqnarray*} \\

\ldots \\

\cdots \\

\vdots \\

\ddots \\

\end{eqnarray*}

\]

$$
\begin{eqnarray*} \\
\ldots \\
\cdots \\
\vdots \\
\ddots \\
\end{eqnarray*}
$$
           

單行公式與多行公式

equation

環境用來輸入單行公式, 自動生成編号, 也可以使用 \tag{...} 自己對公式編号; 使用

equation*

環境, 不會自動生成公式編号, 後續介紹的公式輸入環境都是在自動編号後面加上

*

便是不自動編号環境.

\[\begin{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*}

\]

\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

環境用來輸入按照等号(或者其他關系符)對齊的方程組, 編号

\[\begin{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

環境則允許公式按照等号或者其他關系符對齊, 在關系符前加

&

表示對齊

\[\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}

\]

$$
\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

環境還允許排列多列對齊公式, 列與列之間使用

&

分割

\[\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*}

\]

$$
\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 等手段設定間距或對齊方式.

\[% 注意 \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}

\]

$$
% 注意 \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 環境

, 他在幾行公式前面用花括号括起來, 表示幾種不同的情況; 每行公式使用 & 分隔, 便是表達式與條件, 例如

\[\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}

\]

$$
\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環境

将幾行公式居中排列, 組合為一個整體;

\[\left. \begin{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} \check{y}
\breve{y} sec \sec
\uparrow \downarrow
\Uparrow \Downarrow
\rightarrow \leftarrow
\Rightarrow \Leftarrow
\longrightarrow \longleftarrow
\Longrightarrow \Longleftarrow
\(\quad\) \quad # #

參考

Markdown中編寫LaTeX數學公式

Markdown下LaTeX公式、編号、對齊

<<LaTeX入門>> 劉海洋