LaTeX 完整入門:從第一份 PDF 到中文、公式、圖表與參考文獻

部分資料由 AI 生成。

LaTeX 是以純文字撰寫、再編譯成 PDF 的排版系統。它特別適合公式多、章節長、需要交叉引用或管理參考文獻的報告與論文。剛開始會多一道編譯步驟,但文件結構穩定後,目錄、編號、引用與版面都能由系統一致處理。

本文從安裝開始,依序介紹文件結構、繁體中文、數學公式、圖片、表格、交叉引用、參考文獻與除錯。範例以 2026 年的 TeX Live、LuaLaTeX 與 VS Code + LaTeX Workshop 為主,也提供 Overleaf、MiKTeX 與 MacTeX 的選擇方式。

本文最後更新於 2026 年 9 月 14 日。第一次接觸 LaTeX 時,先完成「最快開始的方法」「建立第一份文件」與「加入繁體中文」;需要寫報告時,再讀公式、圖表及參考文獻章節。

目錄

展開目錄

先理解 LaTeX 的工作方式

Word 類編輯器直接顯示接近成品的頁面;LaTeX 則把內容與排版命令寫進 .tex 純文字檔,再交給編譯引擎產生 PDF。原始碼可以使用 Git 管理,也容易搜尋、比較與重複使用。

flowchart LR A[main.tex<br/>文字與排版命令] --> B[LaTeX 編譯引擎] C[圖片與字型] --> B D[references.bib<br/>文獻資料] --> B B --> E[main.pdf] B --> F[日誌與輔助檔] F -. 再次編譯 .-> B

常見名詞容易混在一起,可以先這樣分:

名稱 用途 例子
LaTeX 發行版 提供編譯器、套件、字型與管理工具 TeX Live、MiKTeX、MacTeX
編譯引擎 讀取 .tex 並排版 pdfLaTeX、XeLaTeX、LuaLaTeX
編輯器 編寫原始碼、呼叫編譯器、預覽 PDF VS Code、TeXworks、TeXShop、Overleaf
建置工具 自動判斷要編譯幾次及是否執行文獻工具 latexmk

只安裝 VS Code 或 LaTeX Workshop 還不能編譯文件;本機仍需要 TeX Live、MiKTeX 或 MacTeX。Overleaf 在遠端準備好編譯環境,因此瀏覽器開啟專案後即可使用。

最快開始的方法

不想安裝:使用 Overleaf

若只是第一次試用、需要與同學共同編輯,或學校提供 Overleaf 帳號,可以先建立空白專案,把本文範例貼進 main.tex 後按下 Recompile。優點是不用處理本機套件與環境變數;缺點是編譯仰賴網路,免費方案也可能有編譯時間與協作功能限制。

Windows:TeX Live + VS Code

本文建議一般初學者安裝完整的 TeX Live,再搭配 VS Code 的 LaTeX Workshop。完整安裝占用空間較大,但較少在寫到一半時缺套件。

  1. TeX Live 官方安裝頁下載 install-tl-windows.exe
  2. 執行安裝程式。若電腦空間足夠,可保留完整安裝方案;安裝時間會受到 CTAN 鏡像站與網路速度影響。
  3. 安裝完成後開啟新的 PowerShell,確認指令可用:
latex --version
lualatex --version
latexmk --version
  1. 在 VS Code 的 Extensions 搜尋並安裝 LaTeX Workshop
  2. 完全關閉再重開 VS Code,開啟含有 main.tex 的資料夾後執行 Build LaTeX project。

若 Windows 使用者資料夾名稱含非 ASCII 字元,而 TeX Live 安裝或 SyncTeX 遇到異常,可把 TeX Live 與 LaTeX 專案放在英數路徑,例如 C:\texliveC:\latex-projects。不要在路徑問題尚未確認前反覆重裝。

也可以改用 MiKTeX,它能在需要時下載缺少的套件。使用 LaTeX Workshop 的預設 latexmk 配方時,還要確認系統有可用的 Perl;若想減少額外設定,TeX Live 通常較省事。

macOS:MacTeX

MacTeX 官方網站安裝完整 MacTeX。它包含 TeX Live、TeXShop 與相關工具,支援 Intel 與 Apple 晶片。安裝後可先在 Terminal 確認:

which lualatex
lualatex --version
latexmk --version

若編輯器找不到 TeX,macOS 上的標準執行檔連結通常是 /Library/TeX/texbin。修改 PATH 後要重開編輯器,讓它讀取新環境。

Ubuntu/Debian

發行版套件庫的版本可能比 TeX Live 官方版舊,但安裝和更新方式最單純。空間足夠時可安裝完整套件:

sudo apt update
sudo apt install texlive-full latexmk

若不想安裝完整集合,可依需求選擇 texlive-latex-extratexlive-lang-chinesetexlive-luatexbiber 等套件。精簡安裝較省空間,缺點是遇到 File ... not found 時要自行找出對應套件。

建立第一份文件

建立資料夾 latex-first-document,在裡面新增 main.tex

\documentclass{article}

\title{My First LaTeX Document}
\author{Your Name}
\date{\today}

\begin{document}

\maketitle

\section{Introduction}
Hello, LaTeX!

\end{document}

在該資料夾開啟終端機並執行:

latexmk -pdf main.tex

成功後會得到 main.pdf。使用 VS Code 時,也可按 Ctrl + Alt + B 執行 LaTeX Workshop 的預設建置,再從側邊欄開啟 PDF。快捷鍵可能受作業系統、版本或其他外掛程式影響,以 Command Palette 顯示的命令為準。

文件分成兩部分:

  • \documentclass{article}\begin{document} 之前是前言區,用來選擇文件類別、載入套件與設定全域格式。
  • \begin{document}\end{document} 之間是本文內容。

常用文件類別如下:

類別 適合內容
article 作業、短報告、論文文章
report 有章節的長篇報告、學位論文
book 書籍,支援左右頁與更完整的前後文結構
beamer 簡報
ctexartctexrep 需要中日韓文字與中文章節名稱的文章、報告

加入繁體中文

中文文件建議使用 LuaLaTeX 或 XeLaTeX,兩者能直接使用 Unicode 與系統字型。以下範例使用 ctexart,並要求 LuaLaTeX 編譯:

\documentclass[UTF8]{ctexart}
\usepackage[a4paper,margin=2.5cm]{geometry}

\title{我的第一份中文 LaTeX 文件}
\author{王小明}
\date{\today}

\begin{document}

\maketitle

\section{前言}
這份文件使用 UTF-8 編碼與 LuaLaTeX 編譯。

\section{內容}
中文、English 與數學公式可以放在同一份文件中。

\end{document}

編譯指令:

latexmk -lualatex main.tex

若系統找不到中文字型,可用 fontspecxeCJKluatexja-fontspec 指定已安裝的字型,但跨電腦分享時要確認對方也有同一套字型。專案需要長期重現時,應在 README 記錄編譯引擎、TeX Live 年份與字型名稱。

不要用 pdfLaTeX 直接編譯上述中文範例。pdfLaTeX 的傳統字型與編碼流程不適合直接處理現代 Unicode 中文;看到亂碼或 Unicode character 錯誤時,先確認實際執行的引擎是否為 LuaLaTeX/XeLaTeX。

文字、章節與清單

LaTeX 以空白行分隔段落。原始碼中的單一換行通常只當成空白,不會強制換行;要開始新段落,留一行空白即可。

\section{研究背景}
這是第一段。原始碼可以依閱讀需要換行,LaTeX 會自行決定版面上的斷行位置。

這是第二段。

\subsection{研究目的}
文字可以使用 \textbf{粗體}\textit{斜體}\emph{語意強調}

項目符號與編號清單分別使用 itemizeenumerate

\begin{itemize}
  \item 第一項
  \item 第二項
\end{itemize}

\begin{enumerate}
  \item 安裝 LaTeX 發行版。
  \item 建立原始碼。
  \item 編譯並檢查 PDF。
\end{enumerate}

以下字元在 LaTeX 有特殊用途,若要顯示字面內容,通常要加反斜線:

想顯示 寫法 原本用途
% \% 註解
$ \$ 數學模式
& \& 表格欄位分隔
# \# 巨集參數
_ \_ 數學下標
{} \{\} 命令參數與群組
\ \textbackslash{} 命令開頭

百分比符號 % 之後直到該行結尾都屬於註解:

這段會顯示。 % 這段不會出現在 PDF

數學公式

想從基本符號一路學到矩陣、分段函數、多行推導與公式編號,可接著閱讀LaTeX 數學排版完整教學。新頁的每組範例都先列出原始碼,再用本站的 MathJax 顯示實際結果。

行內公式放在 $...$ 之間,例如 質能關係為 $E=mc^2$。。較長的公式可用 equation 環境,方便編號及引用。

\usepackage{amsmath,amssymb}

% 放在 document 環境內
質能關係為 $E=mc^2$\begin{equation}
  \int_0^1 x^2\,\mathrm{d}x = \frac{1}{3}
  \label{eq:integral}
\end{equation}

由式~\eqref{eq:integral} 可得積分結果。

這個網站上的 MathJax 預覽會把下式顯示成獨立公式:

\[ \sum_{k=1}^{n} k = \frac{n(n+1)}{2} \]

常用數學寫法:

結果 LaTeX 原始碼
上標、下標 x^2a_ia_{i+1}
分數 \frac{a}{b}
根號 \sqrt{x}\sqrt[n]{x}
希臘字母 \alpha\beta\theta\Omega
求和、積分 \sum_{i=1}^{n}\int_a^b
自動調整括號 \left( ... \right)
一般文字 \text{條件成立},需要 amsmath

多行推導可使用 align。以 & 指定對齊位置,以 \\ 換到下一行:

\begin{align}
  (a+b)^2
    &= (a+b)(a+b) \\
    &= a^2 + 2ab + b^2
\end{align}

不要用大量空格硬推公式位置;數學模式會忽略一般空格。需要小間距可用 \,,乘號可用 \times,微分符號的直立體可寫成 \mathrm{d}x

圖片、表格與浮動位置

圖片通常放在專案內的 images 資料夾,並以相對路徑引用:

\usepackage{graphicx}

% 放在 document 環境內
\begin{figure}[htbp]
  \centering
  \includegraphics[width=0.75\textwidth]{images/experiment.png}
  \caption{實驗裝置}
  \label{fig:experiment}
\end{figure}

圖~\ref{fig:experiment} 顯示實驗裝置的配置。

figuretable 是浮動環境。參數 [htbp] 表示可嘗試放在原始碼附近、頁首、頁尾或獨立浮動頁;它不是絕對命令。圖片跑到下一頁時,先檢查該頁剩餘空間與圖片尺寸,不要一開始就用負間距強拉位置。

基本表格使用 tabular

\usepackage{booktabs}

\begin{table}[htbp]
  \centering
  \caption{量測結果}
  \label{tab:result}
  \begin{tabular}{lrr}
    \toprule
    樣本 & 電壓(V) & 電流(mA) \\
    \midrule
    A & 5.02 & 18.4 \\
    B & 4.98 & 17.9 \\
    \bottomrule
  \end{tabular}
\end{table}

{lrr} 代表第一欄靠左、後兩欄靠右;每欄以 & 分隔,每列以 \\ 結束。booktabs 的橫線較適合正式報告,也能避免表格被過多直線切碎。

標籤與交叉引用

圖、表、章節和公式應使用 \label\ref,不要手動寫死「見圖 3」。加入新內容後,LaTeX 會自動更新編號。

\section{實驗方法}
\label{sec:method}

詳細流程見第~\ref{sec:method} 節。

標籤名稱只供原始碼辨識,可依類型加前綴:

前綴 用途 例子
sec: 章節 sec:method
fig: 圖片 fig:circuit
tab: 表格 tab:result
eq: 公式 eq:newton

第一次編譯時若看到 ??,通常不是程式壞掉。LaTeX 要先把標籤寫進輔助檔,再於下一輪讀回;latexmk 會自動執行需要的輪數。

參考文獻:BibLaTeX + Biber

文獻少時可以用 thebibliography 手動寫,但報告持續增修時,建議把資料集中在 .bib 檔。以下採用 BibLaTeX 與 Biber。

建立 references.bib

@book{lamport1994,
  author    = {Leslie Lamport},
  title     = {LaTeX: A Document Preparation System},
  edition   = {2},
  year      = {1994},
  publisher = {Addison-Wesley}
}

main.tex 載入文獻資料並引用:

\usepackage[backend=biber,style=numeric]{biblatex}
\addbibresource{references.bib}

% 放在 document 環境內
LaTeX 的設計強調以結構描述文件\cite{lamport1994}\printbibliography

使用 latexmk -lualatex main.tex 時,latexmk 通常會自動呼叫 Biber。若手動執行,順序是:

lualatex main.tex
biber main
lualatex main.tex
lualatex main.tex

biber main 的參數是主檔檔名,不加 .tex。若出現 Citation ... undefined,先確認引用鍵拼字、.bib 語法與 Biber 是否真的執行,再清理輔助檔重新建置。

拆分長文件

長報告不必全部塞在 main.tex。可把章節分開,讓主檔負責全域設定與組合順序:

my-report/
├─ main.tex
├─ references.bib
├─ chapters/
│  ├─ introduction.tex
│  ├─ method.tex
│  └─ results.tex
└─ images/
   └─ experiment.png

main.tex 中使用:

\begin{document}

\maketitle
\tableofcontents

\input{chapters/introduction}
\input{chapters/method}
\input{chapters/results}

\printbibliography

\end{document}

\input 只是把另一個檔案的內容插入目前位置,子檔不需要再次寫 \documentclass\begin{document}。路徑通常以主檔所在資料夾為基準。

若用 Git 管理專案,可以提交 .tex.bib、圖片與必要設定,忽略可重建的輔助檔:

*.aux
*.bbl
*.bcf
*.blg
*.fdb_latexmk
*.fls
*.log
*.out
*.run.xml
*.synctex.gz
*.toc

是否提交 PDF 取決於用途。原始碼倉庫通常忽略 PDF;作業繳交或 release 則可保留指定成品。

可直接編譯的中文報告範例

以下範例全部寫在 main.tex,會產生標題、目錄、公式與表格,適合用來確認 LuaLaTeX、中文字型、交叉引用與套件是否正常。

\documentclass[UTF8,12pt]{ctexart}

\usepackage[a4paper,margin=2.5cm]{geometry}
\usepackage{amsmath,amssymb}
\usepackage{booktabs}
\usepackage{hyperref}

\title{自由落體實驗報告}
\author{王小明}
\date{\today}

\begin{document}

\maketitle
\tableofcontents

\section{實驗目的}

量測物體落下的時間,並由位移與時間估算重力加速度。

\section{理論}

忽略空氣阻力且初速為零時,位移 $h$ 與時間 $t$ 的關係為

\begin{equation}
  h = \frac{1}{2}gt^2,
  \label{eq:fall}
\end{equation}

其中 $g$ 為重力加速度。由式~\eqref{eq:fall} 可得

\begin{equation}
  g = \frac{2h}{t^2}.
\end{equation}

\section{量測結果}

\begin{table}[htbp]
  \centering
  \caption{不同高度的落下時間}
  \label{tab:fall-time}
  \begin{tabular}{ccc}
    \toprule
    次數 & 高度 $h$(m) & 時間 $t$(s) \\
    \midrule
    1 & 1.00 & 0.45 \\
    2 & 1.00 & 0.46 \\
    3 & 1.00 & 0.44 \\
    \bottomrule
  \end{tabular}
\end{table}

量測值整理於表~\ref{tab:fall-time}。後續可計算各次的 $g$,再比較平均值與標準值的差異。

\section{結論}

本實驗示範如何用公式、表格與交叉引用整理量測結果。

\end{document}

編譯:

latexmk -lualatex main.tex

清除輔助檔但保留 PDF:

latexmk -c

連同 PDF 一併清除:

latexmk -C

常見錯誤與除錯順序

LaTeX 的錯誤常會連鎖出現。先修日誌中的第一個錯誤,再重新編譯;直接追最後一條錯誤,往往只會看到前面問題造成的結果。

command not found 或 VS Code 找不到 latexmk

先在 VS Code 以外的新終端機執行:

latexmk --version
lualatex --version

終端機也找不到時,問題在發行版或 PATH;終端機可以、VS Code 不行時,完全關閉並重開 VS Code。Windows 若剛完成 TeX Live 安裝,也可登出再登入,讓所有程式取得新的環境變數。

File 'xxx.sty' not found

代表套件沒有安裝,或目前使用的發行版不是你以為的那套。TeX Live 可先查檔案屬於哪個套件,再用 tlmgr 安裝;MiKTeX 可透過 MiKTeX Console 安裝或啟用缺少套件時詢問。

kpsewhich xxx.sty
tlmgr search --global --file '/xxx.sty'

在 Linux 使用系統套件庫安裝 TeX Live 時,不要混用需要系統管理員權限的發行版套件與不相容的 tlmgr 更新流程。優先透過該 Linux 發行版的套件管理器補齊套件。

Undefined control sequence

常見原因是命令拼錯、忘了載入提供該命令的套件,或使用了不支援的編譯引擎。查看錯誤訊息附近的命令,回頭檢查套件文件與前言區。

Missing } insertedRunaway argument

多半是 {} 沒有成對,或環境缺少對應的 \end{...}。從第一個報錯位置往前檢查,不要只看 LaTeX 猜測插入右括號的那一行。

圖片找不到

確認檔名大小寫、附檔名與相對路徑。Windows 對大小寫通常較寬鬆,Linux 和 Overleaf 會區分 Plot.pngplot.png。移動主檔或用不同工具建置時,也要確認工作目錄是否改變。

引用顯示 ?? 或文獻沒有出現

交叉引用通常需要再編譯;文獻還需要 Biber/BibTeX。使用 latexmk 可自動處理大多數情況。若問題持續,執行 latexmk -C 清除舊輔助檔,再重新建置。

PDF 有警告但仍產生

Overfull \hbox 代表內容超出可排版寬度,常見於長網址、長公式或不能斷行的文字。Underfull \hbox 則代表排版過鬆。警告不一定阻止 PDF 產生,但交件前仍應檢查對應頁面。

寫報告時的檢查表

  • 主檔與所有文字檔使用 UTF-8 編碼。
  • 中文專案固定使用 LuaLaTeX 或 XeLaTeX,並讓編輯器配方一致。
  • 圖、表、公式與章節透過 \label\ref\eqref 引用。
  • 圖片使用相對路徑,檔名大小寫與實際檔案完全相同。
  • 文獻引用鍵存在,Biber/BibTeX 已完成執行。
  • 先修第一個編譯錯誤,再處理後續訊息。
  • 交件前從頭閱讀 PDF,確認目錄、頁碼、浮動位置、字型與超出版面警告。
  • 保留 .tex.bib、圖片與編譯說明,不只保留最後的 PDF。

官方參考資料

完成第一份文件後,最有效的練習是把正在寫的作業搬進 LaTeX:先只處理標題、章節與公式,確認能穩定編譯,再逐步加入圖片、表格和文獻。每次只增加一種結構,發生錯誤時就能快速找到剛改動的位置。