1. 程式人生 > 實用技巧 >MarkDown 中使用 LaTeX 數學式

MarkDown 中使用 LaTeX 數學式

MarkDown 中使用 LaTeX 數學式

參考:

https://www.cnblogs.com/nowgood/p/Latexstart.html

目錄

最近看了些機器學習的書籍, 想寫點筆記記錄下. 由於需要使用到很多的數學推導, 所以就看了下如何在 Markdown 中插入數學式,發現在 Markdown 中可以直接插入 LaTeX 數學式.

排版數學公式是 TEXTEX 系統設計的初衷, 在 LATEXLATEX 中佔有特殊地位, 是 LATEXLATEX 最為人稱道的功能之一, 很多人就是衝著 LATEXLATEX 的公式輸入功能來的:), 如我... 下面簡要介紹下 MarkDown 中如何使用 LATEXLATEX 輸入數學公式.

數學模式

在 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_nxn+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^2z3+(\frac{7x+5}{1+y^2}) $
$f(x,y,z) = 3y^2z + \left( 3 +\frac{7x+5}{1+y^2} \right)$

關於各種數學符號寫法, 詳見Cmd Markdown 公式指導手冊, 下面主要介紹下常用的 矩陣和多行公式輸入 做詳細的記錄.

矩陣

矩陣中, 不同的列使用 & 分割, 行使用 \\ 分隔

下面展示一系列矩陣環境排版, 區別在於外面的括號不同

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

省略號

$$
\ \ldots \ \cdots \ \vdots \ \ddots \
$$

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

\[ ... \]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)(a2-ab+b2) \ = {}& a3-a2b+ab2+a2b-ab2+b2 \ = {}& 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)(a2-ab+b2) \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}
\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) (ab)(ab)
方括號,中括號 \left[ \frac{a}{b} \right] [ab][ab]
花括號,大括號 \left{ \frac{a}{b} \right} {ab}{ab}
尖括號 \left \langle \frac{a}{b} \right \rangle ⟨ab⟩⟨ab⟩
單豎線,絕對值 \left | \frac{a}{b} \right| 丨abab丨
雙豎線,正規化 \left | \frac{a}{b} \right | ∥∥ab∥∥‖ab‖
取整函式 \left \lfloor \frac{a}{b} \right \rfloor ⌊ab⌋⌊ab⌋
取頂函式 \left \lceil \frac{c}{d} \right \rceil ⌈cd⌉⌈cd⌉
斜線與反斜線 \left / \frac{a}{b} \right \backslash /ab/ab\
上下箭頭 \left \uparrow \frac{a}{b} \right \downarrow ↑⏐⏐ab⏐↓⏐↑ab↓
混合括號1 \left [ 0,1 \right ) [0,1)[0,1)
混合括號2 \left \langle \psi \right| ⟨ψ∥⟨ψ‖
單左括號 \left { \frac{a}{b} \right . {ab{ab
單右括號 \left . \frac{a}{b} \right } ab}ab}

希臘字母

希臘字母(小寫) 輸入 希臘字母(大寫) 輸入
α \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 \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 # #

參考

Markdown中編寫LaTeX數學公式
Markdown下LaTeX公式、編號、對齊
<<LaTeX入門>> 劉海洋