Overleaf 完整教學:線上 LaTeX 論文排版從零上手

2026 更新 · 繁體中文 · 含中文字型設定、參考文獻、Git 同步與編譯錯誤對照表

\documentclass[12pt, a4paper]{article}  →  xelatex main.tex  →  main.pdf ✓

Overleaf 是目前寫 LaTeX 最省事的方式:不用在自己電腦裝幾 GB 的 TeX 發行版,開瀏覽器就能編譯,還能多人同時改同一份論文。但對中文使用者來說,它有幾個一定會踩到的坑——中文變成空白、編譯逾時、參考文獻出現一堆問號。這篇教學把「從零到交出一份可投稿的論文」需要的東西整理成一份可以邊做邊查的文件,每一段都附可以直接複製的程式碼。

目錄

  1. Overleaf 是什麼?什麼時候該用、什麼時候別用
  2. 介面導覽與必調的五個設定
  3. 第一份能編譯的文件:最小範例逐行拆解
  4. 繁體中文排版:最容易卡關的一關
  5. 章節、目錄與交叉參照
  6. 數學公式
  7. 插入圖片
  8. 製作表格
  9. 參考文獻與引用
  10. 範本與投稿注意事項
  11. 協作、版本歷史與備份
  12. 用 Git/GitHub 管理 Overleaf 專案
  13. 編譯錯誤排除對照表
  14. 寫作效率技巧
  15. 免費版夠不夠用?
  16. 常見問題 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 等外掛
多人同時編輯原生支援需搭配 GitOneDrive 版本可
離線工作不行可以可以
版本控制內建歷史,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 裡,很多人的第一個「為什麼編不出來」都出在這:

  1. Compiler(編譯器):預設是 pdfLaTeX。要寫中文請改成 XeLaTeX,這是最關鍵的一項。若範本要求 LuaLaTeX 也在同一個選單切換。
  2. TeX Live version:新專案預設用最新版(目前 Overleaf 已提供 TeX Live 2026)。已經在寫的專案不要隨便換版本,套件更新可能讓原本能編的檔案出現新錯誤。反過來說,如果投稿系統指定版本(例如 arXiv 只接受最近兩個 TeX Live 版本),就在這裡調成對應版本再產生最終 PDF。
  3. Main document:多檔案專案時,告訴 Overleaf 哪一個 .tex 是主檔。改了檔名後常常忘記調這個,結果一直編譯到舊檔。
  4. Spell check:語言選 English 或關掉。中文文件開著會滿版紅波浪線。
  5. Editor theme / Font size:純粹舒適度,但你會盯它好幾個月,值得花三十秒調。

Code Editor 與 Visual Editor

編輯器右上角可以切換兩種模式。Code Editor 是原始的 LaTeX 程式碼;Visual Editor 會把 \section、粗體、公式即時渲染成接近成品的樣子,適合不熟 LaTeX 語法的共同作者(例如只想改文字的教授)。建議自己用 Code Editor,因為排錯時你需要看到真正的程式碼;請共同作者改稿時再叫他們切 Visual Editor。

值得記住的快捷鍵

功能Windows / LinuxmacOS
編譯Ctrl + EnterCmd + Enter
註解/取消註解該行Ctrl + /Cmd + /
粗體 \textbf{}Ctrl + BCmd + B
斜體 \textit{}Ctrl + ICmd + I
搜尋/取代Ctrl + FCmd + F
復原Ctrl + ZCmd + 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(投影片)。中括號裡是選項,例如 12pta4papertwocolumn
  • 前導區(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 系列文件類型(整份文件都是中文時)

ctexartctexrepctexbook 會一併把「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{}-1book, report
\chapter{}0book, 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\linewidthwidth=12cm 好,換成雙欄排版時不會爆版。
  • [htbp] 是建議不是命令:h(here)、t(top)、b(bottom)、p(獨立頁)。LaTeX 會依照排版品質決定實際位置,圖跑到下一頁是正常行為,不是 bug。真的要強制原地放,可載入 float 套件用 [H],但通常會讓頁面留下大片空白。
  • \caption 要放在 \label 前面,順序反了編號會抓錯。圖的標題習慣放在圖下方,表的標題放在表上方。
  • 檔名大小寫有分別:Overleaf 跑在 Linux 上,Fig1.PNGfig1.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 + natbibbiblatex + 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 變成 LatexDNA 變成 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. 範本與投稿注意事項

投稿或寫學位論文時,不要自己從空白專案排版。正確流程是先拿到官方範本:

  1. 期刊/研討會官網下載 .zip 範本 → Overleaf 首頁 New Project → Upload Project。這是最保險的做法,因為官網版本一定是最新的。
  2. 或到 Overleaf 的 Templates 範本庫搜尋(IEEE Conference、ACM Primary Article、Springer LNCS、Elsevier elsarticle 都在),點 Open as Template 複製一份到自己的帳號。
  3. 各校學位論文範本通常由學校圖書館或系上學長姊維護,搜尋「校名 + 論文 LaTeX 範本 + GitHub」多半找得到;找不到的話,用 ctexbook 自己搭配封面頁也可行。

拿到範本之後的紀律:

  • 不要動 \documentclass 提供的版面設定。不要為了塞進頁數限制而偷改 geometry 邊界、行距或字級——多數研討會會用程式檢查,被抓到直接退稿。
  • 不要修改範本自帶的 .cls.bst,出版社的排版流程會用他們自己的版本覆蓋掉。
  • 先確認 TeX Live 版本。arXiv 只支援最新與前一個 TeX Live 版本;若你的專案還停在很舊的版本,提交前先在 Menu 切換並確認能編過。
  • 投稿前檢查:所有字型是否嵌入 PDF(用 Adobe Acrobat 或 pdffonts 檢查)、圖片解析度是否足夠(點陣圖建議 300 dpi 以上)、有沒有殘留 \tododraft 選項、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;在 \documentclassdraft 選項暫時不渲染圖片;把 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 版本可能調整,實際規格請以官方頁面為準。

You may also like