更新時間:2019.10.02
1. 序言
當我們首次在文檔中輸入公式的時候,我們首先想到的是word,畢竟這是我們極為常用的三件套之一。事實上,使用word的墨跡公式(磨嘰???)寫一個簡單的數學公式也還是比較方便的。然而,當我們需要大量輸入復雜的數學公式時,用word就十分崩潰了。這一天,我終於想起一度被word所支配的恐怖和手輸了一晚上數學公式的屈辱???
。
為了不讓噩夢重現,下面來總結一下latex這個無敵排版工具的常用用法(分成幾篇來講)。當然,學習latex不但對日后的論文科研有極大的好處,而且jupyter notebook上也支持latex的輸入。
2. 命令介紹
在提及怎么進行公式輸入之前,我們先了解一下latex的命令是長什么樣子的。
- 無參數命令:主要是以\command的形式輸入,例如
\hline
- 有n個參數命令:主要是以\command{parameter 1}{parameter 2}\(\cdots\){parameter n}的形式輸入,例如
\begin{equation}
。 - 有備選參數的命令:主要是以\command[arg] {parameter 1}{parameter 2}\(\cdots\){parameter n}的形式輸入,例如
\sqrt[n]{x^2 + y^2}
3. 公式輸入
在latex中,有多種公式輸入的方式,比如說行內公式與行間公式,又或者直接使用\begin{}
和\end{}
的命令
3.1 無編號公式
我通常使用的都是無編號公式,畢竟不是在寫論文,基本都不需要對公式進行編號,而無編號公式主要分為兩種輸入方式。
3.1.1 行內公式
直接使用一組$
包着想要輸入的內容,來具體看一個例子:
隨機變量$X$的分布函數為$F(x)$,求出它的對應的密度函數$f(x)$
顯示效果:
隨機變量\(X\)的分布函數為\(F(x)\),求出它的對應的密度函數\(f(x)\)
3.1.2 行間公式
與行內公式稍有不同,行間公式是使用一組$$
包着想要輸入的內容,來具體看一個例子:
我們熟知的勾股定理是:$$a^2 + b^2 = c^2$$
顯示效果:
我們熟知的勾股定理是:$$a^2 + b^2 = c^2$$
3.2 有編號公式
有時我們在寫論文的時候,要對公式進行編號標注,這時可以使用以下幾種方式:
3.2.1 手動編號
比較簡便的方法就是在公式里直接加上\tag{}
,其中{}
里放編號。這種方式的好處是,我們能夠對編號進行多樣的設置
$$a^2 + b^2 = c^2 \tag{1.1}$$
$$a^2 + b^2 = c^2 \tag{no.1}$$
顯示效果:
3.2.2自動編號
我們可以使用\begin{equation}
和\end{equation}
進行公式輸入,其中要注意的是begin和end是一組命令,要同時使用,並且編號不能夠修改。
\begin{equation}
a^2 + b^2 = c^2
\end{equation}
顯示效果:
\begin{equation}
a^2 + b^2 = c^2
\end{equation}
此外,在有的支持latex的編輯器中,也可以使用\label{}
來添加公式標簽,使用\ref{}
來引用編號
\begin{equation}\label{eq2}
a^2 + b^2 = c^2
\end{equation}
這是第(\ref{eq2})個公式
顯示效果:
\begin{equation}\label{eq2}
a^2 + b^2 = c^2
\end{equation}
這是第(\ref{eq2})的公式
3.2.3 等式對齊
當我們需要輸入多個有編號的公式,並且要讓它們自動對齊時,可以使用參數align
<!--不加align參數-->
\begin{equation}
x + y = 1\\\\
2x + y \neq 1\\\\
3x +4y \leq 2\\\\
4x \geq y
\end{equation}
顯示效果:
\begin{equation}
x + y = 1\\
2x + y \neq 1\\
3x +4y \leq 2\\
4x \geq y
\end{equation}
- tip1:博客園中的
\\
是代表轉義后的\
,實際上,在有些編輯工具中,直接\\
就能直接換行了(像jupyter notebook),並不需要使用\\\\
- tip2:在latex中,不等於\(\neq\)使用
$\neq$
表示,小於等於\(\leq\)使用$\leq$
表示,大於等於\(\geq\)使用$\geq$
表示 - ps:可以看到,輸入的公式被看成了一個整體,並沒有分別對這些公式進行編號。
<!--使用align參數-->
\begin{align}
x + y = 1\\\\
2x + y \neq 1\\\\
3x +4y \leq 2\\\\
4x \geq y
\end{align}
顯示效果:
\begin{align}
x + y = 1 \\
2x + y \neq 1 \\
3x +4y \leq 2 \\
4x \geq y
\end{align}
- ps:可以看到,輸入的公式被分別進行編號。
3.2.4 分開輸入
當公式很長,無法在一行中顯示;又或者在分步計算時,需要將公式拆分,這時可以使用split
參數
\begin{equation}
\begin{split}
(x + y)(x + 4y) & = x^2 + 4xy + xy + 4y^2\\\\
& = x^2 +5xy + 4y^2
\end{split}
\end{equation}
\begin{equation}
\begin{split}
(x + y)(x + 4y) & = x^2 + 4xy + xy + 4y^2\\
& = x^2 +5xy + 4y^2
\end{split}
\end{equation}
3.2.5 分類輸入
當一個公式是分段函數時,就需要使用cases
參數
\begin{equation}
a_{i1}A_{j1} + a_{i2}A_{j2} + \cdots + a_{in}A_{jn} =
\begin{cases}
\begin{vmatrix}A\end{vmatrix},& i =j\\\\
0, & i \neq j
\end{cases}
\end{equation}
\begin{equation}
a_{i1}A_{j1} + a_{i2}A_{j2} + \cdots + a_{in}A_{jn} =
\begin{cases}
\begin{vmatrix}A\end{vmatrix},& i =j\\
0, & i \neq j
\end{cases}
\end{equation}
- ps:如果每個情況的公式都要有編號,可以使用
numcases
參數,但是要在專門的latex套件中調用cases
宏包