论文数学公式排版规范:LaTeX公式编号、对齐与跨页处理技巧

LaTeX公式排版|2026-05-26 15:13:39|阅读量:28

一、公式排版为什么重要?

数学公式是理工科学术论文的核心表达工具。公式排版不规范会导致:

问题 后果
编号混乱/缺失 审稿人无法引用具体公式
对齐不整齐 论文显得不专业
公式溢出栏宽 产生Overfull警告,内容被截断
跨页断裂不当 一个完整推导被分割,阅读困难
符号不一致 同一变量前后用不同字体/格式

二、公式编号规范

2.1 基本编号规则

规则 说明
重要公式必须编号 后续会引用的公式都要有编号
编号从(1)开始连续递增 全文统一编号
编号位于公式右侧 LaTeX默认行为
辅助性/中间步骤可不编号 不会被引用的推导步骤
引用时用"Eq. (1)"或"(1)" 保持全文引用格式统一

2.2 LaTeX实现

带编号的公式(equation环境):

\begin{equation}
  L = \frac{1}{N}\sum_{i=1}^{N}\|f(x_i;\theta) - y_i\|^2
  \label{eq:loss}
\end{equation}

效果:公式居中,右侧自动编号为(1)。

不编号的公式(equation*环境):

\begin{equation*}
  x = \frac{-b \pm \sqrt{b^2 - 4ac}}{2a}
\end{equation*}

行内公式(适合简短表达):

The learning rate is $\alpha = 0.001$.

2.3 按章节编号

部分期刊/论文要求公式按章节编号(如2.1, 2.2...):

% 在导言区添加

umberwithin{equation}{section}

效果:第2节的公式编号为(2.1), (2.2)...

2.4 引用公式

% 标准引用
As defined in Eq.~(\ref{eq:loss}), the loss function...

% 或使用eqref(自动加括号)
As shown in \eqref{eq:loss}...

注意: 使用~防止"Eq."和编号之间在换行时被分开。


三、多行公式对齐

3.1 align环境(最常用)

适合多个相关公式需要按等号或其他符号对齐:

\begin{align}
  f(x) &= ax^2 + bx + c \label{eq:f1}\\
  g(x) &= \frac{\partial f}{\partial x} = 2ax + b \label{eq:f2}\\
  h(x) &= \frac{\partial^2 f}{\partial x^2} = 2a \label{eq:f3}
\end{align}

关键语法:

  • & 标记对齐位置(通常放在=前面)
  • \\ 换行
  • 每行自动获得独立编号

部分行不编号:

\begin{align}
  f(x) &= ax^2 + bx + c \label{eq:main}\\
       &= a(x + \frac{b}{2a})^2 + c - \frac{b^2}{4a} 
onumber\\
       &= a(x - h)^2 + k \label{eq:vertex}
\end{align}

onumber使该行不产生编号(中间推导步骤常用)。

3.2 aligned环境(嵌套在equation中)

多行对齐但只要一个编号:

\begin{equation}
\begin{aligned}
  \mathcal{L} &= \mathcal{L}_{cls} + \lambda_1 \mathcal{L}_{reg} 
               + \lambda_2 \mathcal{L}_{aux}\\
              &= -\sum_{i}y_i\log\hat{y}_i 
               + \lambda_1\|w\|^2 
               + \lambda_2 D_{KL}(p\|q)
\end{aligned}
\label{eq:total_loss}
\end{equation}

效果:整个多行公式共享一个编号。

3.3 split环境(类似aligned)

\begin{equation}
\begin{split}
  H(X,Y) &= -\sum_{x}\sum_{y} p(x,y)\log p(x,y)\\
          &= -\sum_{x}\sum_{y} p(x,y)[\log p(x) + \log p(y|x)]\\
          &= H(X) + H(Y|X)
\end{split}
\label{eq:entropy}
\end{equation}

3.4 cases环境(分段函数)

\begin{equation}
  f(x) = \begin{cases}
    x^2,     & \text{if } x \geq 0\\
    -x^2,    & \text{if } x < 0
  \end{cases}
  \label{eq:piecewise}
\end{equation}

3.5 对齐方式总结

环境 编号方式 适用场景
equation 单个编号 单行公式
equation* 无编号 不需要引用的公式
align 每行一个编号 多个独立但相关的公式
align* 全部无编号 推导过程不需引用
aligned(在equation中) 共享一个编号 多行公式视为一个整体
split(在equation中) 共享一个编号 单个长公式拆成多行
cases 通常一个编号 分段函数/条件定义

四、长公式处理

4.1 长公式折行(单栏)

当公式超过栏宽时,需要手动折行:

\begin{equation}
\begin{split}
  \mathcal{L}_{total} = {} 
    & \alpha\cdot\mathcal{L}_{CE}(y, \hat{y}) 
      + \beta\cdot\mathcal{L}_{dice}(y, \hat{y})\\
    & + \gamma\cdot\mathcal{L}_{focal}(y, \hat{y})
      + \delta\cdot\|W\|_F^2
\end{split}
\end{equation}

折行原则:

  • +-运算符之前折行
  • 续行缩进一层(视觉上清晰)
  • 不在括号内部折行

4.2 双栏论文中的宽公式

IEEE双栏论文中,公式超出单栏宽度时使用figure*equation跨双栏:

方法一:使用\begin{figure*}包裹(不推荐)

方法二:缩小公式(推荐先尝试)

% 使用小号字体
{\small
\begin{equation}
  \text{很长的公式}
\end{equation}
}

方法三:拆分公式为多行

\begin{equation}
\begin{aligned}
  P(A|B) &= \frac{P(B|A)\cdot P(A)}{P(B)}\\
         &= \frac{P(B|A)\cdot P(A)}
              {\sum_{i=1}^{n}P(B|A_i)\cdot P(A_i)}
\end{aligned}
\end{equation}

方法四:跨双栏公式(必要时)

在IEEE双栏模板中,使用\begin{figure*}环境内嵌公式可实现跨栏,但这不是标准做法。更推荐的方式是将公式拆分使其适应单栏宽度。


五、公式跨页处理

5.1 禁止公式跨页

默认情况下LaTeX允许在公式前后分页。如需阻止:

% 方法1:使用samepage环境
\begin{samepage}
\begin{equation}
  ...
\end{equation}
紧跟公式的解释文字...
\end{samepage}

% 方法2:在公式前添加禁止分页命令

opagebreak
\begin{equation}
  ...
\end{equation}

% 方法3:增加分页惩罚
\predisplaypenalty=10000  % 禁止在公式前分页
\postdisplaypenalty=10000 % 禁止在公式后分页

5.2 允许长推导跨页

对于很长的连续推导(如align环境中10+行公式),强制不跨页可能导致大面积空白。此时应允许跨页:

% 允许align环境跨页(默认允许,通常无需设置)
\allowdisplaybreaks
\begin{align}
  ... % 长推导
\end{align}

选择性允许跨页:

\allowdisplaybreaks[1]  % 1=轻微允许, 4=强制允许

在特定行禁止断裂:

\begin{align}
  a &= b + c\\
  &= d + e 
otag\\*  % \\* 禁止在此行后分页
  &= f
\end{align}

5.3 跨页处理的最佳实践

场景 建议
单个独立公式 不要跨页(保持完整)
紧邻的公式+解释文字 不要分开(用samepage)
长连续推导(>5行) 允许在合理位置跨页
公式+紧跟的"where..."定义 不要分开
证明过程中的推导 可跨页,但保持逻辑完整性

六、公式中的符号规范

6.1 字体约定

类型 字体 LaTeX命令 示例
标量变量 斜体 默认或$x$ xyz
向量 粗斜体 \boldsymbol{x}\mathbf{x} x
矩阵 粗体大写 \mathbf{A}\boldsymbol{A} A
集合 花体/黑板粗体 \mathcal{X}\mathbb{R} 花体X
函数名 正体 \mathrm{softmax}\text{ReLU} softmax
常数/固定值 正体 \mathrm{e}\mathrm{i} e, i
文字说明 正体 \text{if}\mathrm{s.t.} if, s.t.

6.2 常见错误

错误 正确写法
$max(x,y)$(斜体max) $\max(x,y)$(正体max)
$log(x)$(斜体log) $\log(x)$
$argmin$(全斜体) $\mathop{\arg\min}$或定义\DeclareMathOperator
$softmax$(斜体) $\mathrm{softmax}$$\text{softmax}$
向量用箭头$\vec{x}$ 工程领域通常用粗体$\mathbf{x}$

6.3 自定义运算符

% 在导言区定义(避免正文中反复使用\mathrm)
\DeclareMathOperator*{\argmin}{arg\,min}
\DeclareMathOperator*{\argmax}{arg\,max}
\DeclareMathOperator{\softmax}{softmax}
\DeclareMathOperator{\ReLU}{ReLU}
\DeclareMathOperator{\tr}{tr}       % 矩阵的迹
\DeclareMathOperator{\diag}{diag}   % 对角矩阵

% 使用
\begin{equation}
  \theta^* = \argmin_{\theta}\mathcal{L}(\theta)
\end{equation}

七、公式标点符号

学术论文中公式是句子的一部分,需要遵循标点规则:

7.1 标点规则

情况 规则 示例
公式是句子结尾 公式末加句号 ... = 2a.
公式后面还有内容 公式末加逗号 ... = f(x),
多行公式中间行 中间行加逗号,最后行加句号 每行末加,.
公式前用冒号引出 公式前加冒号 The loss is defined as:

7.2 LaTeX中添加标点

\begin{equation}
  \mathcal{L} = -\sum_{i=1}^{N} y_i \log \hat{y}_i.
\end{equation}  % 注意末尾的句号在公式内部
\begin{align}
  f(x) &= ax^2 + bx + c, \label{eq:1}\\
  g(x) &= 2ax + b. \label{eq:2}
\end{align}  % 第一行逗号,最后一行句号

八、公式间距微调

8.1 常用间距命令

命令 宽度 用途
\, 细间距(3mu) 积分dx前:\int f(x)\,dx
\: 中间距(4mu) 偶尔用于分隔
\; 粗间距(5mu) 集合条件分隔
\quad 1em 公式内分组/条件分隔
\qquad 2em 公式与条件说明之间
\! 负细间距(-3mu) 缩紧过宽的间距

8.2 实际应用

% 积分
\int_0^{\infty} f(x)\,dx

% 条件定义
P(A|B) = \frac{P(B|A)P(A)}{P(B)}, \quad \text{where } P(B)>0

% 集合
\{x \in \mathbb{R} \mid x > 0\}
% 或
\{x \in \mathbb{R} \,|\, x > 0\}

九、常见排版错误速查

错误 现象 修复方法
公式超出栏宽 Overfull hbox警告 拆分为多行或缩小
编号重复 两个公式编号相同 检查是否误用了\tag
引用显示"??" 编号未解析 编译两次pdflatex
符号正斜体混乱 max显示为斜体 使用\max而非max
括号大小不匹配 括号太小包不住内容 使用\left(\right)
分数太小难以阅读 行内分数过小 改用\dfrac或独立公式
下标重叠 多层下标挤在一起 调整下标层级或用文字说明替代
align中&位置错误 对齐点不在等号处 &放在=前面

十、总结

公式排版三条核心规则:

  1. 重要公式编号,中间步骤不编号 -- 使用equation+label,中间用nonumber
  2. 多行公式按等号对齐 -- align环境中&对齐,视觉整齐清晰
  3. 不允许公式溢出栏宽 -- 宁可拆行也不能超宽

日常写作速记:

单行有编号 → equation + \label
单行无编号 → equation*
多行各有编号 → align
多行共享编号 → equation + aligned/split
分段函数 → cases
长公式折行 → split,在运算符前断行

数学公式的排版质量直接反映作者的学术素养。花时间把公式排好,审稿人在阅读时的流畅体验会转化为对论文整体质量的正面印象。