天天看點

機器學習筆記之LATEX數學公式基本文法

LATEX資料公式基本文法

作者:​​@houkai​​​本文為作者原創​

0x00 概述

TEX 是Donald E. Knuth 編寫的一個以排版文章及數學公式為目标的計算機程式。TEX的版本号不斷趨近于π,現在為3.141592。由Pascal 語言寫成,特點: 免費、輸出品質高、擅長科技排版、有點像程式設計。

LATEX 目前使用最廣泛的TEX 宏集。 每一個LATEX 指令實際上最後都會被轉換解釋成幾個甚至上百個TEX指令。

CTEX 國内緻力于TEX 推廣的網站:http://www.ctex.org/。該網站提供了CTEX 中文套裝,這個安裝程式把MiKTEX(TEX 在Windows 作業系統上的實作版本)和一些相關工具(如WinEdt、GSview 等)打包在一起,同時對中文接口進行了配置,以實作對中文文本的編輯。

如果想學習LATEX安裝CTEX套裝就可以了。LATEX 的功能和宏包有很多,每個人用到的功能是有限的;邊用邊學,建立了基本的概念以後,在使用中根據需求去解決問題就可以了。本文主要簡單介紹LATEX的數學排版。

0x01 基礎知識

1.1 LATEX控制序列的概念(類似于函數)

控制序列可以是作為指令:以“\”開頭,參數:必須參數{}和可選參數[]。

1.2 環境概念

以“bengin 環境名”開始,并以“end 環境名”結束。

1.3.LATEX可以排版公式與文字

故分為:數學模式和文本模式。如果你想要在公式中排版普通的文本(直立字型和普通字距),那麼你必須要把這些文本放在\textrm{...} 指令中。

1.4 在數學模式中又分為兩種,一種是公式排版在一個段落之中;另一種是公式獨立形式排版。

前一種,公式直接放在文字之間,公式高度一般受文本高度限制;後一種,公式另起一行,高度可調整。處于段内的數學文本要放在\\( 與\\) 之間, 與與

之間,或者\\begin{math} 與\\end{math} 之間;處于段外的數學文本放在\\[ 與\\] 之間,

與與

之間,或者\\begin{displaymath} 與\\end{displaymath} 之間(為了網頁顯示,這裡用雙斜杠表示單斜杠)。如下:

a.  

b.

$\sum_{i=0}^{n}i^2$    %第一種
$$\sum_{i=0}^{n}i^2$$    %第二種      

0x02 數學公式基本文法

2.1 上标與下标

上标指令是 ^{角标},下标指令是 _{角标}。當角标是單個字元時可以不用花括号(在 LaTeX 中,花括号是用于分組,即花括号内部文本為一組)。

$$x_1$$
$$x_1^2$$
$$x^2_1$$
$$x_{22}^{(n)}$$
$${}^*\!x^*$$    %(“\!” 表示其前後字元之間無間隙)      

、  、 、 、

2.2 分式

輸入較短的分式時,最簡單的方法是使用斜線,譬如輸入 (x+y)/2,可得到 。

要輸入帶有水準分數線的公式,可用指令:\frac{分子}{分母}。

$$\frac{x+y}{2}$$
$$\frac{1}{1+\frac{1}{2}}$$      

  、

2.3 根式

排版根式的指令是:開平方:\sqrt{表達式};開 n 次方:\sqrt[n]{表達式}

$$\sqrt{2}<\sqrt[3]{3}$$
$$\sqrt{1+\sqrt[p]{1+a^2}}$$
$$\sqrt{1+\sqrt[^p\!]{1+a^2}}$$      

、 、

注意:上面第三個示例與第二個示例的差別,有時候 LaTeX 公式需要經過這樣的微調會更美觀。

2.4 求和與積分

排版求和符号與積分符号的指令分别為 \sum 和 \int,它們通常都有上下限,在排版上就是上标和下标。

$$\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$
微分符直體:$$\int_a^b f(x)\mathrm{d}x$$      

在數學模式中,TEX 根據上下文選擇字型大小。例如,上标會排版成較小的字型。如果你想要把等式的一部分排版成羅馬字型,不要用\textrm 指令,隻因\textrm 會暫時切換到文本模式, 而此時字型大小切換機制将不起作用。使用\mathrm 來保持字型大小切換機制的正常

機器學習筆記之LATEX數學公式基本文法

、 、 、 、

2.5.公式中的空格

LaTeX 能夠自動處理公式中的大多數字元之間的空格,但是有時候需要自己手動進行控制。

機器學習筆記之LATEX數學公式基本文法
緊貼 $a\!b$
沒有空格 $ab$
小空格 a\,b
中等空格 a\;b
大空格 a\ b
quad空格 $a\quad b$
兩個quad空格 $a\qquad b$      
機器學習筆記之LATEX數學公式基本文法

、 、 、 、 、 、

注意:不同的TEX解析器給出的結果稍有不同,這裡使用Google API生成的公式空格的間隔大小就和CTEX中不同。貌似在這裡空格的差别不大...,看來Google API功能削減了一些。

在公式中靈活的運用空格指令可以起到美化公式的作用。

$$\int_a^b f(x)\mathrm{d}x$$
插入小空格:$$\int_a^b f(x)\,\mathrm{d}x$$      

2.6 公式中的定界符

這裡所謂的定界符是指包圍或分割公式的一些符号

機器學習筆記之LATEX數學公式基本文法
$($    %(
$)$    %)
$[$    %[
$]$    %]
$\{$    %{
$\}$    %}
$|$    %|
$\|$    %||      
機器學習筆記之LATEX數學公式基本文法

在上述這些定界符之前冠以 \left(修飾左定界符)或 \right(修飾右定界符),可以得到自适應縮放的定界符,它們會根據定界符所包圍的公式大小自适應縮放。

$$\left(\sum_{k=\frac{1}{2}}^{N^2}\frac{1}{k}\right)$$      

2.7 矩陣

對于少于 10 列的矩陣,可使用 matrix,pmatrix,bmatrix,Bmatrix,vmatrix 和 Vmatrix 等環境。

$$\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}$$
$$\begin{Vmatrix}1 & 2\\3 &4\end{Vmatrix}$$      

、 、 、 、 、

2.8 排版數組

當矩陣規模超過 10 列,或者上述矩陣類型不敷需求,可使用 ​

​array​

​ 環境。該環境可把一些元素排列成橫豎都對齊的矩形陣列。

機器學習筆記之LATEX數學公式基本文法
$$
\mathbf{X} =
\left( \begin{array}{ccc}
x_{11} & x_{12} & \ldots \\
x_{21} & x_{22} & \ldots \\
\vdots & \vdots & \ddots
\end{array} \right)
$$      
機器學習筆記之LATEX數學公式基本文法

\mathbf大寫控制符,\\表示換行,{ccc}表示列樣式。array 環境也可以用來排版這樣的表達式,表達式中使用一個“.” 作為其隐藏的\right 定界符。

機器學習筆記之LATEX數學公式基本文法
$$
y = \left\{ \begin{array}{ll}
a & \textrm{if $d>c$}\\
b+x & \textrm{in the morning}\\
l & \textrm{all day long}
\end{array} \right.
$$      
機器學習筆記之LATEX數學公式基本文法

你也可以在array 環境中畫線,如分隔矩陣中元素。

機器學習筆記之LATEX數學公式基本文法
$$
\left(\begin{array}{c|c}
1 & 2 \\
\hline
3 & 4
\end{array}\right)
$$      
機器學習筆記之LATEX數學公式基本文法