最近在學習一些機器學習相關的知識,想把本身學習的東西經過 MD 的形式在線記錄下來,可是以前一直沒有開始行動,由於裏面的公式什麼的感受實在是麻煩。因而今天打算花點時間瞭解一下
如何在 markdown 中插入數學公式
,發現其實很簡單,大概花一個小時左右就能知道如何編寫了。javascript
筆者認爲所謂插入數學公式其實就是引入一種規則,而後經過
模板?
渲染成公式,不知道這個理解對不對,不對望指正。其實你之前可能就看到過有的博客本該出現公式的時候不顯示,點擊後會連接到一個 new tab 而後顯示一張公式的圖片,有時卻出現一大堆的代碼。這裏就是經過這段代碼解析成公式而後顯示的。html
這裏咱們選取 MathJax 引擎。 引入腳本,把下面代碼插入 MD 文件裏面,若是你怕這份在線文件源別人訪問不到的話,能夠把這個下下來本身作一個源,這樣比較穩定缺點是要本身手動更新源。java
<script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=default"></script>
複製代碼
好了到這裏就能夠插入公式了,若是你懂 LaTeX 的話那看一兩個例子就知道了,不懂也不要緊,本身寫一寫代碼就知道了,能夠找一個能夠預覽 MD 的工具一直嘗試。git
這裏分兩種,一種是行間插入,另外一種是另取一行github
\\(a + b\\)
複製代碼
這裏是行間插入公式 a + b : \(a + b\),特色就是經過(
和 )
包含公式,而後爲了模板引擎可以區分該 (
不是普通文本的 (
而是公式的 (
,經過 \\
轉義一下。這樣應該就很好理解這個語法構成了。注意這裏方式不惟一,這是筆者喜歡的方式,其餘的使用方式自行搜索。下面的介紹一樣是這樣。數組
PS: 這裏掘金使用的是 $a + b$
: ,若是對您的閱讀產生印象,請看最後說明,這裏就不作一一更改了。謝謝。bash
$$a + b$$
複製代碼
這裏是另取一行markdown
特色就是經過$$
包含公式。app
筆者認爲第二種方式更好,如下沒看 JS 源碼純屬猜想:行間的須要考慮到當前行的行高並對公式進行處理,而另取一行就更簡單一些,可能解析起來更快。最最最最最最主要是看起來漂亮 ^_^ 不太要考慮空間不夠換行。機器學習
這裏對 @houkai :LATEX數學公式基本語法 的思路稍加修改,而後進行介紹。
先看結果再總結語法吧。
$$x_1$$
$$x_1^2$$
$$x^2_1$$
$$x_{22}^{(n)}$$
$${}^*x^*$$
$$x_{balabala}^{bala}$$
複製代碼
能夠看到 x
元素的上標經過 ^
符號後接的內容體現,下表經過 _
符號後接的內容體現,多於一位是要加 {}
包裹的。 筆者習慣先下標後上標的寫法,和個人書寫習慣一致:x_{balabala}^{bala}
,無論你使用哪種風格,最好本身注意統一,不要混用。
$$\frac{x+y}{2}$$
$$\frac{1}{1+\frac{1}{2}}$$
複製代碼
這裏就出現了一個 frac{}{}
函數的東西,一樣,爲了區分這是函數不是幾個字母,經過 \frac
轉義,因而 frac
被解析成函數,而後第一個 {}
裏面的被解析成分子,第二個 {}
被解析成分母。這裏能夠試試分數的行間解析。我要看行間填充效果我要看行間填充效果我要看行間填充效果我要看行間填充效果我要看行間填充效果我要看行間填充效果我要看行間填充效果我要看行間填充效果我要看行間填充效果我要看行間填充效果我要看行間填充效果我要看行間填充效果。
$$\sqrt{2}<\sqrt[3]{3}$$
$$\sqrt{1+\sqrt[p]{1+a^2}}$$
$$\sqrt{1+\sqrt[^p\!]{1+a^2}}$$
複製代碼
讀到這裏你已經瞭解了函數的概念,那麼這歷久很簡單了,語法就是 sqrt[]{}
。[]
中表明是幾回根式,{}
表明根號下的表達式。第二和第三個的區別在於爲了美觀微調位置 ^_^。
$$\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被積量
。還有一個有趣的是行間的公式都被壓縮了。
緊貼 $a\!b$
沒有空格 $ab$
小空格 a\,b
中等空格 a\;b
大空格 a\ b
quad空格 $a\quad b$
兩個quad空格 $a\qquad b$
複製代碼
這個直接看上面的文字,介紹很清楚,主要指微調距離,使得公式更加漂亮。請比較下面的積分公式:
$$\int_a^b f(x)\mathrm{d}x$$
$$\int_a^b f(x)\,\mathrm{d}x$$
複製代碼
\\( ( \\)
\\( ) \\)
\\( [ \\)
\\( ] \\)
\\( \\{ \\)
\\( \\} \\)
\\( | \\)
\\( \\| \\)
掘金:
$ ( $
$ ) $
$ [ $
$ ] $
$ \{ $
$ \} $
$ | $
$ \| $
複製代碼
主要符號有 那麼如何使用呢? 經過 \left
和 \right
後面跟界定符來對同時進行界定。
$$\left(\sum_{k=\frac{1}{2}}^{N^2}\frac{1}{k}\right)$$
複製代碼
$$\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 的標籤之類的。
\mathbf{X} =
\left( \begin{array}{ccc}
x\_{11} & x\_{12} & \ldots \\\\
x\_{21} & x\_{22} & \ldots \\\\
\vdots & \vdots & \ddots
\end{array} \right)
複製代碼
持續更新……
主要是各類方程的表達
$$
\begin{multline}
x = a+b+c+{} \\\\
d+e+f+g
\end{multline}
$$
$$
\begin{aligned}
x ={}& a+b+c+{} \\\\
&d+e+f+g
\end{aligned}
$$
複製代碼
不對齊
對齊
$$
\begin{gather}
a = b+c+d \\\\
x = y+z
\end{gather}
$$
$$
\begin{align}
a &= b+c+d \\\\
x &= y+z
\end{align}
$$
複製代碼
$$
y=\begin{cases}
-x,\quad x\leq 0 \\\\
x,\quad x>0
\end{cases}
$$
複製代碼
裏面用到了 \(\leq\) 符號,下一章會介紹經常使用數學符號。
$$
\left(\begin{array}{|c|c|}
1 & 2 \\\\
\\hline
3 & 4
\end{array}\right)
$$
複製代碼
$$
\begin{array}{|c|c|}
\hline
{1111111111} & 2 \\\\
\hline
3 & 4 \\\\
\hline
\end{array}
$$
複製代碼
能夠看到,其實其餘不少東西均可以很靈活的表達出來。碰到其餘有趣的我會繼續寫出來的。
這裏提供一個文檔下載,若是上面的連接失效,也能夠到個人 GitHub 下載 pdf 版。下面舉幾個例子。
$$
\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。
經過這樣梳理一下基本的公式都能插入了,並且也會如何查資料。對於本身往後學習 LaTeX 寫論文有很大幫助。如下建議帶有很強的主觀性,僅供參考。
$$***$$
裏,保證獨立性
,一個公式錯誤不影響另外一個公式。x_{balabala}^{bala}
\\(a\\)
代替 a
,養成本身的寫做風格。十分感謝如下做者的無私分享。
說明:掘金好像有些轉義不出來,若是想看效果能夠參考這篇本身多試試。