LaTeX 教學系列:LaTeX 簡介
簡介 LaTeX,針對基礎操作進行講解
相信一定不少人在學生時期或出社會工作之後,都面臨著撰寫報告的地獄需求。不過,經常使用 Microsoft Word、PowerPoint 的人一定會發現,插入圖片並且讓它在正確的位置上似乎是一件很費時的任務,一方面是因為將圖片導入文件後,還要調整大小,且每一張圖片的大小都不相同;另一方面是 Word、PPT 在文字與圖片排列稍顯的不聰明一點。1
這一系列文章介紹的語言——LaTeX,不僅可以解決上述關於圖片排版的問題,更提供了在數學公式、表格、程式碼嵌入、簡報製作等方面的優良功能。LaTeX 教學系列可以分為以下幾篇:
- 簡介 LaTeX
- 撰寫第一份 LaTeX 文件
- LaTeX 數學排版
- LaTeX 中表格與圖片的處理
- LaTeX 書本、文件章節編排與架構
- 用 LaTeX 製作簡報
LaTeX 的前世今生
LaTeX 是一種強大的排版系統,廣泛應用於科學、技術、工程及數學(也就是俗稱的 STEM)領域的文件編輯。LaTeX 的前身是 Donald Knuth 於1978年發明的 TeX 系統。Knuth 是一位著名的計算機科學家,他為了解決當時排版系統的不足,親自設計了 TeX,以便創作高品質的文件和書籍。
然而,TeX 雖然功能強大,但對於一般用戶來說並不友好(必須撰寫許多程式碼、前置設定等)。因此,為了解決這個問題,Leslie Lamport 於1984年在 TeX 的基礎上開發了 LaTeX。LaTeX 簡化了文件編寫的流程,使用者只需關注所輸入的內容,而不必操心具體的排版細節,這正是 LaTeX 最引以為傲的功能:所得及所見(What You See Is What You Get)。
前置作業:編譯器與編輯器
「工欲善其事、必先利其器。」
從學生時期撰寫撰寫作文,到出社會撰寫公司業務報告,都需要一些硬體工具(例如紙筆、電腦、平板等),以及既有的知識。LaTeX 的轉寫也是一樣,編輯一份 LaTeX 文件需要兩個重要的工具:編譯器和編輯器。這邊簡單解釋一下兩者的差異:編輯器用於編寫和管理 LaTeX 程式碼,提供便捷的編寫環境;編譯器則負責將這些程式碼轉換為最終輸出的文件。
選擇 LaTeX 編譯器時,不同系統的使用者可以選擇適合自己的編譯器,但是請注意:請先安裝編譯器之後再安裝編輯器!如果你是 Windows 使用者,推薦MikTeX與TeXLive,但如果你很不幸地使用搞排擠的 macOS 系統,那麽就建議你使用MacTeX。
至於編輯器的選擇就沒有那麼多限制,只要你覺得編輯器好看、好用,電腦預設的記事本也可以成為你撰寫 LaTeX 的工具。好用的編輯器大概有TeXmaker、TeXstudio、Visual Studio Code。3
如果你想要擁有跟 Google 文件一樣的共同編輯功能,那麼推薦使用Overleaf。Overleaf 是一個完全免費的平台,好處是不用下載編譯器(網站內建),而且可以邀請別人一起編輯、查看原始碼;但是壞處是 Overleaf 時不時就會維修,所以個人建議還是要學一下如何在本機安裝編譯器與編輯器。
LaTeX 語法概說
在正式開始進入 LaTeX 語法教學之前,我們先來看一下底下的範例。
細心的你肯定有發現,LaTeX 的指令是以反斜線(backslash) \
開頭的,也就是如果你需要使用一些指令,那麼就必須用 \
告訴 LaTeX 編譯器你需要使用該指令,否則電腦無法判讀。常見的 LaTeX 指令符如下:
符號 | 功能 |
---|---|
\ |
下排版命令 |
% |
註解 |
# |
定義巨集 |
~ |
產生空白 |
$ |
進入/離開數學模式 |
^ |
數學模式中的上標字 |
_ |
數學模式中的下標字 |
& |
分隔符號 |
決定美醜的關鍵:參數
我們可以注意到 \documentclass
後面有兩個不一樣的東西:一個是 [12pt]
,另一個則是 {article}
。這兩個東西有什麼不一樣呢?在 LaTeX 中,參數的傳遞方式有兩種,一種是選擇參數,也就是以方括號 [我是選擇參數]
包住的,使用者可以留空,不會影響排版,也可以輸入設定指令調整排版。另一種則是必要參數,以花括號 {我是必要參數}
包住,只要使用者沒有輸入內容留空,電腦就不清楚目前需要做什麼。4關於參數的設定,有幾點需要注意的事情:
- 不同於Word,LaTeX 文稿中,空一個與多個英文空白的意思是一樣的,LaTeX 會認作一個空白。
- 按下Enter 鍵不代表換行,換行必須要使用雙斜線(
\\
,Windows 使用者可以同時按下 Ctrl 與 Enter 鍵;masOS 使用則可同時按下 ⌘ 與 ↩︎ 鍵),或是以\newline
、\linebreak
進行換行。
使用指令
LaTeX 的指令是從反斜線後第一個字母開始,到第一個非字母符號為止 (包含空白、標點符號及數字)。因此:
This is my first \LaTeX typesetting example.
這樣的話,由於空白屬於指令的一部分,因此會印出如下面輸出範例的結果。若要避免上述情況,就必須使用以下三種方法:
This is my first {\LaTeX} typesetting example.
This is my first \LaTeX{} typesetting example.
This is my first \LaTeX\ typesetting example.
使用註解
註解符號(%
) 可以放在一行的任何地方,%
之後的文字會被忽略掉,特定的編譯器在註解之後文字會變色。而註解功能最大的好處是,在微調一些參數或設定時,可以使用註解,將更改的地方註解起來或取消註解,並編譯出結果比較前後的差異。
開啟環境
LaTeX 有一種巨集結構,稱為環境(environment),主要是讓作用範圍能 擴大至較大的範圍。所有的環境都起於\begin{環境名稱}
,止於\end{環境名稱}
。這兩個指令之間的文稿都會被作用,而且,環境之內還可以套用其他不同的環境。LaTeX 文稿的內文,就是包在一個
\begin{環境名稱}
...
\end{環境名稱}
這個 document 環境當中。以下就是所有 LaTeX 必須具備的文稿大結構:
\documentclass[]{}
%這裡是preamble 區
\begin{document}
...
\end{document}
前言區(preamble)
這裡可以引用巨集(macro),而且會影響整篇文稿的指令,例如一些事先 定義好的指令,想在整篇文稿中使用,就可以置放在 preamble 區。例如:
章節標題設定
在 LaTeX 的文件裡,章節標題的形成都是由同樣的指令來控制的,這樣有一個好處,臨時插入章節標題及其內文時,我們不必去理會標題編號及目錄的問題,也不必去理會要用什麼字型、及字型大小要多大,LaTeX 會自動計算處理,字型大小也會和內文使用的字型大小互相配合調整,使用者就專心在內文構思、寫作即可。以下由列表來瞭解整個章節結構:
深度編號 | 指令 | 作用及注意事項 |
---|---|---|
-1 | part{} |
部 |
0 | chapter{} |
章,在 article 沒有章 |
1 | section{} |
節 |
2 | subsection{} |
小節 |
3 | subsubsection{} |
次小節 |
4 | paragraph{} |
段落 |
5 | subparagraph{} |
次段落 |
你肯定會問:「深度編號是什麼?」要知道背後的原理,還有很長的路要走。所以在這邊我就留下一個伏筆,待後續之分解。
Footnotes
此處的不聰明並不是指「文繞圖」(wrap text around a picture)的功能,而是指圖片時常不會在正確的位置上,容易因為文字的多寡而跑版。↩︎
Choosing a LaTeX Compiler. (n.d.). Overleaf, Online LaTeX Editor. https://www.overleaf.com/learn/latex/Choosing_a_LaTeX_Compiler↩︎
關於 LaTeX 在 VS code 上的設定,可以參考這篇文章:https://hackmd.io/@DextinChen/VSCode-LaTeX-setting?utm_source=preview-mode&utm_medium=rec,裡面有詳盡的解說。↩︎
但有時某些指令中,必要參數可以不必填寫,例如
\date{}
,不填寫的話,則標題頁的日期就不會顯示,而是會留一行空白,直接跳到下一行的作者列。↩︎
Reuse
Citation
@online{sung2024,
author = {Sung, Anthony},
title = {LaTeX {教學系列:LaTeX} {簡介}},
date = {2024-06-22},
url = {https://yueswater.com/posts/2024-06-22-latex/},
langid = {en}
}