LaTeX是個好東西:應該學甚麼

LaTeX是個好東西:應該學甚麼

不知讀者們是否用Word寫過長文章?這種文章的內容會分章、節,章和節標題前要有多層次編號,目錄要根據章節標題列出,正文前的頁碼和正文的頁碼要用不同格式,要對圖片、表格、公式和參考文獻進行引用...以上的要求用Word全部都能實現,只要你掌握了Word的以下功能:樣式,樣式與多層次清單的關係,分節,標號,交互參照等。這些都是Word的重要功能,可是在現實生活上卻很少人會使用,導致人們用Word寫長文章時,文章的格式往往會出問題。說到這裏,有些排版專家就會向大家推薦使用LaTeX,聲稱LaTeX可以很容易地生成達到上述要求的長文章,讓人們能夠擺脫排版的痛苦。 排版專家們的說法完全是對的,但我認為這並不是一般人要學LaTeX的主要原因。

實際上,我在大學時撰寫的筆記、畢業論文、期刊論文,甚至是答辯時用的幻燈片,都是用LaTeX製作的。用LaTeX寫文章時,作者可以完全專注於寫作,排版結果從不出錯,實在令人感到愉悅。既然如此,為何我說這不是一般人要學LaTeX的主要原因呢?是因為LaTeX難學嗎?我認為不是的,要用好Word其實也不容易,個人感覺LaTeX比Word更易用。

有沒有必要學習用LaTeX排版,最主要的因素是看你是不是活在一個大家都用LaTeX排版的世界。如果你工作後,同事都用Word,只有你一個排版專家堅持用LaTeX,那無論你的文章排得多漂亮,也沒有人會欣賞的,因為用Word的人是看不出排版專家們對排版的那種執著和追求。領導要你交Word文件,你發個用LaTeX排版後生成的PDF文件上去,領導不止不會讚賞你,反而要你糾正錯誤,重新再交一次。所以,對於地球上絕大多數的人來說,用LaTeX排版?算了吧,別自討苦吃。

那學習LaTeX對一般人來說就沒意義了嗎?當然不是,我們還可以用LaTeX來生成數學公式呢。如果一般人說用LaTeX排版是自討苦吃,那麼不會用LaTeX生成數學公式的人也是在受苦受難。試想,如果現在要在Word輸入牛頓運動第二定律這個簡單的公式:

    \[\vec{F}_{\mathrm{net}}=\frac{\Delta \vec{p}}{\Delta t}\]


究竟要來來回回按多少次滑鼠才能把那些矢量符號、下標、分數、希臘字母等搞出來?如果懂LaTeX,只需要在Word中按「Alt + =」,然後輸入(注意Word的版本最好用Office 365並選擇以LaTeX輸入,舊版本的Word不支持):

\vec{F}_{\mathrm{net}}=\frac{\Delta \vec{p}}{\Delta t} 

再按「Ctrl + =」,公式就能夠顯示出來了,手都不用離開鍵盤。又例如,現在你要輸入一個這樣的計算過程(歐拉公式的推導過程):

    \begin{align*}e^{x+iy} &= e^xe^{iy} \\&=e^x\left[1+iy+\frac{(iy)^2}{2!}+\frac{(iy)^3}{3!}+\frac{(iy)^4}{4!}+\cdots\right] \\&=e^x\left[\left(1-\frac{y^2}{2!}+\frac{y^4}{4!}-\cdots\right)+i\left(y-\frac{y^3}{3!}+\frac{y^5}{5!}-\cdots\right)\right]\end{align*}

要在Word的公式編輯器中輸入這樣的公式時估計人都要瘋掉。使用LaTeX則可以這樣做:使用快捷鍵 「Alt + =」輸入下方第一行代碼,然後按「Shift + Enter」換行,再使用 快捷鍵 「Alt + =」輸入下方第二行代碼,直至三行全部輸入。最後,全選三行,右鍵按「在 = 的位置對齊」。

e^{x+iy} = e^xe^{iy}
=e^x\left[1+iy+\frac{(iy)^2}{2!}+\frac{(iy)^3}{3!}+\frac{(iy)^4}{4!}+\cdots\right] \\
=e^x\left[\left(1-\frac{y^2}{2!}+\frac{y^4}{4!}-\cdots\right)+i\left(y-\frac{y^3}{3!}+\frac{y^5}{5!}-\cdots\right)\right]

看到這裏,大家可能會覺得LaTeX的輸入方法比用Word的公式編輯器更麻煩,因為LaTeX不是所見即所得,但我可以向所有經常要輸入數學公式的讀者保證,只要學會LaTeX的數學公式輸入法,你是絕對不會再用Word那個公式編輯器了。只要花半個小時讀懂LaTeX代碼的意義(例如到這:https://artofproblemsolving.com/wiki/index.php/LaTeX:Symbols),就會明白上述的LaTeX代碼是很簡單的。

學會了LaTeX的語法,就好像掌握了輸入數學公式的絕招,在很多地方都能夠大顯身手。除了Word之外,有那些地方可以用LaTeX輸入數學公式呢?試舉幾例:

  • Google Docs:在安裝了Auto-LaTeX Equations外掛後,就能使用LaTeX輸入數學公式。不過由於是將LaTeX代碼轉成圖片,所以有點慢,建議在編寫文件時,先將LaTeX代碼寫好,最後再一次過用外掛轉成數學公式的圖片。
  • Moodle:原生支持,除了不能在下拉選單的選項和活動標題等少數地方使用之外,其他能輸入文字的地方基本上都可以用,如討論區、題庫的題目、選擇題的選項等。
  • WordPress:安裝QuickLaTeX外掛,就能得到非常完善的LaTeX數學公式支持,甚至可以在文章的標題中使用。
  • 編寫網頁:Moodle和WordPress為何能用LaTeX顯示公式?秘訣就在使用了MathJax這個JavaScript庫。在寫網頁時,加入以下的script(最新版本見MathJax官網):
<script src="https://polyfill.io/v3/polyfill.min.js?features=es6"></script>
<script id="MathJax-script" async src="https://cdn.jsdelivr.net/npm/[email protected]/es5/tex-mml-chtml.js"></script>

就可以在HTML裏用LaTeX寫公式啦。例如下方的HTML代碼中加入了之前那個歐拉公式的推導過程,而且各位可以注意到我使用了\begin{align*}...\end{align*}環境(WordPress和Moodle也可以這樣做,標準LaTeX用法),一次過將分行公式顯示出來,不用像Word那樣要用 「Shift + Enter」 換行輸入。

<!DOCTYPE html>
<html>
<head>
    <script src="https://polyfill.io/v3/polyfill.min.js?features=es6"></script>
    <script id="MathJax-script" async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script>
    <title>Hello LaTeX</title>
</head>
<body>
    $$
    \begin{align*}
    e^{x+iy} &= e^xe^{iy} \\
    &=e^x\left[1+iy+\frac{(iy)^2}{2!}+\frac{(iy)^3}{3!}+\frac{(iy)^4}{4!}+\cdots\right] \\
    &=e^x\left[\left(1-\frac{y^2}{2!}+\frac{y^4}{4!}-\cdots\right)+i\left(y-\frac{y^3}{3!}+\frac{y^5}{5!}-\cdots\right)\right]
    \end{align*}
    $$
</body>
</html>

總結來說,LaTeX是排版利器,特別在寫長文章時,遠比Word優勝,但由於日常生活中很少人用,所以我建議各位不要執著於用LaTeX做文章排版。不過,用LaTeX輸入數學公式卻是非學不可的,LaTeX能大大提升數學公式的輸入效率,除了能夠在Word中使用之外,也能夠在Moodle、WordPress和自己製作的網頁上輸入數學公式。

最後,不知讀者們有沒有留意到我每次寫「LaTeX」時,為甚麼都要這麼辛苦地將T和X兩個字母大寫呢?

因為...我是一個很執著的人:\LaTeX

0 0 votes
Article Rating
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments