[markdown]LaTex學習

LaTex學習

前言

偶然想起來已經說了很久要學LaTex然而一直沒什麼動靜了,被問到如何在上標裏放下標,本以爲是x^R~n~^結果在markdown裏打出來是xR~n~

淦,markdown的上下標似乎不能嵌套。

好的,那麼趁機學學LaTex好了。先擺出效果圖:xRnx^{R_n}

理解和運用

以下內容主要參考Markdown中寫數學公式[2]Markdown下LaTeX公式、編號、對齊[3]以及CSDN Markdown 公式指導手冊[4]

塊級(block)公式/行內(inline)公式

LaTex都會用$包裹起來。比如$$……$$$……$,區別在於$$是塊級公式,會獨佔一行,例如

E=mc2 E=mc^2

而$是行內公式,例如E=mc2E=mc^2​不會換行。

PS:這裏額外提醒使用typora的小夥伴,你們會發現當你們鍵入$$E=mc^2$$的時候並不能打出換行的效果,看起來和行內的沒有任何區別,這是typora處理上略微不同的地方(我比較認可),引用一下一位博主講如何在typora裏使用塊級公式[1]

  • 點擊“段落”—>“公式塊”
  • 快捷鍵Ctrl+Shift+m
  • “$$”+回車

試了便明白,對於typora來說會有這樣的公式編輯界面(還會實時提示公式錯誤)

在這裏插入圖片描述

本質上說,typora只是強制要求$$之間必須以單一換行符隔開,因爲$$語義上本身便是換行公式,這樣保證了代碼的可讀性(md本身算代碼這沒毛病吧?)

後面的內容我都將分別以源公式效果展示。

隨便一個公式

$$y=ax+b$$

y=ax+b y=ax+b

公式上下標及移至正上下方

^符號表示上標,_表示下標,上下標可以相互嵌套。

上下標僅支持一個內容,用{}包裹可以將一多個內容作爲一個整體

$y=a^x$
$y=x_1+x_2$
$y=a_1^x$
$y=a^{x_1+x_2^2}$

y=axy=a^x
y=x1+x2y=x_1+x_2
y=a1xy=a_1^x
y=ax1+x22y=a^{x_1+x_2^2}

如果需要將上下標移至正上方或者正下方則依然是_{}^{},不過需要使用/limit_{}/limit^{},如果同時有上下只需要一個\limits在前面即可。

下面拿取極限和求和的情況演示:

$\lim\limits_{x\to c}f(x)$
$\sum\limits_{i=1}^{n}a_i+b_i$

limxcf(x)\lim\limits_{x\to c}f(x)​

i=1nai+bi\sum\limits_{i=1}^{n}a_i+b_i​

以上公式如果使用塊級公式,則不需要加\limits,LaTex會將上下標自動調整到正上方正下方
limxcf(x) \lim\limits_{x\to c}f(x)

i=1nai+bi \sum_{i=1}^{n}a_i+b_i

括號、絕對值和範式、向上向下取整

(),[]都是表示自己,但是{}在LaTex裏有特殊作用,用\lbrace\rbrace表示。\langle對應\langle\rangle對應\rangle

絕對值的豎線還是|,不過範式的雙豎線是\|

$$f(x, y) = 100 * \lbrace[(|x| + y + \|z\|) * 3] - 5\rbrace$$

f(x,y)=100{[(x+y+z)3]5} f(x, y) = 100 * \lbrace[(|x| + y + \|z\|) * 3] - 5\rbrace

如果需要讓括號變大,不管是(),[],{},直接在符號前面加\left,\right即可。

$$
f(x,y,z) = 3y^2z \left( 3+\frac{7x+5}{1+y^2} \right)
$$

f(x,y,z)=3y2z(3+7x+51+y2) f(x,y,z) = 3y^2z \left( 3+\frac{7x+5}{1+y^2} \right)

哦還有兩個括號,向上和向下取整

$$
\lfloor x\rfloor+\lceil x\rceil
$$

x+x \lfloor x\rfloor+\lceil x\rceil

分數

\frac{分子}{分母}\cfrac{分子}{分母},二者區別在於後者會把這一行撐開,不會太擠。

$\frac{x^{a_1}+3}{3}$
$\cfrac{x^{a_1}+3}{3}$

不帶c xa1+33\frac{x^{a_1}+3}{3} 會適應這一行

帶c xa1+33\cfrac{x^{a_1}+3}{3}​會把這一行撐開

便捷情況可直接輸入\cfrac ab來快速生成一個12\cfrac 12

開方

開方使用\sqrt[次數]{被開方數}這樣的語法

$\sqrt[4]{16}$
$\sqrt{x+5}$

164=2\sqrt[4]{16}=2

x+5\sqrt{x+5}​

矢量

$$
\vec{a}\cdot\vec{b}
$$

ab \vec{a}\cdot\vec{b}

積分與極限

積分

使用\mathrm{d}讓微分符號d“豎起來”。

積分的上下限默認使用上下標。

$$
\int_{-\infty}^{+\infty}{x^2}\mathrm{d}x
$$

+x2dx \int_{-\infty}^{+\infty}{x^2}\mathrm{d}x

而對重積分,二重積分是\iint,三重積分是\iint,以此類推,更多重可以使用\idotsint

由於重積分的上下限由往往不再是上下限,而是集合形式在積分符號正下方,故需要使用\limits_,對於上方則是\limits^

$\iint\limits_{(x,y)\in D}{f(x,y)}\mathrm{d}x\mathrm{d}y$

(x,y)Df(x,y)dxdy \iint\limits_{(x,y)\in D}{f(x,y)}\mathrm{d}x\mathrm{d}y

極限

使用\lim輸入取極限符號,其趨近箭頭是\to,整體需要使用\limits_{},將下標移至正下方(注:如果是塊級公式可以不用\limits_{},直接使用下標_即可)。

$$
\lim\limits_{n\to+\infty} \cfrac{1}{n(n+1)}
$$

limn+1n(n+1) \lim\limits_{n\to+\infty} \cfrac{1}{n(n+1)}

求和與求積

使用\sum,\prod分別表示求和與求積,上下標同樣使用\limits_{}\limits^{}移動至正上方/正下方

$\sum\limits^n_{i=1}i\times (i+1)$
$\prod\limits^n_{i=1}\cfrac{i}{(i+1)}$

i=1ni×(i+1)\sum\limits^n_{i=1}i\times (i+1)​

i=1ni(i+1)\prod\limits^n_{i=1}\cfrac{i}{(i+1)}

特殊符號、函數

符號 LaTex
所有 \forall \forall
存在 \exist \exist
無窮 \infty \infty
我也不知道叫什麼 x^\hat{x} \hat{x}
\angle \angle
3030^\circ 30^\circ
正負 ±\pm \pm
點乘 \cdot \cdot
大於等於 \geq \geq
小於等於 \leq \leq
約等於 \approx \approx
不等於 \neq \neq
普朗克常量 \hbar \hbar
積分 \int \int
重積分 \iint \iint
三重積分 \iiint \iiint
多重積分 KaTeX parse error: Expected 'EOF', got '\idotsint' at position 1: \̲i̲d̲o̲t̲s̲i̲n̲t̲ \idotsint
環路積分 \oint \oint
×\times \times
÷\div \div
正弦函數 sin\sin \sin
餘弦函數 cos\cos \cos
自然對數函數 ln\ln \ln
對數函數 loglog \log
以10爲底的對數函數 lg\lg \lg
屬於 \in \in
不屬於 \notin \notin
真子集 \subset \subset
子集 \subseteq \subseteq
真子集 \supset \supset
子集 \supseteq \supseteq
以上加非 ̸\not\subset \not\subset
̸\not\subseteq \not\subseteq
̸\not\supset \not\supset
̸\not\supseteq \not\supseteq
空集 \empty \emptyset
空集 \varnothing \varnothing
並集 \bigcup \bigcup
交集 \bigcap \bigcap
析取 \bigvee \bigvee
合取 \bigwedge \bigwedge
以上去掉\big會變小
邏輯非 ¬\neg \neg
蘊含 \rightarrow \rightarrow
雙條件 \leftrightarrow \leftrightarrow
推出 \Rightarrow \Rightarrow
等價 \Leftrightarrow \Leftrightarrow
因爲 \because \because
所以 \therefore \therefore

希臘字母什麼的我就不摘上來了,給參考鏈接比較方便(用的不多主要是)

MarkDown 中使用 LaTeX 數學式-希臘字母[5]

集合

直接看上面的表吧,集合主要就是這些運算符號啦

矩陣

矩陣排版主要是需要矩陣的環境:使用\begin{環境},使用&對齊,&表示一列。

一般矩陣環境如下:

  • matrix:無
  • bmatrix:方括號
  • vmatrix:豎線
  • pmatrix:圓括號
  • Bmatrix:花括號
  • Vmatrix:雙豎線

舉例:

$$
\begin{matrix}
1&2&1\\
-1&0&-5\\
1&1&3
\end{matrix}
$$

121105113 \begin{matrix} 1&2&1\\ -1&0&-5\\ 1&1&3 \end{matrix}

其他的如下表格:

環境 解釋 效果
matrix 121105113\begin{matrix}1&2&1\\-1&0&-5\\1&1&3\end{matrix}
bmatrix 方括號 [121105113]\begin{bmatrix}1&2&1\\-1&0&-5\\1&1&3\end{bmatrix}
vmatrix 豎線 121105113\begin{vmatrix}1&2&1\\-1&0&-5\\1&1&3\end{vmatrix}
pmatrix 圓括號 (121105113)\begin{pmatrix}1&2&1\\-1&0&-5\\1&1&3\end{pmatrix}
Bmatrix 花括號 {121105113}\begin{Bmatrix}1&2&1\\-1&0&-5\\1&1&3\end{Bmatrix}
Vmatrix 雙豎線 121105113\begin{Vmatrix}1&2&1\\-1&0&-5\\1&1&3\end{Vmatrix}

公式標籤(序號)和引用

公式標籤是指公式右邊括號裏的內容。

手動編號

$$
y=ax+b\tag{a}
$$

(a)y=ax+b y=ax+b\tag{a}

自動編號

其實可以看到,從上面第一個塊級公式開始,後面就有個小尾巴表示其編號,這是自動編號,僅適用塊級公式。一般比起手動編號,自動編號更易於維護。(不然你修改的時候前面插一個公式進來,後面的序號都得手動改)

$$
\begin{equation}
y=ax+b
\end{equation}
$$

KaTeX parse error: No such environment: equation at position 8: \begin{̲e̲q̲u̲a̲t̲i̲o̲n̲}̲ y=ax+b \end{eq…

這裏要注意的是,在markdown下擴展的LaTex裏,一處有\begin{equation} ...\end{equation}就相當於處處都有(即塊級公式處處都會自動編號)

如果想要取消特定塊級公式的編號,用euqation*

$$
\begin{equation*}
y=ax+b
\end{equation*}
$$	

KaTeX parse error: No such environment: equation at position 8: \begin{̲e̲q̲u̲a̲t̲i̲o̲n̲}̲ y=ax+b \end{eq…

公式引用

公式引用很方便,但是需要給其一個標籤(label)\label{eq:公式名}

$$
y=ax+b\label{eq:linear}
$$

KaTeX parse error: Expected 'EOF', got '\label' at position 8: y=ax+b\̲l̲a̲b̲e̲l̲{eq:linear}

然後可以在行內公式裏使用標籤即可引用\eqref{eq:公式名}

公式$\eqref{eq:linear}$很重要

公式KaTeX parse error: Expected 'EOF', got '\eqref' at position 1: \̲e̲q̲r̲e̲f̲{eq:linear}很重要

注意,塊級公式也可以使用引用,只是一般引用公式的時候在文字使用的較多。

塊級公式換行與對齊

如果塊級公式想要換行怎麼辦?

多公式的換行與對齊

Latex中的換行是\\,而equation環境默認是單個公式,所以強制換行會導致使用的多行公式只有一個編號,而且這個編號還是在首行,非常醜。比如:
y=ax+bz=cx+dy y=ax+b\\ z=cx+dy
想要把多個公式放在一起,推薦使用align環境(同樣加*可以避免編號),使用\\換行。

對齊的規則是:把&當作列分隔符(一條豎線),LaTeX將每行&前面的部分對齊(默認每行結尾有一個&),具體可以參考下面的公式和圖

$$
\begin{align}
y&=a^x \\
y&=x_1+x_2\\
y&==a^{x_1+x_2^2}\\
a+b=b+a\label{eq:test1}\\
&&a\times b=b\times a\label{eq:test2}\\
&a\times b=b\times a\label{eq:test3}
\end{align}
$$

KaTeX parse error: No such environment: align at position 8: \begin{̲a̲l̲i̲g̲n̲}̲ y&=a^x \\ y&=x…

比如最後公式KaTeX parse error: Expected 'EOF', got '\eqref' at position 1: \̲e̲q̲r̲e̲f̲{eq:test1}​是默認結尾的&作爲其第一個對齊符號,與其餘公式的第一個&的前部分(y)對齊。

公式KaTeX parse error: Expected 'EOF', got '\eqref' at position 1: \̲e̲q̲r̲e̲f̲{eq:test2}則是有兩個&,對應上面公式的兩個&對齊,公式KaTeX parse error: Expected 'EOF', got '\eqref' at position 1: \̲e̲q̲r̲e̲f̲{eq:test3}只有一個&在最前面。

在這裏插入圖片描述

單公式的換行與對齊

單公式就很簡單了,直接使用在equation的環境下嵌套split環境+\\來換行,注意,如果不加equation的環境是沒法編號的。

和上面&對齊同理

$$
\begin{equation}
\begin{split}
\cos2x&=\cos^2x-\sin^2x\\
&=2\cos^2x-1\\
&=1-2sin^2x
\end{split}
\end{equation}
$$

KaTeX parse error: No such environment: equation at position 8: \begin{̲e̲q̲u̲a̲t̲i̲o̲n̲}̲ \begin{split} …

其他操作

據說加上/large,/small可以調整大小。

參考資料

[1] 使用Typora添加數學公式

[2] Markdown中寫數學公式

[3] Markdown下LaTeX公式、編號、對齊

[4] CSDN Markdown 公式指導手冊

[5] MarkDown 中使用 LaTeX 數學式

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章