1. 程式人生 > >【LaTeX】E喵的LaTeX新手入門教程(3)數學公式

【LaTeX】E喵的LaTeX新手入門教程(3)數學公式

昨天熄燈了真是坑爹。前情回顧上一期測試答案1.大家一開始想到的肯定是\LaTeX{}er。其實\LaTeX er也可以的。
2.\LaTeX{} er\LaTeX\ er
數學模式現在我們打算在文件中插入一些數學公式什麼的了;按照正常的情況來說,數學公式裡面的字元一般都是斜體,而我們要用\textit來一點點把需要變的文字變成斜體這顯然是一件極其坑爹的事情。TeX的創造者高爺爺表示他搞TeX出來就是為了排版科技文章的,對於數學公式這麼常見的東西,必須想辦法偷懶才行。因此TeX在創造之初就有著排版普通正文文字模式和排版數學公式的數學模式。只要在數學模式中,就可以很偷懶地打數學公式了。提示:在數學模式中LaTeX會無視所有的空格和回車。所以空格回車什麼的隨便用。

行內公式和行間公式如果我們要插入一個公式,把公式放在$$之間就可以了。God Lian says that $a+b=c$.我們使用\(\)來作為開啟和結束數學模式也可以。上面的程式碼也可寫成God Lian says that \(a+b=c\).嗯,廉神的哲♂學真理。這樣的公式我們可以穿插在正文之內,因此稱作行內公式。除了這種公式之外,我們還能經常在文獻中發現另一種型別的公式,它們獨佔一行,並且居中,有的還帶有編號供其他部分引用。這顯然不是你用center環境居中那麼簡單的問題→_→。對於這種公式我們稱之為行間公式。行間公式的生成方法有:

  1. 使用\[\]來包圍公式。這樣生成的行間公式不帶編號。
  2. 使用equation環境。這樣生成的行間公式帶有自動編號。
  3. 使用equation*環境。這樣生成的行間公式不帶編號。

你們可能看過一些文獻提到使用$$...$$來生成行間公式。這種方法不是LaTeX的方法而是TeX的,可能產生潛在的格式混亂隱患。舉個栗子。God Lian says that $a+b=c$.

God Lian says that
\[
a+b=c
\]
is a philosophical theorem.

God Lian says that
\begin{equation}
a+b=c
\label{eq:abc}
\end{equation}
is a philosophical theorem.

Equation (\ref{eq:abc}) is God Lian's philosophical theorem.

這裡我們又遇到了一些新東西:就是\label\ref。這倆貨的作用就是傳說中的交叉引用了。\label{標籤名}放置在圖、表、公式等可以引用的環境中,它有一個引數就是標籤名。然後在文件的任何位置使用\ref{標籤名}就可以自動地得到圖/表/公式的編號。注意:所有交叉引用的東西(包括目錄),都必須編譯兩遍才會生效。 
如果你使用Kile這個IDE,Kile是會自動幫你編譯兩遍的。
數學符號居家旅行殺人越貨必備之amsmath巨集包amsmath是AMS提供的數學類巨集包,填補了LaTeX本身自帶的數學符號少、格式少等諸多不足,因此只要是打數學公式,肯定就要用它了。所以你的文章如果包含數學公式的話。。\usepackage{amsmath}在導言區里加上吧,又不會死人。(amsmath會在極少情況下跟一些其他巨集包起衝突。。不過一般不會發生的吧→_→)下面的內容都是假設你已經使用了amsmath巨集包的情況。分數、上下標、根式我們平常用文字來表達上下標的時候往往用"2^32"或“a_2”這樣的格式。在LaTeX數學模式中,也使用了這種方便的格式。但是,LaTeX的上下標符號^_只會其後面的一個字元有效。如果上下標中有很多內容,就必須使用花括號{}將它們括起來。舉個栗子。$2^32,a_12$

$2^{32},a_{12}$
上下標可以同時和巢狀使用。$a_2^{2^{2^2}}$至於分數。。可以用\frac{分子}{分母}得到。1+\frac{1}{2+\frac{1}{3+\frac{1}{4+\frac{1}{5+\dots}}}}我們可以看到這個分式的分母越來越小。。這其實是為了排版美觀。如果你非覺得它彆扭,可以用\dfrac代替\frac來讓分式變得和正常大小一個樣兒(需要amsmath巨集包)。根式可以用\sqrt來生成。它有個可選選項用於標明到底開幾次方。$\sqrt{a+b}$

$\sqrt[3]{a+b}$
各種符號。。比如我們知道3×5=15,想要在LaTeX中輸出這個公式,用搜*輸入法打×,LaTeX是絕對不會識別的。要想在數學公式中加入各種符號,就需要記住每個符號所對應的控制序列。比如我們要打一個乘號,就需要中數學模式中使用\times來得到乘號。大多數IDE為了大家的偷懶著想,在選單或工具欄上多少會有些插入數學符號的按鈕,不過如果你熟記了這些符號的控制序列的話,手打會比按按鈕快得多。下面這個圖就是TeXnicCenter的數學工具欄。下面的數學符號表來源於文件lshort,一個不錯的LaTeX教程(可惜不講中文)。如果你想直接去看這個文件,對於TeX Live使用者,可以執行texdoc lshort-zh-cn來檢視。符號實在是太多了記不住。。可以只記一些常用的符號。想不起來的,可以查文件。在TeX Live系統中,有一個文件包含幾乎所有的符號,不僅有數學模式的,還有文字模式的。這樣來檢視它:texdoc symbols-a4這篇文件看看分類還行,如果專門要找某個特定的符號的話。。就輪到我們的大殺器登場了:當你遇到不會輸入的符號時,在左側的畫板上把符號畫出來,它就會自動幫你找到相應符號的輸入方法。巨型運算子上面的符號表中已經有了求和\sum、積分\int、連乘\prod等符號,只要給它們按照上下標的語法加上上下標,就可以直接變成它們的上下限了。那麼如果雙重積分呢?如果我們使用\int\int的話。。會得到這個東西。。這實在是。。。。坑爹啊!其實。。\[
\iint
\]

\[
\iiint
\]
這兩個符號在amsmath巨集包中。此外閉合積分\oiint等在其他的巨集包中,大家可以自己到symbols-a4中去找。矩陣在數學模式中生成矩陣需要使用array環境。array環境的用法:\begin{array}{對齊方式}
第一行。。\\
第二行。。\\
最後一行。。
\end{array}
其中,對齊方式指的是每一列是如何對齊的。c指居中,l指居左,r指居右。每一列中間可以用|||來表示單分隔線和雙分隔線,也可以沒有。每一行的各個項用&分隔,每一行的項數必須跟對齊方式指定的數目相同。如果沒有東西就什麼不寫,再寫一個&就可以了舉個栗子。\[
\begin{array}{c|c||c}
x_{11} & x_{12} & \ldots \\
\hline
x_{21} & x_{22} & \ldots \\
\hline\hline
\vdots & \vdots & \ddots
\end{array}
\]
定界符話說矩陣兩邊都有個括號啥的。。所以需要在矩陣兩邊加上兩個特大號的括號什麼的才行。\[
\left(
\begin{array}{c|c||c}
x_{11} & x_{12} & \ldots \\
\hline
x_{21} & x_{22} & \ldots \\
\hline\hline
\vdots & \vdots & \ddots
\end{array}
\right)
\]
我們使用\left<符號>\right<符號>,可以得到和括號包圍的東西大小匹配的左右分界符。對於分界符來說,你打什麼符號就是什麼符號,所以\left(得到的是左括號,\right(得到的還是左括號→_→可用的有() [] \{\} | \|(雙線)分界符的左右可以隨便選,一邊圓括號一邊方括號也可以。但是注意的是花括號要用\{\},如\left\{,否則就變成傳遞引數了。。。還有一種隱藏的分界符\left.\right.它們是看不見的。所以可以用它們搞出只有一邊有分界符的東西。對於分式,一般也需要使用左右分界符包圍在分式兩邊,以求美觀。具體效果一看你就知道該用哪種了。。\[
(\frac{a}{b})^2
\]

\[
\left(\frac{a}{b}\right)^2
\]
多行公式方程組什麼的。。對於這種東西。。是怎麼寫的大家可以猜猜。。。。。。。。。。。。。。。。肯定有人想到了用一個array環境加上左花括號右邊沒有定界符的方法了吧。。。嘿嘿你們不會偷懶。。\[
x=
\begin{cases}
a, & x\le 5\\
b, & x>5
\end{cases}
\]
真·多行公式使用aligned環境,可以搞出對齊的多行公式。\[
\begin{aligned}
(a+b)^2 &= (a+b)(a+b) \\
        &= a^2+2ab+b^2
\end{aligned}
\]
你們可能看到某些文件提到eqnarray環境。這個環境已經過時,不推薦使用。特殊數學字型來看一個公式:\[
\int x dx
\]
這個排版實際上略不科學。比較科學的效果是這樣的:它與之前那個有兩個區別:

  1. d 前面有一小段空格
  2. d 是正體的

所以首先我們先在d前面加上一些空格。在LaTeX數學模式中有這些空格可供使用:\quad是一個空鉛塊的寬度(在那個時候排版用的。。跟字母M的寬度有關。)\qquad=2個\quad;還有\,\:\;分別產生3/18、4/18、5/18個\quad大小的的空格。\!則產生-1/6個\quad的空格,也就是有退格的效果。在這裡我們使用\;好了。。程式碼變成\int x\;dx然後我們把d變成正的。。這裡要插入一段roman字型族的字型,因此用\mathrm{d}來生成一個正的d。\int x\;\mathrm{d}xOK,美觀的公式就出來了。。除了\mathrm能夠生成正體的文字之外,\mathbf可以生成正體加粗的文字。此外還有各種各樣花式的數學字型。一些大家都愛用的數學函式。。在數學公式中,sin、cos什麼的都是正體的,它們可不是用\mathrm搞出來的。。你可以用\sin\cos等。。。舉個栗子。。\[
\lim_{x\to0}\frac{x}{\sin x}
\]
然後就沒有然後了。。下期預告:插入圖片和表格。。有了它們基本上寫個正式的文件已經沒問題了。。from: http://blog.renren.com/blog/339175058/893873057?bfrom=01020110200