LaTex學習
前言
偶然想起來已經說了很久要學LaTex然而一直沒什麼動靜了,被問到如何在上標裏放下標
,本以爲是x^R~n~^
結果在markdown裏打出來是xR~n~
淦,markdown的上下標似乎不能嵌套。
好的,那麼趁機學學LaTex好了。先擺出效果圖:
文章目錄
理解和運用
以下內容主要參考Markdown中寫數學公式[2]和Markdown下LaTeX公式、編號、對齊[3]以及CSDN Markdown 公式指導手冊[4]
塊級(block)公式/行內(inline)公式
LaTex都會用$包裹起來。比如$$……$$
和$……$
,區別在於$$是塊級公式,會獨佔一行,例如
而$是行內公式,例如不會換行。
PS:這裏額外提醒使用typora的小夥伴,你們會發現當你們鍵入$$E=mc^2$$
的時候並不能打出換行的效果,看起來和行內的沒有任何區別,這是typora處理上略微不同的地方(我比較認可),引用一下一位博主講如何在typora裏使用塊級公式[1]
- 點擊“段落”—>“公式塊”
- 快捷鍵Ctrl+Shift+m
- “$$”+回車
試了便明白,對於typora來說會有這樣的公式編輯界面(還會實時提示公式錯誤)
本質上說,typora只是強制要求$$之間必須以單一換行符隔開,因爲$$語義上本身便是換行公式,這樣保證了代碼的可讀性(md本身算代碼這沒毛病吧?)
後面的內容我都將分別以源公式和效果展示。
隨便一個公式
$$y=ax+b$$
公式上下標及移至正上下方
^
符號表示上標,_
表示下標,上下標可以相互嵌套。
上下標僅支持一個內容,用{}
包裹可以將一多個內容作爲一個整體
$y=a^x$
$y=x_1+x_2$
$y=a_1^x$
$y=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$
以上公式如果使用塊級公式,則不需要加\limits
,LaTex會將上下標自動調整到正上方正下方
括號、絕對值和範式、向上向下取整
()
,[]
都是表示自己,但是{}
在LaTex裏有特殊作用,用\lbrace
和\rbrace
表示。\langle
對應 ,\rangle
對應。
絕對值的豎線還是|
,不過範式的雙豎線是\|
。
$$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)
$$
哦還有兩個括號,向上和向下取整
$$
\lfloor x\rfloor+\lceil x\rceil
$$
分數
有\frac{分子}{分母}
和\cfrac{分子}{分母}
,二者區別在於後者會把這一行撐開,不會太擠。
$\frac{x^{a_1}+3}{3}$
$\cfrac{x^{a_1}+3}{3}$
不帶c 會適應這一行
帶c 會把這一行撐開
便捷情況可直接輸入\cfrac ab
來快速生成一個
開方
開方使用\sqrt[次數]{被開方數}
這樣的語法
$\sqrt[4]{16}$
$\sqrt{x+5}$
矢量
$$
\vec{a}\cdot\vec{b}
$$
積分與極限
積分
使用\mathrm{d}
讓微分符號d
“豎起來”。
積分的上下限默認使用上下標。
$$
\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$
極限
使用\lim
輸入取極限符號,其趨近箭頭是\to
,整體需要使用\limits_{}
,將下標移至正下方(注:如果是塊級公式可以不用\limits_{}
,直接使用下標_
即可)。
$$
\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)}$
特殊符號、函數
符號 | LaTex | |
---|---|---|
所有 | \forall |
|
存在 | \exist |
|
無窮 | \infty |
|
我也不知道叫什麼 | \hat{x} |
|
角 | \angle |
|
度 | 30^\circ |
|
正負 | \pm |
|
點乘 | \cdot |
|
大於等於 | \geq |
|
小於等於 | \leq |
|
約等於 | \approx |
|
不等於 | \neq |
|
普朗克常量 | \hbar |
|
積分 | \int |
|
重積分 | \iint |
|
三重積分 | \iiint |
|
多重積分 | KaTeX parse error: Expected 'EOF', got '\idotsint' at position 1: \̲i̲d̲o̲t̲s̲i̲n̲t̲ | \idotsint |
環路積分 | \oint | |
乘 | \times |
|
除 | \div |
|
正弦函數 | \sin |
|
餘弦函數 | \cos |
|
自然對數函數 | \ln |
|
對數函數 | \log |
|
以10爲底的對數函數 | \lg |
|
屬於 | \in |
|
不屬於 | \notin |
|
真子集 | \subset |
|
子集 | \subseteq |
|
真子集 | \supset |
|
子集 | \supseteq |
|
以上加非 | \not\subset |
|
\not\subseteq |
||
\not\supset |
||
\not\supseteq |
||
空集 | \emptyset |
|
空集 | \varnothing |
|
並集 | \bigcup |
|
交集 | \bigcap |
|
析取 | \bigvee |
|
合取 | \bigwedge |
|
以上去掉\big 會變小 |
||
邏輯非 | \neg |
|
蘊含 | \rightarrow |
|
雙條件 | \leftrightarrow |
|
推出 | \Rightarrow |
|
等價 | \Leftrightarrow |
|
因爲 | \because |
|
所以 | \therefore |
希臘字母什麼的我就不摘上來了,給參考鏈接比較方便(用的不多主要是)
MarkDown 中使用 LaTeX 數學式-希臘字母[5]
集合
直接看上面的表吧,集合主要就是這些運算符號啦
矩陣
矩陣排版主要是需要矩陣的環境:使用\begin{環境}
,使用&
對齊,&
表示一列。
一般矩陣環境如下:
- matrix:無
- bmatrix:方括號
- vmatrix:豎線
- pmatrix:圓括號
- Bmatrix:花括號
- Vmatrix:雙豎線
舉例:
$$
\begin{matrix}
1&2&1\\
-1&0&-5\\
1&1&3
\end{matrix}
$$
其他的如下表格:
環境 | 解釋 | 效果 |
---|---|---|
matrix | 無 | |
bmatrix | 方括號 | |
vmatrix | 豎線 | |
pmatrix | 圓括號 | |
Bmatrix | 花括號 | |
Vmatrix | 雙豎線 |
公式標籤(序號)和引用
公式標籤是指公式右邊括號裏的內容。
手動編號
$$
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
環境默認是單個公式,所以強制換行會導致使用的多行公式只有一個編號,而且這個編號還是在首行,非常醜。比如:
想要把多個公式放在一起,推薦使用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中寫數學公式