論文格式排版你真的做對了嗎? 常用格式及其LaTeX書寫方法介紹

機器之心發表於2017-09-27
論文格式排版是你的文章留給審稿人的第一印象,一篇排版糟糕的文章很難會使審稿人相信這篇文章提出了卓有建樹的思想。當論文提供模板時我們可以按照模板進行排版, 而對於模板沒有涵蓋的地方甚至沒有模板可用時, 我們有必要了解大家約定俗成的排版格式。本文簡要介紹了論文書寫過程中常用的格式規範及其 LaTeX 書寫方法。
論文格式排版你真的做對了嗎? 常用格式及其LaTeX書寫方法介紹

基本符號

中文排版

不論中英文, 科技文章通常均使用英文半形標點。中文文章的行內公式和兩邊正文之間要有空格。例如:


通過計算協方差矩陣~$\Sigma$~我們可以\ldots % 注意"~"

論文格式排版你真的做對了嗎? 常用格式及其LaTeX書寫方法介紹

此外, 推薦使用 XeLaTeX 編譯器編譯中文文章. XeLaTeX 對中文支援較好, 比如它可以自動在行內公式和兩邊正文之間加空格, 無需人為指定。


括號/引用號

英文文章中括號, 以及引用符號 (如 [1], [2] 等) 要與前一個詞留有空格, 而中文文章通常則不同。例如:


Principal component analysis (PCA) is a statistical procedure that \ldots

論文格式排版你真的做對了嗎? 常用格式及其LaTeX書寫方法介紹


引號

和 Word 這種所見即所得的排版軟體不同, LaTeX 用不同的符號分別表示左引號和右引號。左引號用`表示 (鍵盤左上角, Tab 鍵上面), 右引號用'表示 (平時輸引號的那個鍵). 雙引號用過輸入兩個引號來得到。例如:

`machine', ``learning''.

論文格式排版你真的做對了嗎? 常用格式及其LaTeX書寫方法介紹

連字元

不同長度的"-"表示不同含義。 一個"-"長度的連字元用於詞中; 兩個"-"長度的連字元常用於制定範圍; 三個"-"長度的連字元是破折號; 數學中的負數要用數學環境下的-得到。例如:

daughter-in-law, pages 13--67, yes --- or no?, $-1$.

論文格式排版你真的做對了嗎? 常用格式及其LaTeX書寫方法介紹


著重強調

在正式文章中, 通常不使用粗體進行強調, 需要強調的詞使用斜體標出。例如:

PCA is the simplest of the true \emph{eigenvector}-based multivariate analyses.

論文格式排版你真的做對了嗎? 常用格式及其LaTeX書寫方法介紹


數字分隔

文中出現的位數很長的數字要用逗號","進行分割, 每 3 位數字進行分割, 逗號兩側不加空格。例如:

The MNIST dataset contains 60,000 images \ldots

論文格式排版你真的做對了嗎? 常用格式及其LaTeX書寫方法介紹


圖表格式

所有的圖表都要有題目, 圖的題目要寫在圖的下方, 而表的題目要寫在表格的上方。圖表的題目是一句話, 所以要以句號"."結尾。在正文中對圖/表/章節的引用可以用如下方式, 注意 Figure/Table/Section 和數字之間的"~":


\ldots, as illustrated in Figure~1. \\\ldots, as shown in Figure~2. \\

As Figure~3 illustrates, \ldots \\

Figure~4 shows \ldots \\

Table~1 summarizes \ldots \\\ldots will be discussed in Section~1. \\\ldots, as described in Section~2.

論文格式排版你真的做對了嗎? 常用格式及其LaTeX書寫方法介紹



在實際寫文章時, 所有的引用 (figure, table, equation, section) 都應該用 ref 來管理, 這樣編號可以自動生成, 免去手工調整編號的煩惱。


數學環境

LaTeX 自身只提供最基本的數學符號和環境, 因此我們在需要書寫數學公式時, 通常在引言區匯入 amsmath 包:

\usepackage{amsmath}

以下我們假定 amsmath 包已被匯入。


數學符號


數域

實數域, 自然數域等表示數域的符號需要用空心字母表示. 空心字母在 LaTeX 中用 mathbb 輸入, 這需要在引言區匯入 amssymb 包. 例如:

\usepackage{amssymb}$\mathbb{R}, \mathbb{N}$.

論文格式排版你真的做對了嗎? 常用格式及其LaTeX書寫方法介紹



組合數

和國內通常用 Cnk 表示組合數不同, 國際上通常用括號表示組合數, 讀作"n choose k". 在 LaTeX 中組合數可以用 binom 命令打出。例如:

$\binom{n}{k}$.

論文格式排版你真的做對了嗎? 常用格式及其LaTeX書寫方法介紹

集合

集合中的分割可以用豎線"|", 也可以用冒號":". 分割符與左右要有空格。例如:

$\{x \mid x \ge 0.\}$. % Note "\mid" instead of "|"

論文格式排版你真的做對了嗎? 常用格式及其LaTeX書寫方法介紹


省略號

省略號分兩種。列舉一系列元素中的省略用 ldots; 數學運算表示式中的省略用 cdots. 即省略號高度要和左右符號的高度一致。而在普通文字中的省略號一律用 ldots。例如:

$x_1, x_2, \ldots, x_n$, $x_1 + x_2 + \cdots + x_n$.

論文格式排版你真的做對了嗎? 常用格式及其LaTeX書寫方法介紹


優化問題

通常, 優化問題解得的最優值用 star 表示, 而不是"*". 優化問題的變數要寫到"arg min"或"arg max"整體的下方。例如:


\begin{equation}

x^\star = \mathop{\arg\min}_x (x-1)^2 \,.

\end{equation}

論文格式排版你真的做對了嗎? 常用格式及其LaTeX書寫方法介紹


函式對映

函式對映通常有其固定的寫法, 例如:

$f\colon A \mapsto B$.

論文格式排版你真的做對了嗎? 常用格式及其LaTeX書寫方法介紹

矩陣與向量

矩陣和向量要用粗體表示。有人習慣於用直立粗體表示矩陣, 用斜體粗體表示向量。使用 bm 需要在引言區匯入 bm 包. 例如:

\usepackage{bm}$\bf{A}, \bf{\Omega}, \bm{x}, \bm{\mu}$.

論文格式排版你真的做對了嗎? 常用格式及其LaTeX書寫方法介紹


如果讓大小寫字母都變為斜體粗體, 可以用 boldsymbol 命令。例如:

$\boldsymbol{A}, \boldsymbol{\Omega}, \boldsymbol{x}, \boldsymbol{\mu}$.

論文格式排版你真的做對了嗎? 常用格式及其LaTeX書寫方法介紹

此外向量也可以用箭頭標註。例如:

$\vec x, \vec \mu$.

論文格式排版你真的做對了嗎? 常用格式及其LaTeX書寫方法介紹

矩陣和向量可以用中括號"[]"或小括號"()"表示, 目前國際上用中括號表示更常見, 這是因為用小括號表示矩陣和向量容易和表示代數運算優先順序的小括號相混淆。在 LaTeX 中可以用 bmatrix 環境書寫矩陣。例如:


\begin{equation}

\begin{bmatrix}

a_{11} & a_{12} & \cdots & a_{1n} \\

a_{21} & a_{22} & \cdots & a_{2n} \\

\vdots & \vdots & \ddots & \vdots \\

a_{m1} & a_{m2} & \cdots & a_{mn} \\

\end{bmatrix}

\end{equation}

論文格式排版你真的做對了嗎? 常用格式及其LaTeX書寫方法介紹



數學公式中的直立體


有單位的量

表示單位量綱的符號不是變數, 故應當以直立體出現, 並且數字和單位之間要有空格, 例如:

$m = 50\,\mathrm{kg}, V = 150\,\mathrm{m}^3$. % Note "\,"

論文格式排版你真的做對了嗎? 常用格式及其LaTeX書寫方法介紹

此外, siunitx 包含了標準單位, 能自動調整字型和間距, 還可以以非常自然的方式實現複雜的單位和科學記數法等表達。


微元符號

表示微元的 d 不是變數, 應當以直立體出現。此外, 在積分符號中, 微元符號要與前面的被積函式保持一定空格距離. 例如:

$\int_1^2 \log x \, \mathrm{d} x$. % Note "\,"

論文格式排版你真的做對了嗎? 常用格式及其LaTeX書寫方法介紹

轉置符號

表示轉置的 T 不是變數, 應當以直立體出現。例如:

$\boldsymbol x^{\mathrm{T}}$.

論文格式排版你真的做對了嗎? 常用格式及其LaTeX書寫方法介紹

此外, 也有人用 intercal, top, 或 mathsf{T} 來表示轉置.


函式名

函式名不是變數, 故應當以直立體出現。LaTeX 內建支援一些常用的函式名, 例如:

$\sin(x), \exp(x)$.

論文格式排版你真的做對了嗎? 常用格式及其LaTeX書寫方法介紹

當我們需要自己定義函式名時, 在在引言區使用 DeclareMathOperator 命令宣告需要定義的函式名。例如:

\DeclareMathOperator{\sign}{sign}

$\sign(x)$.

論文格式排版你真的做對了嗎? 常用格式及其LaTeX書寫方法介紹



公式標點與標號


標號基礎

重要的公式需要標號。包含在 equation 環境中的環境會被自動標號, 如果你不需要標號, 可以用 equation*環境或將公式放於\[和\] 之間。例如:


\begin{equation} % Equation with numbering

e^{i\pi} = -1

\end{equation}

\begin{equation*} % Equation without numbering

a^2 + b^2 = c^2

\end{equation*}

\[ % Equation with numbering

a^2 + b^2 = c^2

\]

論文格式排版你真的做對了嗎? 常用格式及其LaTeX書寫方法介紹



標點基礎

公式後的標點是很多人忽視的地方。並不是所有公式後都要或不要加標點, 公式 (包括行內公式和行間公式) 是句子的一部分, 因此, 我們需要根據公式在句子中所處的位置來判斷在公式後加什麼標點. 行間公式中公式和標點之間要空格。例如:


Einstein introduced his formula

\begin{equation}

E = m \cdot c^2 \,, % Note "\,,"

\end{equation}

which is at the same time the most widely known and the least well understood

physical formula.

\ldots from which follows Kirchhoff's current law:

\begin{equation}

\sum_{k=1}^n I_k = 0 \,. % Note "\,."

\end{equation}

\begin{equation}

I_D = I_F - I_R % No break

\end{equation}

is the core of a very different transistor model.

論文格式排版你真的做對了嗎? 常用格式及其LaTeX書寫方法介紹

多行公式的標點與標號

多行公式通常只在最後一行結尾時根據需要標點與標號。最新版本的 LaTeX 建議使用 IEEEeqnarray 環境替代 eqnarray 環境書寫多行公式, 這需要在引言區匯入 IEEEtranstools 包。例如:

\usepackage[retainorgcmds]{IEEEtrantools}

\begin{IEEEeqnarray*}{rCl}

a &=& b + c \\

&=& d + e \\

&=& f + g \,. \IEEEyesnumber \\

\end{IEEEeqnarray*}

論文格式排版你真的做對了嗎? 常用格式及其LaTeX書寫方法介紹



多分支公式的標點與標號

分支是公式的一部分, 我們只對整體做一個標號, 不對每個分支進行單獨標號。每個分支需要單獨進行標點: 前面的分支結束後要用分號";", 最後一個分支結束後根據需要進行標點。此外, 和寫程式語言不同, 與 if 分支對應的通常是 otherwise, 而不是 else. LaTeX 中, 分支可以用 cases 環境書寫。例如:

\begin{equation}

|x| =

\begin{cases}

-x & \text{if } x < 0 \,;\\

x & \text{otherwise} \,. \\

\end{cases}

\end{equation}

論文格式排版你真的做對了嗎? 常用格式及其LaTeX書寫方法介紹



優化問題的標點與標號

通常 max/min 和 s.t.(讀作"subject to"而不是"such that") 保持中心對齊, 目標函式項和各約束項保持左對齊。只在目標函式項那一行標號但不標點, 各約束項標點但不標號。例如:

\begin{alignat}{2}

\min_x \quad & f(x) & \\

\mathrm{s.t.} \quad & g_i(x) \le 0, &\quad i = 1, 2, \ldots, m \,, \nonumber \\

& h_j(x) = 0, &\quad j = 1, 2, \ldots, n \,. \nonumber

\end{alignat}

論文格式排版你真的做對了嗎? 常用格式及其LaTeX書寫方法介紹

此外, 也有人將優化問題看作一個整體, 對整體作一居中標號。


數學證明

數學證明以"Proof."開始, 以方框符號結尾。amsthm 包提供了證明環境。例如:

\usepackage{amsthm}

\begin{proof}

Trivial.

\end{proof}

論文格式排版你真的做對了嗎? 常用格式及其LaTeX書寫方法介紹



致謝


感謝 @ 蔣雨蒙對 siunitx 包的介紹, @ 胡不退對 ref 的建議, @ 風清揚對轉置和優化問題標號的建議.



參考文獻

Oetiker, Tobias, et al. "The not so short introduction to LATEX 2ε." (2001).



機器之心專欄

作者:張皓

作者簡介: 張皓: 南京大學計算機系機器學習與資料探勘所(LAMDA)研究生, 研究方向為計算機視覺和機器學習, 特別是視覺識別和深度學習. 個人主頁: http://lamda.nju.edu.cn/zhangh/.


相關文章