LaTeX 初次上手 (一)

了解 LaTeX 編譯 PDF 文件的機制

wyatthoho
5 min readAug 2, 2021

【壹】TeX 編譯 PDF 範例

安裝好 MikTeX 後,在空白資料夾中放入hello.tex

.
+-- hello.tex

以下是hello.tex的內容

Hello, World
\bye

在 cmd 視窗執行以下指令

tex hello.tex

執行完資料夾會生出hello.dvihello.log

.
+-- hello.tex
+-- hello.dvi
+-- hello.log

接著,在同樣工作路徑下的 cmd 執行

dvipdfm hello

這個指令能將hello.dvi再轉為hello.pdf

.
+-- hello.tex
+-- hello.dvi
+-- hello.log
+-- hello.pdf

hello.pdf打開來看看吧!

這個例子只示範了如何使用單純的 TeX 語法來建立文檔,然而實際上的使用往往更加複雜,例如指定文字字體、章節標題、頁碼、圖表編號等。要在純 TeX 環境完成這些指定工作我猜是相當的辛苦,因此,為了讓使用者能快速控制這些設定,Leslie Lamport 基於 TeX 的語法加入許多方便使用的巨集,最終開發出 LaTeX。

【貳】LaTeX編譯PDF範例

以下是一個簡單的 LaTeX 範例。首先建立一個名為article.tex的檔案,

\documentclass{article}
\usepackage{amsmath}
\title{\LaTeX}

\begin{document}
\maketitle
\LaTeX{} is a document preparation system for
the \TeX{} typesetting program. It offers
programmable desktop publishing features and
extensive facilities for automating most
aspects of typesetting and desktop publishing,
including numbering and cross-referencing,
tables and figures, page layout,
bibliographies, and much more. \LaTeX{} was
originally written in 1984 by Leslie Lamport
and has become the dominant method for using
\TeX; few people write in plain \TeX{} anymore.
The current version is \LaTeXe.

\begin{align}
E_0 &= mc^2 \\
E &= \frac{mc^2}{\sqrt{1-\frac{v^2}{c^2}}}
\end{align}
\end{document}

嘗試先前編譯 TeX 的方法,在 cmd 中執行以下指令

tex article.tex

會發現執行出錯,因為此時的article.tex檔案中出現了屬於 LaTeX 的語法,因此無法直接以 TeX 編譯。正確的編譯方式為:

latex article.tex

執行後很快地就能看見工作目錄中已產出article.dvi,如此一來就可以再將 dvi 轉為 pdf 格式。

dvipdfm article

產出article.pdf後一樣打開來看看吧!

看到這裡是否感受到 LaTeX 的強項了呢?對我來說 LaTeX 最吸引人之處便是可以很簡單地透過指令建立好文檔的架構、外觀,其中每個章節、圖表都會自動編號也能夠輕易地互相參照,要建立文章目錄或是論文的參考資料也能輕鬆搞定,此外還能夠撰寫出很漂亮的數學算式。

若使用 Microsoft 的 Word,要完成以上這些項目絕對是非常非常痛苦的。因此使用 LaTeX 不僅提高了工作效率,更能夠讓使用者專心在文章的內容而不是耗費心力在排版上。

而文章一開始的 MikTeX 又是什麼呢?MikTeX 是讓 Windows 作業系統能運行 TeX/LaTeX 的一套工具 (distribution)。除了 MikTeX 之外,LaTeX 官網也推薦 proTeX 以及 TeX Live 能夠下載。

我之所以用 MikTeX 的原因是其檔案最小,大約 130MB,安裝起來比較方便,缺點是當中預載的套件 (packages )不如 TeX Live 齊全,但反正需要使用其他 packages 時再下載就好了。

而對於 Linux 和 mac OS 這兩個作業系統的使用者,官網也有建議相對應的套件,不管在哪個系統都可以使用的!

--

--

wyatthoho
wyatthoho

Written by wyatthoho

在混亂的宇宙裡,我透過寫程式來認識秩序並建立安定。wyatthoho@gmail.com

No responses yet