1. 基礎認識
筆者認爲所謂插入數學公式其實就是引入一種規則,然後通過模板?渲染成公式,不知道這個理解對不對,不對望指正。其實你以前可能就看到過有的博客本該出現公式的時候不顯示,點擊後會鏈接到一個 new tab 然後顯示一張公式的圖片,有時卻出現一大堆的代碼。這裏就是通過這段代碼解析成公式然後顯示的。
這裏我們選取 MathJax 引擎。
引入腳本,把下面代碼插入 MD 文件裏面,如果你怕這份在線文件源別人訪問不到的話,可以把這個下下來自己做一個源,這樣比較穩定缺點是要自己手動更新源。
<script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=default"></script>
好了到這裏就可以插入公式了,如果你懂 LaTeX 的話那看一兩個例子就知道了,不懂也沒關係,自己寫一寫代碼就知道了,可以找一個可以預覽 MD 的工具一直嘗試。
1.1 插入方式
這裏分兩種,一種是行間插入,另一種是另取一行
1.1.1 行間插入
\\(a + b\\)
這裏是行間插入公式 a + b : (a + b),特點就是通過( 和 ) 包含公式,然後爲了模板引擎能夠區分該 ( 不是普通文本的 ( 而是公式的 (,通過 \ 轉義一下。這樣應該就很好理解這個語法構成了。注意這裏方式不唯一,這是筆者喜歡的方式,其他的使用方式自行搜索。下面的介紹同樣是這樣。
PS: 這裏掘金使用的是 : ,如果對您的閱讀產生印象,請看最後說明,這裏就不做一一更改了。謝謝。
1.1.2 另取一行
$$a + b$$
這裏是另取一行
特點就是通過$$包含公式。
筆者認爲第二種方式更好,以下沒看 JS 源碼純屬猜測:行間的需要考慮到當前行的行高並對公式進行處理,而另取一行就更簡單一些,可能解析起來更快。最最最最最最主要是看起來漂亮 _ 不太要考慮空間不夠換行。
1.2 基本類型的插入
這裏對 @houkai :LATEX](https://www.cnblogs.com/houkai/p/3399646.html)數學公式基本語法 的思路稍加修改,然後進行介紹。
1.2.1 上、下標
先看結果再總結語法吧。
$$x_1$$
$$x_1^2$$
$$x^2_1$$
$$x_{22}^{(n)}$$
$${}^*x^*$$
$$x_{balabala}^{bala}$$
可以看到 x 元素的上標通過 ^ 符號後接的內容體現,下表通過 _ 符號後接的內容體現,多於一位是要加 {} 包裹的。
筆者習慣先下標後上標的寫法,和我的書寫習慣一致:x_{balabala}^{bala},不管你使用哪一種風格,最好自己注意統一,不要混用。
1.2.2 分式
$$\frac{x+y}{2}$$
$$\frac{1}{1+\frac{1}{2}}$$
這裏就出現了一個 frac{}{} 函數的東西,同樣,爲了區分這是函數不是幾個字母,通過 \frac 轉義,於是 frac 被解析成函數,然後第一個 {} 裏面的被解析成分子,第二個 {} 被解析成分母。這裏可以試試分數的行間解析。我要看行間填充效果我要看行間填充效果我要看行間填充效果我要看行間填充效果我要看行間填充效果我要看行間填充效果我要看行間填充效果我要看行間填充效果我要看行間填充效果我要看行間填充效果我要看行間填充效果我要看行間填充效果。
1.2.3 根式
$$\sqrt{2}<\sqrt[3]{3}$$
$$\sqrt{1+\sqrt[p]{1+a^2}}$$
$$\sqrt{1+\sqrt[^p\!]{1+a^2}}$$
讀到這裏你已經瞭解了函數的概念,那麼這歷久很簡單了,語法就是 sqrt[]{} 。[] 中代表是幾次根式,{} 代表根號下的表達式。第二和第三個的區別在於爲了美觀微調位置 _。
1.2.4 求和、積分
$$\sum_{k=1}^{n}\frac{1}{k}$$
$\sum_{k=1}^n\frac{1}{k}$
$$\int_a^b f(x)dx$$
$\int_a^b f(x)dx$
這裏很容易看出求和函數表達式 sum_{起點}^{終點}表達式,積分函數表達式 int_下限^上限 被積函數d被積量。還有一個有趣的是行間的公式都被壓縮了。
1.2.5 空格
緊貼 $a\!b$
沒有空格 $ab$
小空格 a\,b
中等空格 a\;b
大空格 a\ b
quad空格 $a\quad b$
兩個quad空格 $a\qquad b$
緊貼 :
沒有空格 :
小空格 :
中等空格 :
大空格 :
quad空格 :
兩個quad空格 :
這個直接看上面的文字,介紹很清楚,主要指微調距離,使得公式更加漂亮。請比較下面的積分公式:
$$\int_a^b f(x)\mathrm{d}x$$
$$\int_a^b f(x)\,\mathrm{d}x$$
1.2.6 公式界定符
\\( ( \\)
\\( ) \\)
\\( [ \\)
\\( ] \\)
\\( \\{ \\)
\\( \\} \\)
\\( | \\)
\\( \\| \\)
掘金:
$ ( $
$ ) $
$ [ $
$ ] $
$ \{ $
$ \} $
$ | $
$ \| $
主要符號有
那麼如何使用呢?
通過 \left 和 \right 後面跟界定符來對同時進行界定。
$$\left(\sum_{k=\frac{1}{2}}^{N^2}\frac{1}{k}\right)$$
1.2.7 矩陣
$$\begin{matrix}1 & 2\\\\3 &4\end{matrix}$$
$$\begin{pmatrix}1 & 2\\\\3 &4\end{pmatrix}$$
$$\begin{bmatrix}1 & 2\\\\3 &4\end{bmatrix}$$
$$\begin{Bmatrix}1 & 2\\\\3 &4\end{Bmatrix}$$
$$\begin{vmatrix}1 & 2\\\\3 &4\end{vmatrix}$$
$$\left|\begin{matrix}1 & 2\\\\3 &4\end{matrix}\right|$$
$$\begin{Vmatrix}1 & 2\\\\3 &4\end{Vmatrix}$$
類似於 left right,這裏是 begin 和 end。而且裏面有具體的矩陣語法,& 區分行間元素,\\ 代表換行。可以理解爲 HTML 的標籤之類的。
1.2.8 排版數組
$\mathbf{X} =
\left( \begin{array}{ccc}
x\_{11} & x\_{12} & \ldots \\\\
x\_{21} & x\_{22} & \ldots \\\\
\vdots & \vdots & \ddots
\end{array} \right)$
2. 常用公式舉例
持續更新……
2.1 多行公式
主要是各種方程的表達
2.1.2 公式組
$$
a = b+c+d \\\\
x = y+z
$$
2.1.3 分段函數
$$
y=\begin{cases}
-x,\quad x\leq 0 \\\\
x,\quad x>0
\end{cases}
$$
裏面用到了 (\leq) 符號,下一章會介紹常用數學符號。
2.2 數組的其他使用
2.2.1 劃線
$$
\left(\begin{array}{|c|c|}
1 & 2 \\\\
\\hline
3 & 4
\end{array}\right)
$$
2.2.2 製表
$$
\begin{array}{|c|c|}
\hline
{1111111111} & 2 \\\\
\hline
3 & 4 \\\\
\hline
\end{array}
$$
可以看到,其實其他很多東西都可以很靈活的表達出來。碰到其他有趣的我會繼續寫出來的。
3. 常用數學符號
這裏提供一個文檔下載,如果上面的鏈接失效,也可以到我的 GitHub 下載 pdf 版。下面舉幾個例子。
3.1 希臘字母
$$
\begin{array}{|c|c|c|c|c|c|c|c|}
\hline
{\alpha} & {\backslash alpha} & {\theta} & {\backslash theta} & {o} & {o} & {\upsilon} & {\backslash upsilon} \\\\
\hline
{\beta} & {\backslash beta} & {\vartheta} & {\backslash vartheta} & {\pi} & {\backslash pi} & {\phi} & {\backslash phi} \\\\
\hline
{\gamma} & {\backslash gamma} & {\iota} & {\backslash iota} & {\varpi} & {\backslash varpi} & {\varphi} & {\backslash varphi} \\\\
\hline
{\delta} & {\backslash delta} & {\kappa} & {\backslash kappa} & {\rho} & {\backslash rho} & {\chi} & {\backslash chi} \\\\
\hline
{\epsilon} & {\backslash epsilon} & {\lambda} & {\backslash lambda} & {\varrho} & {\backslash varrho} & {\psi} & {\backslash psi} \\\\
\hline
{\varepsilon} & {\backslash varepsilon} & {\mu} & {\backslash mu} & {\sigma} & {\backslash sigma} & {\omega} & {\backslash omega} \\\\
\hline
{\zeta} & {\backslash zeta} & {\nu} & {\backslash nu} & {\varsigma} & {\backslash varsigma} & {} & {} \\\\
\hline
{\eta} & {\backslash eta} & {\xi} & {\backslash xi} & {\tau} & {\backslash tau} & {} & {} \\\\
\hline
{\Gamma} & {\backslash Gamma} & {\Lambda} & {\backslash Lambda} & {\Sigma} & {\backslash Sigma} & {\Psi} & {\backslash Psi} \\\\
\hline
{\Delta} & {\backslash Delta} & {\Xi} & {\backslash Xi} & {\Upsilon} & {\backslash Upsilon} & {\Omega} & {\backslash Omega} \\\\
\hline
{\Omega} & {\backslash Omega} & {\Pi} & {\backslash Pi} & {\Phi} & {\backslash Phi} & {} & {} \\\\
\hline
\end{array}
$$
寫太累了😂😂😂。。。其他的詳見 PDF。
4. 總結
通過這樣梳理一下基本的公式都能插入了,而且也會如何查資料。對於自己日後學習 LaTeX 寫論文有很大幫助。以下建議帶有很強的主觀性,僅供參考。
公式一律使用另取一行,並且上下都空一行
一個公式一個語句,不要寫在一個 $$ *** $$
裏,保證獨立性
,一個公式錯誤不影響另一個公式。
風格統一,不要混用。比如上下標的寫法:x_{balabala}^{bala}
行間字母可以使用\\(a\\)
代替a
,養成自己的寫作風格。