最新消息: 歡迎造訪全新的 Overleaf 學習中心,探索免費的線上課程與直播網路研討會——這裡有你精通 LaTeX 並充分運用 Overleaf 所需的一切。本入門教學不需要你事先具備任何 LaTeX 經驗。希望在你完成本教學時,不僅已經寫出了你的第一份 LaTeX 文件,也具備了足夠的知識與信心,朝精通 LaTeX 的下一步邁進。
什麼是 LaTeX?
LaTeX(讀作「LAY-tek」或「LAH-tek」)是一套用來排版出專業外觀文件的工具。不過,LaTeX 的運作方式與你可能用過的許多其他文書處理應用程式(例如 Microsoft Word 或 LibreOffice Writer)大不相同:那些「所見即所得(WYSIWYG)」工具為使用者提供一個互動式頁面,讓使用者在其中輸入、編輯文字並套用各種樣式。LaTeX 的運作方式則截然不同:你的文件是一個純文字檔案,其中穿插著用來表達預期(排版)結果的 LaTeX 指令。為了產生可見的排版文件,你的 LaTeX 檔案會交由一個稱為 TeX 引擎_的軟體處理,該引擎會依據嵌入在文字檔中的指令來引導與控制排版流程,將 LaTeX 指令與文件文字轉換成經過專業排版的 PDF 檔案。這意味著你只需要專注於文件的_內容,而電腦會透過 LaTeX 指令與 TeX 引擎處理_視覺外觀_(格式)。為什麼要學 LaTeX?
對於是否該學習使用 LaTeX 而非其他文件撰寫應用程式,有各種支持或反對的論點;但說到底,這是一個依據個人偏好、喜好以及文件需求所做的個人選擇。 支持 LaTeX 的論點包括:- 支援排版極為複雜的數學式、表格,以及自然科學領域的技術內容;
- 提供註腳、交叉引用與參考文獻管理功能;
- 能輕鬆產生複雜或繁瑣的文件元素,例如索引、詞彙表、目錄、圖表目錄;
- 由於其本身的可程式化特性,加上數千個免費附加套件所提供的擴充性,能高度自訂以製作量身打造的文件。
撰寫你的第一段 LaTeX
第一步是建立一個新的 LaTeX 專案。你可以在自己的電腦上建立一個新的.tex 檔案;或者,也可以在 Overleaf 中開始一個新專案。
讓我們從最簡單的可運作範例開始,此範例可以直接在 Overleaf 中開啟:
\documentclass{article} 宣告了文件的類型,也就是所謂的_文件類別(class)_,它控制文件的整體外觀。不同類型的文件需要不同的類別;例如,履歷所需的類別會與科學論文不同,後者可能使用標準的 LaTeX article 類別。你可能處理的其他類型文件,也可能需要 book 或 report 等不同的類別。若想了解有哪些眾多可用的 LaTeX 類別,請造訪 CTAN(Comprehensive TeX Archive Network)上的相關頁面。
設定好文件類別後,我們的內容(也就是文件的_本文(body)_)會寫在 \begin{document} 與 \end{document} 標籤之間。開啟上述範例後,你可以修改文字,完成後透過_重新編譯文件_來檢視排版後的 PDF。在 Overleaf 中,只要按下 Recompile 即可,如下方簡短影片所示:
任何 Overleaf 專案都可以設定為每次編輯時自動重新編譯:點擊 Recompile 按鈕旁的小箭頭,並將 Auto Compile 設為 On,如下方螢幕截圖所示:

文件的導言區
上方的螢幕截圖顯示 Overleaf 將 LaTeX 文件儲存為名為main.tex 的檔案:依照慣例,包含文件 LaTeX 程式碼的檔案會使用 .tex 副檔名。
前一個範例示範了文件內容如何輸入在 \begin{document} 指令之後;而 .tex 檔案中出現在該處_之前_的所有內容都稱為_導言區(preamble),它扮演著文件「設定」區段的角色。在導言區中,你會定義文件類別(類型),以及撰寫文件時要使用的語言等細節;載入你想使用的_套件(稍後會有更多說明),也會在這裡套用其他類型的設定。
一個最精簡的文件導言區可能如下所示:
\documentclass[12pt, letterpaper]{article} 定義了文件的整體類別(類型)。額外的參數必須以逗號分隔,並放在方括號([...])中,用來設定此 article 類別的實例;也就是我們希望這份以 article 類別為基礎的文件所使用的設定。
在此範例中,這兩個參數的作用如下:
12pt設定字型大小letterpaper設定紙張大小
9pt、11pt、12pt;但若未指定,預設大小為 10pt。至於紙張大小,其他可用的值有 a4paper 與 legalpaper。詳細資訊請參閱有關頁面大小與邊界的文章。
導言區中的這一行
加入標題、作者與日期資訊
若要為文件加入標題、作者與日期,需要在_導言區_(_而非_文件本文)中再加入三行。這三行分別是:\title{My first LaTeX document}:文件標題\author{Hubert Farnsworth}:在此寫下作者姓名,並可選擇在大括號內使用\thanks指令:\thanks{Funded by the Overleaf team.}:可以加在author指令大括號內的作者姓名之後。它會加上一個上標,以及一個內容為大括號內文字的註腳。如果你需要在論文中感謝某個機構,這會很有用。
\date{August 2022}:你可以手動輸入日期,或使用\today指令,在每次編譯文件時排版出當天的日期
\maketitle 指令:
加入註解
LaTeX 是一種「程式碼」,只不過專門用於文件排版;因此,就像以任何其他程式語言撰寫的程式碼一樣,在文件中加入註解會非常有用。LaTeX 註解是一段不會被排版、也不會以任何方式影響文件的文字——常用於加入「待辦」備註、加入說明性的備註、為複雜的巨集提供行內解釋,或在偵錯時將幾行/幾段 LaTeX 程式碼註解掉。 若要在 LaTeX 中建立註解,只要在該行開頭寫上% 符號即可,如下方以前述範例為基礎的程式碼所示:
粗體、斜體與底線
接下來,我們來看看一些文字格式指令:- 粗體:在 LaTeX 中,粗體文字使用
\textbf{...}指令排版。 - 斜體:斜體文字使用
\textit{...}指令產生。 - 底線:若要為文字加上底線,請使用
\underline{...}指令。
\emph{_argument_},它對 _argument_ 的效果取決於上下文。在一般文字中,強調的文字會以斜體呈現;但如果在斜體文字中使用,此行為就會反轉——請看下一個範例:
- 注意:某些套件(例如 Beamer)會改變
\emph指令的行為。
加入圖片
在本節中,我們將說明如何在 LaTeX 文件中加入圖片。Overleaf 支援三種插入圖片的方式:- 使用位於編輯器工具列上的 Insert Figure 按鈕(
),將圖片插入 Visual Editor 或 Code Editor。 - 將圖片複製並貼上至 Visual Editor 或 Code Editor。
- 使用 Code Editor 撰寫插入圖形的 LaTeX 程式碼。
\includegraphics{...},以及用來告知 LaTeX 圖形所在位置的 \graphicspath{...}。
若要使用 graphicx 套件,請在 Overleaf 文件的導言區中加入以下這一行:
\graphicspath{{images/}} 告訴 LaTeX,圖片存放在目前目錄下名為 images 的資料夾中:
\includegraphics{universe} 指令負責實際將圖片插入文件中。這裡的 universe 是不含副檔名的圖片檔案名稱。
注意:
- 雖然
\includegraphics指令允許使用包含副檔名的完整檔名,但最佳做法是省略副檔名,因為這樣會讓 LaTeX 搜尋所有支援的格式。 - 一般而言,圖形的檔名不應包含空白或多個句點;此外,將圖片檔案上傳至 Overleaf 時,也建議副檔名使用小寫字母。
圖說、標籤與參照
可以透過figure 環境為圖片加上圖說、標籤與參照,如下所示:
\includegraphics[width=0.75\textwidth]{mesh}:這種形式的\includegraphics會指示 LaTeX 將圖片寬度設為文字寬度的 75%——文字寬度的值儲存在\textwidth指令中。\caption{A nice plot.}:顧名思義,此指令用來設定圖說,圖說可以放在圖片的上方或下方。如果你建立圖目錄,就會在目錄中使用此圖說。\label{fig:mesh1}:若要在文件中參照這張圖片,可使用\label指令為它加上標籤。標籤會用來為圖片產生編號,並搭配下一個指令讓你能參照它。\ref{fig:mesh1}:這段程式碼會被替換為所參照圖片的對應編號。
figure 環境或類似的環境中,好讓 LaTeX 能自動將圖片放在文件中合適的位置。
以下 Overleaf 說明文章提供了更多指引:
- 圖片的定位
- 插入圖片
在 LaTeX 中建立清單
你可以使用_環境(environment)_建立不同類型的清單;環境用來封裝實作特定排版功能所需的 LaTeX 程式碼。環境以\begin{_environment-name_} 開始,並以 \end{_environment-name_} 結束,其中 _environment-name_ 可以是 figure、tabular,或是其中一種清單類型:用於無序清單的 itemize,或用於有序清單的 enumerate。
無序清單
無序清單由itemize 環境產生。每個清單項目前面都必須加上 \item 指令,如下所示:
有序清單
有序清單使用與無序清單相同的語法,但改用enumerate 環境建立:
unordered 清單相同,每個項目前面都必須加上 \item 指令;在這裡,它會自動產生從 1 開始的有序清單編號。
如需更多資訊,你可以開啟這個示範各種 LaTeX 清單類型的較大型 Overleaf 專案,或參閱我們關於 LaTeX 清單的專門說明文章,其中提供了更多範例,並說明如何建立自訂清單。
在 LaTeX 中加入數學式
LaTeX 的主要優點之一,就是能輕鬆撰寫數學式。LaTeX 提供兩種排版數學的撰寫模式:- _行內(inline)_數學模式,用於撰寫屬於段落一部分的公式
- _展示(display)_數學模式,用於撰寫不屬於文字或段落一部分、而是排版在獨立行上的數學式
行內數學模式
讓我們來看一個行內數學模式的範例:\( ... \)、$ ... $ 或 \begin{math} ... \end{math},如下例所示:
展示數學模式
以展示模式排版的方程式可以有編號,也可以沒有編號,如下例所示:\[ ... \]、\begin{displaymath} ... \end{displaymath} 或 \begin{equation} ... \end{equation}。過去排版展示模式數學式時需要使用 $$ 字元作為分隔符號,例如 $$ _... display math here ..._$$,但此方法已不再建議使用:請改用 LaTeX 的分隔符號 \[ ... \]。
更完整的範例
以下範例示範了使用 LaTeX 排版的各種數學內容。equation* 環境,此環境由 amsmath 套件提供,因此我們需要在文件導言區中加入以下這一行:
amsmath,請參閱我們的說明文章。
- 數學式
- 下標與上標
- 括號與圓括號
- 分數與二項式
- 對齊方程式
- 運算子
- 數學模式中的間距
- 積分、總和與極限
- 數學模式中的展示樣式
- 希臘字母與數學符號列表
- 數學字型
基本文件結構
接下來,我們將探討摘要,以及如何將 LaTeX 文件劃分為不同的章、節與段落。摘要
科學論文通常會提供_摘要(abstract)_,也就是對其核心主題或論點的簡短概述/總結。下一個範例示範如何使用 LaTeX 的abstract 環境排版摘要:
段落與換行
摘要就位後,我們就可以開始撰寫第一個段落。下一個範例示範了:- 如何透過按兩次「Enter」鍵來建立新段落,也就是結束目前這一行,並插入一行空白行;
- 如何在不開始新段落的情況下另起新行:使用
\\指令(即兩個反斜線)插入手動換行;或者使用\newline指令。
\\ 與 \newline 指令的用法:
\\ 或 \newline 來「模擬」段落間距較大的效果,因為這可能會干擾 LaTeX 的排版演算法。建議的做法是持續使用空白行來建立新段落,而不使用任何 \\,並在導言區加入 \usepackage{parskip} 以載入 parskip 套件。
更多關於段落的資訊,請參閱以下文章:
- 段落與換行
- 如何在 LaTeX 中變更段落間距
- LaTeX Error: There’s no line here to end 提供了更多關於使用
\\的建議與指引。
章與節
較長的文件,無論使用何種撰寫軟體,通常都會劃分為部、章、節、小節等。LaTeX 也提供了文件結構指令,但可用的指令及其實作方式(它們的作用)可能會因所使用的文件類別而異。舉例來說,使用book 類別建立的文件可以劃分為部、章、節、小節等,但 letter 類別則不提供(不支援)任何這類指令。
下一個範例示範用來建構以 book 類別為基礎之文件結構的指令:
\chapter{First Chapter} 會建立一個標題為 First Chapter 的新章,\section{Introduction} 會產生一個標題為 Introduction 的節,依此類推。節還可以進一步劃分為 \subsection{...},甚至 \subsubsection{...}。節、小節等的編號是自動產生的,但可以使用相應指令的所謂_星號版本_來停用編號,也就是在指令結尾加上星號(*),例如 \section*{...} 與 \subsection*{...}。
整體而言,LaTeX 文件類別提供以下章節指令,而各個類別分別支援其中相關的子集:
\part{part}\chapter{chapter}\section{section}\subsection{subsection}\subsubsection{subsubsection}\paragraph{paragraph}\subparagraph{subparagraph}
\part 與 \chapter 指令僅在 report 與 book 文件類別中提供。
如需更多關於文件結構指令的資訊,請參閱 Overleaf 關於節與章的文章。
建立表格
Overleaf 提供三種建立表格的方式:- 使用 Visual Editor(或 Code Editor)工具列中的 Insert Table 按鈕。
- 在使用 Visual Editor 時,從其他文件複製並貼上表格。
- 在 Code Editor 中撰寫表格的 LaTeX 程式碼。
在 LaTeX 中建立基本表格
我們先從一個示範如何排版基本表格的範例開始:tabular 環境是 LaTeX 建立表格的預設方法。你必須為此環境指定一個參數,在此例中為 {c c c},告訴 LaTeX 表格有三欄,且每欄中的文字都必須置中。你也可以使用 r 讓文字靠右對齊,或使用 l 讓文字靠左對齊。對齊符號 & 用來在表格的一列中區隔各個儲存格。若要結束一列,請使用_換行_指令 \\。我們的表格放在 center 環境中,使其在頁面的文字寬度內置中。
加入框線
tabular 環境支援在表格中加入水平線與垂直線(框線):
- 若要在列的上方與下方加入水平框線,請使用
\hline指令 - 若要在欄與欄之間加入垂直框線,請使用垂直線參數
|
{|c|c|c|},宣告了三個(置中的)欄,且各欄之間以垂直線(框線)分隔;此外,我們使用 \hline 在第一列上方與最後一列下方各加入一條水平框線:
表格標題、標籤與參照
你可以用與圖片大致相同的方式,為表格加上標題並進行參照。唯一的差別在於,你要使用table 環境,而非 figure 環境。
表格 \ref{table:data} 示範了如何加入表格標題並參照表格。
加入目錄
建立目錄非常簡單,因為\tableofcontents 指令幾乎會替你完成所有工作:
\addcontentsline 指令。
下載完成的文件
以下簡短影片示範如何下載專案的原始碼或排版後的 PDF 檔案: 更多資訊請參閱 Overleaf 說明文章從 Overleaf 匯出你的作品。尋找與使用 LaTeX 套件
LaTeX 不僅提供強大的排版功能,還透過附加_套件_提供了一個_可擴充的框架_。LaTeX 並不試圖提供「包山包海」的指令與功能,而是被設計為_可擴充的_,讓使用者能載入外部程式碼(套件),以提供更專門的排版功能,或擴充 LaTeX 的內建功能——例如排版表格。如加入圖片一節中所見,graphicx 套件透過提供匯入圖形檔案的指令來擴充 LaTeX,而它是透過在導言區中寫入以下內容來載入的:
載入套件
如上所述,套件是透過\usepackage 指令在文件導言區中載入的;但由於(許多)LaTeX 套件提供了一組可用來設定其行為的_選項_,因此 \usepackage 指令通常看起來像這樣:
[...]」告訴 LaTeX 在載入 somepackage 時應套用哪一組選項。在使用者所要求的選項組中,個別選項或設定通常以逗號分隔;例如,geometry 套件提供許多用來設定 LaTeX 頁面版面的選項,因此 geometry 的典型用法可能如下所示:
geometry 套件是由全球 LaTeX 社群成員撰寫並貢獻、免費提供給任何想使用者的套件之一。
如果某個 LaTeX 套件不提供任何選項,或使用者想使用套件選項的預設值,則可以這樣載入:
\usepackage[...]{somepackage} 時,LaTeX 會尋找一個名為 _somepackage_.sty 的對應檔案,並需要載入及處理它——以便讓套件的指令可供使用,並執行該套件所提供的任何其他程式碼。如果 LaTeX 找不到 _somepackage_.sty,就會以錯誤終止,如下方 Overleaf 範例所示:
尋找套件資訊:CTAN
套件透過 Comprehensive TeX Archive Network(通常簡稱為 CTAN)散布;在撰寫本文時,CTAN 託管了來自 2881 位貢獻者的 6287 個套件。CTAN 對自身的描述為……分布於世界各地、提供 TeX 相關資料下載的一組網際網路站點。你可以瀏覽 CTAN 來尋找實用的套件;例如: 你也可以使用(頁面頂端的)搜尋功能。

