LaTeX中为何推荐substack而不使用\atop?
在 LaTeX 中,\substack (需要 amsmath 宏包) 和 \atop 都用于创建多行内容(如多行的分子、分母、求和符号上下限等)。强烈推荐使用 \substack 而避免使用 \atop,主要有以下几个原因:
-
间距问题 (Spacing):
-
\atop只是简单地将两行堆叠在一起,不提供任何额外的行间距。这通常导致两行内容过于拥挤,尤其是当行中包含\sum,\int或字母如g,y等有下伸部分或上伸部分时,可读性很差。 -
\substack会自动添加合理的行间距 (\arraystretch),使得多行内容看起来更清晰、更专业。
-
-
与大型运算符的兼容性 (Compatibility with Large Operators):
-
\substack是专门设计用于放置在大运算符(如\sum,\prod,\int,\bigcup等)的上方或下方 (\limits模式下) 的。它能正确处理与运算符本身的间距和对齐。 -
\atop在这种场景下通常会产生不合适的间距,看起来不协调。
-
-
可读性和语义清晰 (Readability and Semantics):
-
\substack{ ... \\ ... }的语法非常清晰直观,明确表示创建的是一个子堆栈。 -
{ ... \atop ... }的语法相对晦涩,尤其是对于新手,不如\substack意图明确。
-
-
避免与组合数混淆 (Avoiding Confusion with Binomial Coefficients):
-
\atop曾经是(现在不推荐)用来手动编写二项式系数\binom{n}{k}的一种方式(如{n \atop k})。使用\substack可以避免这种潜在的视觉混淆,因为\binom是专门用于二项式系数的命令。
-
示例对比:
\documentclass{article}
\usepackage{amsmath} % 必需 for \substack
\begin{document}
% 使用 \atop (不推荐)
\[
\sum_{1 \le i \le m \atop 1 \le j \le n} X_{i,j} \quad \text{或} \quad \frac{\text{Very long numerator} \atop \text{with two lines}}{\text{denominator}}
\]
% 使用 \substack (推荐)
\[
\sum_{\substack{1 \le i \le m \\ 1 \le j \le n}} X_{i,j} \quad \text{或} \quad \frac{\substack{\text{Very long numerator} \\ \text{with two lines}}}{\text{denominator}}
\]
\end{document}
观察效果:
-
求和符号下的条件:
-
\atop版本:两行1 \le i \le m和1 \le j \le n会紧紧贴在一起,几乎无法辨认行间分隔。 -
\substack版本:两行之间有清晰、合适的间距,易于阅读。
-
-
多行分数:
-
\atop版本:分子中的两行长文本会挤在一起,行间距极小,严重影响可读性。 -
\substack版本:分子中的两行文本间距合理,清晰可辨。
-
结论:
\substack 在排版质量、可读性、功能性和语义清晰度上都显著优于 \atop。\atop 是一个比较原始的命令,在现代 LaTeX 排版(尤其是使用 amsmath 宏包时)已被视为过时且不推荐使用。
最佳实践:
-
总是加载
amsmath宏包 (\usepackage{amsmath})。 -
需要在大运算符下放置多行条件或多行分数分子/分母时,总是使用
\substack{}。 -
编写二项式系数时,使用专门的
\binom{n}{k}命令。 -
完全避免使用
\atop。
因此,推荐 \substack 而不使用 \atop 的根本原因在于:\substack 能产生更专业、更清晰、更具可读性的排版效果,并且是现代 LaTeX 数学排版的标准做法。
浙公网安备 33010602011771号