Overleaf 完整教學:線上 LaTeX 論文排版從零上手
2026 更新 · 繁體中文 · 含中文字型設定、參考文獻、Git 同步與編譯錯誤對照表
\documentclass[12pt, a4paper]{article} → xelatex main.tex → main.pdf ✓
Overleaf 是目前寫 LaTeX 最省事的方式:不用在自己電腦裝幾 GB 的 TeX 發行版,開瀏覽器就能編譯,還能多人同時改同一份論文。但對中文使用者來說,它有幾個一定會踩到的坑——中文變成空白、編譯逾時、參考文獻出現一堆問號。這篇教學把「從零到交出一份可投稿的論文」需要的東西整理成一份可以邊做邊查的文件,每一段都附可以直接複製的程式碼。
目錄
- Overleaf 是什麼?什麼時候該用、什麼時候別用
- 介面導覽與必調的五個設定
- 第一份能編譯的文件:最小範例逐行拆解
- 繁體中文排版:最容易卡關的一關
- 章節、目錄與交叉參照
- 數學公式
- 插入圖片
- 製作表格
- 參考文獻與引用
- 範本與投稿注意事項
- 協作、版本歷史與備份
- 用 Git/GitHub 管理 Overleaf 專案
- 編譯錯誤排除對照表
- 寫作效率技巧
- 免費版夠不夠用?
- 常見問題 FAQ
1. Overleaf 是什麼?什麼時候該用、什麼時候別用
Overleaf 是一個線上 LaTeX 編輯器。你在瀏覽器裡寫 .tex 原始碼,程式碼送到 Overleaf 的伺服器編譯,右邊即時顯示 PDF。伺服器上跑的是完整的 TeX Live 發行版,包含 CTAN 上五千多個套件,所以絕大多數期刊範本需要的套件都已經裝好,你不需要自己 tlmgr install。
它解決的其實是三個很具體的痛點:
- 環境安裝:本機裝 TeX Live 動輒 5–7 GB,還要處理編輯器、路徑、字型快取。Overleaf 直接省掉。
- 「在我電腦可以編譯」:指導教授、共同作者、審稿人如果各自用不同版本的套件,同一份原始碼可能編不出來。Overleaf 上大家用的是同一個環境、同一個 TeX Live 版本。
- 協作:兩個人可以同時編輯同一份
.tex,像 Google Docs 一樣看到對方的游標,不用再互傳論文_final_v3_教授改_真的最終.zip。
Overleaf、本機 LaTeX 與 Word 的取捨
| 比較項目 | Overleaf | 本機 LaTeX(TeX Live + VS Code) | Word |
|---|---|---|---|
| 安裝成本 | 零,註冊即用 | 高,5 GB 起跳+編輯器設定 | 低 |
| 編譯速度 | 受伺服器負載與方案影響,免費版有時間上限 | 快,只受自己電腦限制 | 不適用 |
| 大型專案(數百頁、大量 TikZ) | 容易編譯逾時 | 最合適 | 常當機 |
| 數學公式 | 優秀 | 優秀 | 勉強 |
| 參考文獻自動化 | 優秀(BibTeX/biblatex) | 優秀 | 需 EndNote 等外掛 |
| 多人同時編輯 | 原生支援 | 需搭配 Git | OneDrive 版本可 |
| 離線工作 | 不行 | 可以 | 可以 |
| 版本控制 | 內建歷史,Git 為付費功能 | Git 完整支援 | 弱 |
什麼情況下不要用 Overleaf
- 幾百頁、大量 TikZ 或 pgfplots 的長文件:每次編譯都要重跑全部繪圖,免費版的編譯時間上限會不夠用。這種專案建議本機編譯,或至少把圖先產生成 PDF 再
\includegraphics。 - 網路不穩或需要在飛機上寫:Overleaf 必須連線才能編譯。
- 資料有保密要求:原始碼會存在 Overleaf 的伺服器上。有些單位規定研究資料不得上傳第三方雲端,先確認你們的規範,或改用學校自架的 Overleaf Server Pro。
- 只是要寫兩頁的報告,而且不需要公式:老實說 Word 或 Markdown 比較快。
2. 介面導覽與必調的五個設定
註冊後(可用 Google 帳號登入),首頁是專案列表。點 New Project 有三種常用起手式:
- Blank Project:空白專案,適合自己從頭寫。
- Upload Project:把期刊給的
.zip範本整包上傳,這是投稿時最常用的方式。 - Templates:從範本庫複製,IEEE、ACM、Springer、各校學位論文都有。
進到專案後是三欄式介面:左邊檔案樹(.tex、圖片、.bib)、中間編輯器、右邊 PDF 預覽。中間欄上方的 Recompile 按鈕旁邊有個小箭頭,藏著「Clear cached files」,之後排錯會用到。
開工前一定要調的五個設定
這些都在左上角 Menu 裡,很多人的第一個「為什麼編不出來」都出在這:
- Compiler(編譯器):預設是 pdfLaTeX。要寫中文請改成 XeLaTeX,這是最關鍵的一項。若範本要求 LuaLaTeX 也在同一個選單切換。
- TeX Live version:新專案預設用最新版(目前 Overleaf 已提供 TeX Live 2026)。已經在寫的專案不要隨便換版本,套件更新可能讓原本能編的檔案出現新錯誤。反過來說,如果投稿系統指定版本(例如 arXiv 只接受最近兩個 TeX Live 版本),就在這裡調成對應版本再產生最終 PDF。
- Main document:多檔案專案時,告訴 Overleaf 哪一個
.tex是主檔。改了檔名後常常忘記調這個,結果一直編譯到舊檔。 - Spell check:語言選 English 或關掉。中文文件開著會滿版紅波浪線。
- Editor theme / Font size:純粹舒適度,但你會盯它好幾個月,值得花三十秒調。
Code Editor 與 Visual Editor
編輯器右上角可以切換兩種模式。Code Editor 是原始的 LaTeX 程式碼;Visual Editor 會把 \section、粗體、公式即時渲染成接近成品的樣子,適合不熟 LaTeX 語法的共同作者(例如只想改文字的教授)。建議自己用 Code Editor,因為排錯時你需要看到真正的程式碼;請共同作者改稿時再叫他們切 Visual Editor。
值得記住的快捷鍵
| 功能 | Windows / Linux | macOS |
|---|---|---|
| 編譯 | Ctrl + Enter | Cmd + Enter |
| 註解/取消註解該行 | Ctrl + / | Cmd + / |
粗體 \textbf{} | Ctrl + B | Cmd + B |
斜體 \textit{} | Ctrl + I | Cmd + I |
| 搜尋/取代 | Ctrl + F | Cmd + F |
| 復原 | Ctrl + Z | Cmd + Z |
另外一個很多人不知道的功能:在 PDF 預覽上雙擊某一段文字,編輯器會自動跳到對應的原始碼位置(SyncTeX)。三百頁的論文靠這個找段落,比捲軸快十倍。
3. 第一份能編譯的文件:最小範例逐行拆解
先看一份最小、但結構完整的英文文件:
\documentclass[12pt, a4paper]{article} % 文件類型與全域選項
\usepackage[margin=2.5cm]{geometry} % 頁面邊界
\usepackage{amsmath, amssymb} % 數學排版
\usepackage{graphicx} % 插圖
\usepackage[hidelinks]{hyperref} % 超連結與 PDF 書籤(建議最後載入)
\title{A Minimal Working Example}
\author{Your Name}
\date{\today}
\begin{document} % 正文開始
\maketitle
\begin{abstract}
This is the abstract.
\end{abstract}
\section{Introduction}
Hello, \LaTeX{}. 這一行是內文。
\end{document} % 正文結束
三個必須理解的區塊:
\documentclass:決定整份文件的骨架。article(論文、報告)、report(有章 chapter,適合中長篇)、book(書籍,雙面排版)、beamer(投影片)。中括號裡是選項,例如12pt、a4paper、twocolumn。- 前導區(preamble):
\documentclass到\begin{document}之間。所有\usepackage、自訂巨集、頁面設定都放這裡。hyperref習慣放最後載入,因為它會改寫很多其他套件的指令。 - 正文:
\begin{document}與\end{document}之間。\end{document}之後寫什麼都不會被排版。
排錯用的小技巧:MWE(Minimal Working Example)。當文件編不出來又找不到原因時,開一個新專案,只貼會出問題的那一小段加上必要的
\usepackage,看看是否重現。八成的情況下,你在做這件事的過程中就會發現是哪一行的問題。
4. 繁體中文排版:最容易卡關的一關
直接在預設設定下打中文,你會得到「編譯成功,但 PDF 上中文全部消失」或一連串 Missing character 警告。原因有兩個:預設的 pdfLaTeX 引擎不支援 Unicode 字型,而且文件也還沒指定任何中文字型。
解法固定是兩件事:把編譯器改成 XeLaTeX(Menu → Compiler → XeLaTeX),然後在前導區設定 CJK 字型。以下兩種寫法擇一。
方案 A:xeCJK + 思源字型(最單純、最不容易出事)
如果你用的是英文期刊範本,只是需要在裡面放中文,或者你只想最小幅度改動文件,用這個:
\documentclass[12pt, a4paper]{article}
\usepackage{fontspec} % 英文字型
\usepackage{xeCJK} % 中文字型與中英混排
\setCJKmainfont{Noto Serif CJK TC} % 內文:思源宋體(繁中)
\setCJKsansfont{Noto Sans CJK TC} % 無襯線:思源黑體
\setCJKmonofont{Noto Sans Mono CJK TC}
\setmainfont{Times New Roman} % 若字型不存在會報錯,可改用 TeX Gyre Termes
\XeTeXlinebreaklocale "zh" % 依中文規則斷行
\XeTeXlinebreakskip = 0pt plus 1pt % 字間微調
\linespread{1.5} % 行距,學位論文常見要求
\begin{document}
\section{研究背景}
這是一段中文,可以直接和 English words 混排,數學也照常運作:$E = mc^2$。
\end{document}
注意 Noto Serif CJK TC 的後綴:TC 是繁體中文,SC 是簡體,JP/KR 分別是日韓。字形(例如「骨」「戶」的寫法)會不一樣,寫台灣的論文請用 TC。
方案 B:ctex 系列文件類型(整份文件都是中文時)
ctexart/ctexrep/ctexbook 會一併把「Abstract」「Figure」「Chapter」等標題改成中文、調整章節格式與行距,適合整份中文的報告或學位論文:
\documentclass[12pt, a4paper, UTF8]{ctexart}
% 重要:不要寫 fontset=windows,Overleaf 伺服器沒有微軟字型,一定編譯失敗
% 不加 fontset 選項時,會自動使用開源的 Fandol 字型(簡體字形)
% 要繁體字形,明確指定思源:
\setCJKmainfont{Noto Serif CJK TC}
\setCJKsansfont{Noto Sans CJK TC}
\title{基於歷史地圖影像的都市道路資料萃取}
\author{王小明}
\date{\today}
\begin{document}
\maketitle
\tableofcontents
\section{緒論}
\subsection{研究動機}
ctexart 會自動把「Contents」改成「目錄」,章節編號也是中文習慣的格式。
\end{document}
最常見的中文編譯失敗原因:從網路抄來的 ctex 設定裡有
fontset=windows或\setCJKmainfont{微軟正黑體}。Overleaf 伺服器上只有開源授權的字型,沒有微軟或 Adobe 的字型,一定會出現Font ... cannot be found。
Overleaf 上可用的繁體中文字型
| 字型名稱 | 樣式 | 備註 |
|---|---|---|
| Noto Serif CJK TC | 宋/明體 | 思源宋體,字數最完整,內文首選 |
| Noto Sans CJK TC | 黑體 | 思源黑體,標題與投影片好用 |
| Noto Sans Mono CJK TC | 等寬 | 程式碼區塊 |
| cwTeXMing | 明體 | 台灣中文 TeX 學會字型,字重較細 |
| cwTeXKai | 楷體 | 引文、強調常用 |
| cwTeXHeiBold | 粗黑 | 標題 |
| cwTeXYen | 圓體 | 非正式文件 |
| AR PL UMing TW | 明體 | 文鼎,字數較少,可能缺字 |
| AR PL UKai TW | 楷體 | 文鼎 |
cwTeX 系列沒有內建粗體,需要加 AutoFakeBold 讓 XeLaTeX 模擬:
\usepackage{xeCJK}
\xeCJKsetup{AutoFallBack=true}
\setCJKmainfont[AutoFakeBold=4]{cwTeXMing}
\setCJKmainfont[FallBack, AutoFakeBold=4]{Noto Serif CJK TC} % 缺字時自動補
上傳自己的字型檔
學位論文有時規定特定字型。把 .ttf/.otf 上傳到專案(建議放在 fonts/ 資料夾),然後指定路徑:
\setCJKmainfont[Path=./fonts/, BoldFont=SourceHanSerifTC-Bold.otf]{SourceHanSerifTC-Regular.otf}
字型是有授權的軟體。商業字型(如華康、文鼎商用版)通常不允許你上傳到第三方伺服器或嵌入 PDF 再散布,投稿前請確認授權條款。思源黑體/思源宋體(Source Han/Noto)是 SIL Open Font License,可以安心用。
中英混排的細節調整
\xeCJKsetup{
CJKmath = true, % 允許在數學模式中夾中文
PunctStyle = kaiming, % 標點樣式:全形、開明式(逗號句號佔半形空間)
CheckSingle = true % 避免單字成行
}
\punctstyle{kaiming}
另外兩個常見需求:段落首行縮排兩個字用 \setlength{\parindent}{2em};中文論文常要求的雙倍行距用 \usepackage{setspace} 搭配 \doublespacing,比直接調 \linespread 更能正確處理註腳與圖表標題。
5. 章節、目錄與交叉參照
LaTeX 的核心價值在這裡:你只描述「這是一個章節」,格式由文件類型統一決定,不是靠你手動調字級。
| 指令 | 層級 | 可用於 |
|---|---|---|
\part{} | -1 | book, report |
\chapter{} | 0 | book, report(article 沒有) |
\section{} | 1 | 全部 |
\subsection{} | 2 | 全部 |
\subsubsection{} | 3 | 全部 |
\paragraph{} | 4 | 全部,預設不編號 |
加星號的版本(\section*{致謝})不編號、也不進目錄,適合致謝、參考文獻標題。
自動目錄
\tableofcontents % 目錄
\listoffigures % 圖目錄
\listoftables % 表目錄
\setcounter{tocdepth}{2} % 目錄只顯示到 subsection
目錄需要編譯兩次才會正確:第一次把章節資訊寫進
.aux檔,第二次才讀出來排版。Overleaf 通常會自動處理,但如果目錄是空的或頁碼不對,先按第二次 Recompile。
交叉參照:永遠不要手寫編號
在要被引用的地方下 \label,在引用的地方用 \ref。編號、頁碼全部自動維護,你在中間插入一張圖也不會亂掉。
\section{方法}\label{sec:method}
如第~\ref{sec:method} 節所述,我們在第~\pageref{sec:method} 頁定義了……
式~\eqref{eq:loss} 是我們的損失函數。
圖~\ref{fig:pipeline} 呈現整體流程。
命名慣例建議加前綴,找起來清楚:sec:、fig:、tab:、eq:、alg:。
更省事的做法是用 cleveref,它會自動幫你補上「圖」「表」「節」這些字:
\usepackage[nameinlink]{cleveref}
\crefname{figure}{圖}{圖}
\crefname{table}{表}{表}
\crefname{section}{第}{第}
% 使用時:\cref{fig:pipeline} 會輸出「圖 3」
拆成多個檔案
論文寫到第三章時,單一 .tex 會變得難以捲動。標準做法是一章一個檔:
% main.tex
\begin{document}
\input{sections/00-abstract}
\input{sections/01-introduction}
\input{sections/02-related-work}
\input{sections/03-method}
\end{document}
\input{} 單純把內容貼進來;\include{} 會在前後強制分頁(適合 chapter),而且可以搭配 \includeonly{03-method} 只編譯特定章節——這在專案變大、每次編譯都要等的時候非常有用,因為交叉參照的編號還是會保持正確。
6. 數學公式
先在前導區載入 \usepackage{amsmath, amssymb},這幾乎是所有數學排版的基礎。
行內與獨立公式
行內公式用單一錢字號:$f(x) = ax^2 + bx + c$,會嵌在文字行裡。
獨立公式(不編號):
\[
\int_{0}^{\infty} e^{-x^2}\, dx = \frac{\sqrt{\pi}}{2}
\]
獨立公式(自動編號、可被引用):
\begin{equation}\label{eq:loss}
\mathcal{L}(\theta) = \frac{1}{N} \sum_{i=1}^{N} \left\| y_i - \hat{y}_i(\theta) \right\|^2
\end{equation}
不要用已經被淘汰的 $$ ... $$,它在 amsmath 下會產生錯誤的行距。
多行對齊
\begin{align}
\nabla \cdot \mathbf{E} &= \frac{\rho}{\varepsilon_0} \label{eq:gauss}\\
\nabla \cdot \mathbf{B} &= 0 \\
\nabla \times \mathbf{E} &= -\frac{\partial \mathbf{B}}{\partial t}
\end{align}
& 標記對齊位置(通常放在等號前),\\ 換行。不想每行都編號就用 align*,或在單行後加 \nonumber。
分段函數、矩陣與括號
% 分段函數
\begin{equation}
\mathrm{ReLU}(x) =
\begin{cases}
x, & \text{if } x > 0 \\
0, & \text{otherwise}
\end{cases}
\end{equation}
% 矩陣:pmatrix 圓括號、bmatrix 方括號、vmatrix 行列式
\[
\mathbf{A} = \begin{bmatrix}
a_{11} & a_{12} \\
a_{21} & a_{22}
\end{bmatrix}
\]
% 自動調整大小的括號
\[
\left( \sum_{i=1}^{n} x_i \right)^2 \le n \sum_{i=1}^{n} x_i^2
\]
最常用的符號速查
| 輸出 | 指令 | 輸出 | 指令 |
|---|---|---|---|
| α β γ θ λ μ σ | \alpha \beta \gamma \theta \lambda \mu \sigma | ≤ ≥ ≠ ≈ | \le \ge \neq \approx |
| ∑ ∏ ∫ | \sum \prod \int | ∈ ∉ ⊂ ∪ ∩ | \in \notin \subset \cup \cap |
| 分數 | \frac{a}{b} | → ⇒ ↔ | \to \Rightarrow \leftrightarrow |
| 根號 | \sqrt[n]{x} | ∀ ∃ ∞ ∂ | \forall \exists \infty \partial |
| 上下標 | x^{2}_{i} | 粗體向量 | \mathbf{v} 或 \boldsymbol{\mu} |
| 公式中的文字 | \text{if} | 運算子 | \log \exp \max \arg\max |
忘記某個符號怎麼打時,Overleaf 編輯器工具列上的 Symbol Palette 可以點選插入(帳號層級的付費功能)。另一個通用做法是用 Detexify 這類手寫辨識網站,畫出符號就會告訴你指令。
定理環境
\usepackage{amsthm}
\newtheorem{theorem}{定理}[section]
\newtheorem{lemma}[theorem]{引理}
\theoremstyle{definition}
\newtheorem{definition}{定義}[section]
\begin{theorem}[柯西不等式]\label{thm:cs}
對任意實數序列 $a_i, b_i$,有 $\left(\sum a_i b_i\right)^2 \le \sum a_i^2 \sum b_i^2$。
\end{theorem}
\begin{proof}
考慮二次式 $\sum (a_i t + b_i)^2 \ge 0$ 的判別式即得。
\end{proof}
7. 插入圖片
先把圖片檔拖進 Overleaf 左側檔案樹(建議統一放在 figures/ 資料夾),再用 graphicx:
\usepackage{graphicx}
\graphicspath{{figures/}} % 之後就不用每次寫資料夾名稱
\begin{figure}[htbp]
\centering
\includegraphics[width=0.8\linewidth]{pipeline.pdf}
\caption{系統流程圖。輸入為掃描的歷史地圖影像,輸出為向量化道路網。}
\label{fig:pipeline}
\end{figure}
幾個關鍵細節:
- 寬度用相對值:
width=0.8\linewidth比width=12cm好,換成雙欄排版時不會爆版。 [htbp]是建議不是命令:h(here)、t(top)、b(bottom)、p(獨立頁)。LaTeX 會依照排版品質決定實際位置,圖跑到下一頁是正常行為,不是 bug。真的要強制原地放,可載入float套件用[H],但通常會讓頁面留下大片空白。\caption要放在\label前面,順序反了編號會抓錯。圖的標題習慣放在圖下方,表的標題放在表上方。- 檔名大小寫有分別:Overleaf 跑在 Linux 上,
Fig1.PNG和fig1.png是兩個不同的檔案。這是 Windows 使用者上傳專案後最常見的File not found原因。檔名也不要有空格和中文。 - 優先用向量圖:PDF、EPS、SVG(需轉檔)放大不會糊,且檔案通常更小。matplotlib 用
plt.savefig("fig.pdf"),QGIS、Illustrator 也都能輸出 PDF。照片才用 PNG/JPG。
並排子圖
\usepackage{subcaption}
\begin{figure}[htbp]
\centering
\begin{subfigure}[b]{0.48\linewidth}
\includegraphics[width=\linewidth]{before.png}
\caption{原始掃描影像}\label{fig:before}
\end{subfigure}
\hfill
\begin{subfigure}[b]{0.48\linewidth}
\includegraphics[width=\linewidth]{after.png}
\caption{萃取結果}\label{fig:after}
\end{subfigure}
\caption{處理前後對照。}\label{fig:compare}
\end{figure}
兩張子圖的寬度加起來要略小於 1(例如 0.48 + 0.48),留一點間距,否則會出現 Overfull hbox 警告。
圖太多、編譯太慢時
在 \documentclass 加上 draft 選項,所有圖片會用空框代替、只顯示檔名,編譯速度快非常多。校稿內容時開著,最後輸出前再拿掉:
\documentclass[12pt, a4paper, draft]{article}
8. 製作表格
LaTeX 表格語法是出了名的不直觀,但規則其實只有三條:& 分隔欄、\\ 換列、欄位格式在 \begin{tabular}{...} 裡宣告(l 靠左、c 置中、r 靠右、p{3cm} 固定寬度可換行)。
\usepackage{booktabs} % 專業的三線表
\begin{table}[htbp]
\centering
\caption{不同模型在測試集上的表現。}
\label{tab:results}
\begin{tabular}{lccc}
\toprule
模型 & 準確率 (\%) & 召回率 (\%) & F1 \\
\midrule
Baseline & 82.1 & 79.4 & 0.807 \\
ResNet-50 & 88.6 & 86.2 & 0.874 \\
本研究方法 & \textbf{91.3} & \textbf{90.7} & \textbf{0.910} \\
\bottomrule
\end{tabular}
\end{table}
學術表格的排版慣例:不要畫直線,橫線只用三條(
\toprule、\midrule、\bottomrule)。這是booktabs的設計理念,也是多數期刊的要求。滿格的格線表格是 Word 的習慣,在論文裡會顯得業餘。
合併儲存格與過寬表格
\usepackage{multirow}
\usepackage{tabularx} % 自動撐滿寬度的 X 欄位
% 跨欄與跨列
\begin{tabular}{lcc}
\toprule
\multirow{2}{*}{方法} & \multicolumn{2}{c}{資料集} \\
\cmidrule(lr){2-3}
& 台北 & 高雄 \\
\midrule
A & 0.91 & 0.88 \\
\bottomrule
\end{tabular}
% 讓表格剛好等於文字寬度
\begin{tabularx}{\linewidth}{lXX}
\toprule
項目 & 說明 & 備註 \\
\midrule
甲 & 這一欄很長的時候會自動換行 & 也會 \\
\bottomrule
\end{tabularx}
表格還是太寬時,選項依序是:縮小字級(\small、\footnotesize)、改用 \resizebox{\linewidth}{!}{...} 強制縮放(會讓字級和內文不一致,盡量少用)、或用 rotating 套件的 sidewaystable 橫著放。
手刻大表格很折磨人,實務上多數人會用 Tables Generator 這類線上工具把 Excel 內容轉成 LaTeX 語法,或用 Python 的 pandas.DataFrame.to_latex() 直接輸出。
9. 參考文獻與引用
這是 LaTeX 最值得學的功能:你維護一份 .bib 資料庫,換期刊時只要改一行 style,整份文獻的格式(APA、IEEE、Chicago)就會全部重排。
BibTeX 還是 biblatex?
| BibTeX + natbib | biblatex + biber | |
|---|---|---|
| 成熟度 | 最老牌,期刊範本幾乎都用這個 | 較新,設計較現代 |
| 中文/Unicode | 支援較差 | 完整支援 |
| 客製化 | 要改 .bst 檔,很痛苦 | 用 LaTeX 巨集即可 |
| 建議 | 投稿期刊、範本已指定時照用 | 自己主導的學位論文、中文文獻多時 |
建立 .bib 檔
在 Overleaf 新增一個 references.bib,內容像這樣:
@article{shannon1948,
author = {Shannon, Claude E.},
title = {A Mathematical Theory of Communication},
journal = {Bell System Technical Journal},
year = {1948},
volume = {27},
number = {3},
pages = {379--423},
doi = {10.1002/j.1538-7305.1948.tb01338.x}
}
@inproceedings{he2016resnet,
author = {He, Kaiming and Zhang, Xiangyu and Ren, Shaoqing and Sun, Jian},
title = {Deep Residual Learning for Image Recognition},
booktitle = {Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR)},
year = {2016},
pages = {770--778}
}
不用手打:Google Scholar 每筆結果下方的引號圖示 → 選 BibTeX → 複製貼上。IEEE Xplore、ACM DL、arXiv 頁面也都有匯出鍵。Zotero、Mendeley 可以整庫匯出成 .bib(Overleaf 的即時同步是付費功能,但手動匯出再上傳完全免費)。
常見陷阱:BibTeX 會自動把標題轉成該 style 規定的大小寫,導致
LaTeX變成Latex、DNA變成Dna。解法是用大括號保護:title = {A Study of {DNA} Sequences with {LaTeX}}。
寫法 A:natbib(期刊範本最常見)
\usepackage[numbers, sort&compress]{natbib}
\begin{document}
如 \citet{shannon1948} 所指出…… % Shannon (1948) 指出
此結論已被廣泛驗證 \citep{he2016resnet}。 % (He et al., 2016)
\bibliographystyle{IEEEtran} % 或 plainnat, apalike, unsrt
\bibliography{references} % 對應 references.bib,不用寫副檔名
\end{document}
寫法 B:biblatex + biber
\usepackage[backend=biber, style=apa, sorting=nyt]{biblatex}
\addbibresource{references.bib} % 這裡要寫副檔名
\begin{document}
根據 \textcite{shannon1948} 的定義……
這個現象已被觀察到 \parencite{he2016resnet}。
\printbibliography[title={參考文獻}]
\end{document}
Overleaf 會自動偵測你用的是 BibTeX 還是 biber 並執行對應的程式,不需要手動設定。
參考文獻沒出現?
- 引用變成
[?]:多按幾次 Recompile。文獻需要「LaTeX → BibTeX → LaTeX → LaTeX」四趟才會全部解析完,快取有問題時就用 Recompile 旁的下拉選單 Clear cached files 再編一次。 - 整份參考文獻是空的:檢查是不是所有文獻都沒有被
\cite過。BibTeX 只列出有引用的項目,想全部列出加\nocite{*}。 - citation key 打錯:大小寫、底線都要完全一致。
- 中文文獻:BibTeX 排序中文作者常出錯,這種情況直接改用 biblatex,或在
.bib裡加sortname欄位指定排序用的拼音。
10. 範本與投稿注意事項
投稿或寫學位論文時,不要自己從空白專案排版。正確流程是先拿到官方範本:
- 期刊/研討會官網下載
.zip範本 → Overleaf 首頁 New Project → Upload Project。這是最保險的做法,因為官網版本一定是最新的。 - 或到 Overleaf 的 Templates 範本庫搜尋(IEEE Conference、ACM Primary Article、Springer LNCS、Elsevier elsarticle 都在),點 Open as Template 複製一份到自己的帳號。
- 各校學位論文範本通常由學校圖書館或系上學長姊維護,搜尋「校名 + 論文 LaTeX 範本 + GitHub」多半找得到;找不到的話,用
ctexbook自己搭配封面頁也可行。
拿到範本之後的紀律:
- 不要動
\documentclass提供的版面設定。不要為了塞進頁數限制而偷改geometry邊界、行距或字級——多數研討會會用程式檢查,被抓到直接退稿。 - 不要修改範本自帶的
.cls或.bst檔,出版社的排版流程會用他們自己的版本覆蓋掉。 - 先確認 TeX Live 版本。arXiv 只支援最新與前一個 TeX Live 版本;若你的專案還停在很舊的版本,提交前先在 Menu 切換並確認能編過。
- 投稿前檢查:所有字型是否嵌入 PDF(用 Adobe Acrobat 或
pdffonts檢查)、圖片解析度是否足夠(點陣圖建議 300 dpi 以上)、有沒有殘留\todo或draft選項、Overfull hbox 有沒有造成文字超出版面。 - 準備原始碼壓縮檔:多數出版社要求上傳 source。Overleaf 的 Menu → Download → Source 會給你完整的
.zip。
11. 協作、版本歷史與備份
分享專案
右上角 Share 有兩種方式:
- Email 邀請:對方需有 Overleaf 帳號,可設定 Can edit 或 Can view。共同作者用這個。
- Link sharing:產生「可編輯」與「唯讀」兩條連結,任何拿到連結的人都能開啟。方便,但也代表連結外流等於專案外流,投稿中的論文請謹慎使用。
免費方案的協作人數有限制(單一專案通常只能再加一位協作者),需要整個實驗室一起改稿就要升級,或改用 Link sharing 折衷。
版本歷史
Menu 旁的 History 可以看到每一次修改、是誰改的,並還原到任一時間點。差別在於:免費帳號只保留最近 24 小時,付費帳號有完整歷史,還能對重要版本加上標籤(例如「投稿版 v1」「口試版」)。
追蹤修訂與註解
Track Changes(類似 Word 的修訂模式,可接受/拒絕每一處修改)與 Comments 是付費功能,權限依專案擁有者的方案而定——也就是說,如果教授有付費方案而專案是他開的,免費帳號的學生在那個專案裡一樣能用。
備份策略
雲端服務不等於備份。實務上建議至少做到其中一項:
- 每到一個里程碑就 Menu → Download → Source,把
.zip存到自己的硬碟或雲端硬碟。 - 付費方案的話,直接接 Git 或 GitHub 同步(下一節),這是最省事也最可靠的做法。
- 付費方案也支援 Dropbox 雙向同步,適合不熟 Git 的人。
12. 用 Git/GitHub 管理 Overleaf 專案
Overleaf 的 Git 整合與 GitHub 同步都是付費功能(個人訂閱、群組訂閱,或學校參加 Overleaf Commons 的成員)。如果你有,非常值得設定起來:本機用自己習慣的編輯器寫、需要協作時開瀏覽器,兩邊同一份原始碼。
把專案 clone 下來
# 專案內 Menu(或左側 Integrations)→ Git,複製給你的網址
git clone https://git.overleaf.com/<project-id>
cd <project-id>
# 帳號密碼欄位:使用者名稱填 git,密碼填 Overleaf 產生的
# Git authentication token(Account Settings 裡產生),不是登入密碼
之後就是一般的 Git 流程:
git pull # 先抓下線上協作者的修改
# ...在本機編輯...
git add .
git commit -m "Rewrite method section"
git push
幾個必須知道的限制
- Overleaf 只支援線性歷史。它的 Git bridge 是把 Overleaf 內部的版本系統翻譯成 Git,不是完整的 Git 實作。分支、merge commit、force push 都可能出問題,實務上請維持單一分支、push 前先 pull(必要時
git pull --rebase)。 - 不要讓 Git 客戶端自動輪詢。有些 GUI 工具會定期 fetch,容易觸發 Overleaf 的速率限制。
- GitHub 同步是另一個功能:它把 Overleaf 專案連到一個 GitHub repo,兩邊各自修改後,在 Overleaf 按同步鍵手動 merge。適合想把論文原始碼公開、或想用 GitHub Actions 的人。
加碼:用 GitHub Actions 自動編譯 PDF
把 Overleaf 專案同步到 GitHub 之後,可以讓 GitHub 在每次 push 時自動編譯出 PDF——電腦關機也照跑,還能自動附在 Release 上給共同作者下載。在 repo 建立 .github/workflows/build.yml:
name: Build LaTeX PDF
on:
push:
branches: [ main ]
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Compile with XeLaTeX
uses: xu-cheng/latex-action@v3
with:
root_file: main.tex
latexmk_use_xelatex: true
- name: Upload PDF
uses: actions/upload-artifact@v4
with:
name: paper
path: main.pdf
如果你的文件用了中文字型,記得把字型檔一起放進 repo 並用 Path= 指定,因為 Actions 的容器裡未必有 Overleaf 伺服器上那套字型。
13. 編譯錯誤排除對照表
LaTeX 的錯誤訊息以晦澀著稱,但九成問題都落在下面這幾類。看到紅字先確認一件事:錯誤行號經常不是真正的問題所在,通常要往前找最近一個沒有正確結束的環境或括號。
| 錯誤訊息 | 真正的原因 | 怎麼修 |
|---|---|---|
Undefined control sequence | 用了未定義的指令,通常是拼錯,或忘記載入提供該指令的套件 | 檢查拼字;查那個指令屬於哪個套件並 \usepackage(例如 \includegraphics 需要 graphicx) |
Missing $ inserted | 在一般文字裡用了只能在數學模式使用的字元,如 _、^、\alpha | 把該段包進 $...$;若真的要顯示底線請寫 \_ |
File `xxx.sty' not found | 套件名稱拼錯,或該套件不在 TeX Live 裡 | 到 CTAN 確認正確名稱;真的沒有就把 .sty 檔上傳到專案根目錄 |
LaTeX Error: File `fig.png' not found | 路徑或大小寫不符(Overleaf 跑在 Linux 上,區分大小寫) | 核對檔名的每一個字元;檔名避免空格與中文;確認 \graphicspath 尾端有斜線 |
Missing \begin{document} | 前導區出現了會產生輸出的內容,例如中文字或一般文字寫在 \usepackage 之間 | 把內容移到 \begin{document} 之後;檢查有沒有多餘的大括號 |
Runaway argument / Paragraph ended before ... was complete | 大括號沒有配對,或環境沒有 \end | 用編輯器的括號配對高亮往前找;\end{itemize} 之類是否漏寫 |
Too many unprocessed floats | 連續放了太多圖表,LaTeX 的浮動佇列塞爆 | 在適當位置插入 \clearpage,強制把待排的圖表輸出 |
Overfull \hbox (xx pt too wide) | 警告而非錯誤:某一行超出版面,常見於長網址、長程式碼、過寬表格 | 用 \usepackage{url} 或 microtype 改善斷行;表格改用 tabularx |
Compile timeout / 編譯逾時 | 免費方案有編譯時間上限,大量 TikZ、pgfplots、minted 很容易超過 | 先 Clear cached files;開 draft 模式;把 TikZ 圖預先編成 PDF 再 include;拆檔搭配 \includeonly;仍不行就本機編譯或升級方案 |
| 中文變成空白或方框 | 編譯器沒改成 XeLaTeX,或指定了伺服器上沒有的字型 | Menu → Compiler → XeLaTeX;字型改成 Noto Serif CJK TC 等開源字型 |
引用顯示 [?]、目錄空白 | 輔助檔(.aux、.bbl)還沒生成或已過期 | 連按兩三次 Recompile;仍不行就 Clear cached files 重編 |
看不懂錯誤時的通則:點錯誤訊息右邊的 View logs 看完整 log,從第一個錯誤開始修——後面的錯誤常常只是連鎖反應,第一個修好就全消失了。
14. 寫作效率技巧
- 自訂巨集省時間:常打的東西定義成指令,日後要改格式只要改一處。
\newcommand{\R}{\mathbb{R}} \newcommand{\method}{HistoRoad} % 方法名稱之後要改,改這裡就好 \newcommand{\figref}[1]{圖~\ref{#1}} - 用 todonotes 管理待辦:
\usepackage[textsize=small]{todonotes},然後\todo{這裡要補實驗數據}會在頁邊留下醒目標記,交稿前搜尋\todo確認都清空。 - latexdiff 產生修改對照:改稿後想讓教授或審稿人看到「哪裡改了」,用 latexdiff 比對兩個版本產生標示新增/刪除的 PDF。Overleaf 上可以直接在 History 裡比較兩個版本,或本機跑
latexdiff old.tex new.tex > diff.tex。 - Word count:Menu → Word Count,會呼叫 TeXcount 算出實際字數(排除指令),投稿有字數限制時很實用。
- 註解掉一整段:用
\usepackage{comment}的\begin{comment}...\end{comment},比每行加%乾淨。 - 把常用前導區存成範本:自己開一個「MyPreamble」專案放好中文設定、慣用套件與巨集,之後每篇新論文都從它複製。
15. 免費版夠不夠用?
先確認一件事:很多大學已經購買 Overleaf 的機構授權(Overleaf Commons),用學校 email 註冊就自動升級成 Professional。付錢之前先搜尋「你的學校名稱 + Overleaf」或問圖書館。
| 功能 | 免費方案 | 付費方案 |
|---|---|---|
| 專案數量與編輯 | 不限 | 不限 |
| 編譯時間上限 | 較短,大型專案容易逾時 | 顯著加長 |
| 單一專案協作者 | 受限(通常 1 位) | 多人 |
| 版本歷史 | 最近 24 小時 | 完整歷史+版本標籤 |
| Track Changes/註解 | 否 | 是 |
| Git/GitHub/Dropbox 同步 | 否 | 是 |
| Zotero/Mendeley 即時同步 | 否 | 是 |
方案價格與細節請以 Overleaf 官方定價頁為準(分 Standard 與 Professional,年繳較便宜,學生另有折扣)。判斷標準很簡單:如果你會遇到編譯逾時、需要教授在文件上留修訂意見,或想要 Git 同步,這三件事免費版做不到,其他大致都夠用。單純自己寫一篇十幾頁的論文,免費方案完全可行。
16. 常見問題 FAQ
Overleaf 可以離線使用嗎?
不行,編譯在伺服器端進行,必須連線。需要離線工作有兩個選項:用付費的 Git 整合把專案 clone 到本機、搭配本機安裝的 TeX Live 編譯;或在出門前 Menu → Download → Source 下載原始碼。
為什麼我的中文在 PDF 上不見了?
幾乎都是編譯器沒改。Menu → Compiler 換成 XeLaTeX,並在前導區用 \usepackage{xeCJK} 搭配 \setCJKmainfont{Noto Serif CJK TC} 指定字型。若你複製的設定裡有 fontset=windows 或微軟字型名稱,請移除,伺服器上沒有那些字型。
Overleaf 免費版有什麼限制?
主要是三項:編譯時間上限較短、版本歷史只保留 24 小時、單一專案的協作者人數受限,另外 Git/GitHub/Dropbox 與文獻管理軟體同步、Track Changes 都屬付費功能。文件本身的編輯與 PDF 產出沒有限制。
編譯逾時(compile timeout)怎麼辦?
依序試:Recompile 下拉選單裡的 Clear cached files;在 \documentclass 加 draft 選項暫時不渲染圖片;把 TikZ/pgfplots 圖預先編成 PDF 再 \includegraphics;用 \includeonly 只編譯正在寫的章節;真的無解就本機編譯或升級方案。
Overleaf 的資料安全嗎?可以放未發表的論文嗎?
Overleaf 提供傳輸加密與存取控制,多數大學也將它列為認可的學術工具,但原始碼確實存放在第三方伺服器。若你的研究涉及機密資料或受資安規範約束,請先確認單位規定,或使用機構自架的 Overleaf Server Pro。另外,Link sharing 產生的可編輯連結等同開放權限,投稿中的論文建議改用 email 邀請。
可以把 Overleaf 文件轉成 Word 嗎?
沒有內建轉檔。實務做法是下載 .zip 原始碼後用 Pandoc 轉換(pandoc main.tex -o main.docx --bibliography=references.bib),複雜的公式、表格與交叉參照通常需要人工修補。反過來,如果期刊只收 Word,一開始就不要用 LaTeX 會比較省事。
學校有提供免費的 Overleaf Professional 嗎?
不少大學參加了 Overleaf Commons,師生用學校 email 註冊或綁定即可自動取得付費功能。先到學校圖書館或計中的網站搜尋「Overleaf」,這比自己訂閱划算太多。
初學者從哪裡開始最快?
不要先讀完整本 LaTeX 手冊。直接複製一份範本,改成自己的內容,遇到問題再回來查。順序上先搞定:能編譯的最小文件 → 中文設定 → 章節與交叉參照 → 圖表 → 參考文獻。這五件事會覆蓋你論文九成的需求。
結語
LaTeX 的學習曲線集中在前兩個禮拜,撐過去之後,它會在你改第七版、換第三個期刊格式、要求把所有圖重編號的那些時刻回本。而 Overleaf 讓那兩個禮拜的門檻低了很多——你不必先成為系統管理員,才能開始寫論文。
建議把這頁加入書籤,寫論文時遇到錯誤直接跳到錯誤排除對照表,中文出問題就回到繁體中文設定那一節。 本頁為 Overleaf 使用教學,內容以官方文件與實務經驗整理。Overleaf 的方案內容與 TeX Live 版本可能調整,實際規格請以官方頁面為準。
