要让嵌套分数清晰易读,只放大确有需要的内层分数;连分数使用 \cfrac;并在有意义的位置拆分过宽的表达式。本指南将帮助你在 Mac 上的 LaTeX 文档中选择并应用合适的修正方法。

分数的哪一部分难以辨认?

先以舒适的阅读尺寸查看 PDF。判断问题出在分数内的符号太小、垂直方向过高,还是表达式横向延伸太远。不同问题需要不同的修改;增大所有分数的尺寸,或许能解决其中一个问题,却会加重另一个问题。

用这个决策指南选择第一项尝试。这些建议是基于所记录命令作出的编辑判断,并非可读性测量结果。

你看到的情况 首先尝试 之后检查什么
内层分子或分母难以辨认 将该内层 \frac 改为 \dfrac 整体高度和周围留白
简单的内层比值占用太多空间 尝试使用带明确分组的斜线记法 运算顺序是否仍然清楚
分数在分母中层层嵌套 在连分数的每一层尝试 \cfrac 整个链式结构是否仍易于跟读
某个分子包含很长的求和式 用 mathtools 拆分该分子 续行中的各项是否明显属于同一组
整个表达式都难以浏览 将等价代数式改写为对齐的多行形式 原始分母的限制条件

宏包的归属很重要:\frac 属于基础 LaTeX;\dfrac、\tfrac 和 \cfrac 由 amsmath 提供。LaTeX Project 建议读者查阅宏包的用户指南,了解复杂数学排版。LaTeX 文档,amsmath 宏包用户指南,第 4.11–4.12 节。

如何有选择地放大内层分数?

amsmath 指南将 \dfrac 定义为显示样式分数,将 \tfrac 定义为文本样式分数。外层使用显示样式,并不会强制所有嵌套分数也采用相同样式。如果问题出在内层命令,就针对该命令进行调整。amsmath 宏包用户指南,第 4.11 节。

在一份小型文档中比较三个版本

在 Mac 上的 LaTeX 编辑器中,将下面这份完整文档保存为 nested-fractions.tex。这假设你已安装可正常工作的 LaTeX,其中包含 amsmath。使用你平常的 LaTeX 转 PDF 流程编译,然后比较三个独立的显示公式。本研究环境中没有编译这些示例,但已依据文档检查过。

\documentclass{article}
\usepackage{amsmath}

\begin{document}

Default nesting:
\[
R=\frac{a+\frac{b}{c}}{d+\frac{e}{f}}
\]

Larger inner fractions:
\[
R=\frac{a+\dfrac{b}{c}}{d+\dfrac{e}{f}}
\]

Compact inner ratios:
\[
R=\frac{a+b/c}{d+e/f}
\]

\end{document}

对于这些示例表达式,假设变量为实数,且 c、f 均不为零,d+e/f 也不为零。在这些条件下,三个显示公式表示同一个量。比较只改变了记法和尺寸,没有改变代数式。

如果需要突出单个内层比值,请选第二个版本。如果读者主要需要看清主分数线两侧的两个和式,请选第三个版本。如果默认版本已经清晰易读,就保留它。

操作数包含多个项时,斜线记法尤其需要谨慎。例如,应写作 (b+c)/(d+e),而不是 b+c/d+e。后者表示的是不同的表达式。在判断外观之前,先检查分组是否仍能表达预期的计算方式。

如果外层分数已经占据显示区域,只放大外层命令通常不是有用的尝试。直接比较内层符号:不放大时,你能否区分它们的下标、指数和分组?根据观察确定哪些内层分数需要更多空间。

什么时候该使用连分数?

当一个分数继续出现在另一个分母中时,使用 \cfrac;不要把每个嵌套商式都当作连分数。文档中提到的可选形式 \cfrac[l] 和 \cfrac[r] 可以调整分子的对齐方式。amsmath 宏包用户指南,第 4.12 节。

以下完整示例使用有限的代数链。在表达式的取值范围内,每个分母都必须不为零。

\documentclass{article}
\usepackage{amsmath}

\begin{document}

\[
C=a_0+\cfrac{b_1}{a_1+
       \cfrac{b_2}{a_2+
       \cfrac{b_3}{a_3}}}
\]

\end{document}

缩进每一层嵌套结构,可以让源代码更容易检查。从 a_1 开始向内阅读,确认哪个分母包含下一个分数;然后再向外阅读,逐一匹配右花括号。修改现有表达式时,这一点尤其有用:即使文档能够编译,错放一个花括号也可能改变数学含义。

如果分子和分母中的商式彼此独立,先尝试有选择地调整尺寸。只有当读者需要跟随分母中重复出现的结构时,连分数排版才最有用。

如何在不缩小公式的情况下拆分长分子?

加载 mathtools,即可使用 \splitfrac 和 \splitdfrac;它也会加载 amsmath。这些命令可以排成两行,但不会添加分数线。外层的 \frac 会提供分数线。\splitfrac 会强制其参数使用文本样式数学排版;\splitdfrac 则不会施加文本样式设置。mathtools 宏包,第 2 节和第 4.6 节。

下面这份完整文档将求和式作为一个整体分子,并把续接部分排在第二行。假设 z 和 r 均不为零。

\documentclass{article}
\usepackage{mathtools}

\begin{document}

\[
Q=\frac{
  \splitdfrac{a+b+c+d}
             {{}+e+\dfrac{p}{r}}
}{z}
\]

\end{document}

这里,内层的 p/r 比值仍以分数形式堆叠,而外层求和式分为两行。续行加号前的空组可以保留二元运算符的间距。根据表达式结构选择断行位置:将容易辨认的一组项放在一起,有助于读者还原分子。

只有在宽度是主要问题时才尝试这种方法。多行分子会增加高度,因此不适合已经显得过高的公式。如果分子包含几个概念组,分别命名这些组可能比继续增加行数表达得更清楚。

如需更精细的控制,宏包文档还介绍了 aligned 或 gathered。它们是 amsmath 环境,而名称相似的 multlined 属于 mathtools。mathtools 宏包,第 3.4.2 节和第 4.6 节。

什么时候代数改写比继续嵌套更清楚?

有时,最好的修改是去掉一层嵌套。考虑第一个示例中的两个和式之商。将其分子和分母同乘 cf,即可得到等价的单个分数。另起一行写出这个等式,既能给读者一个简洁的结果,也能保留原有结构。

下面是一份完整的示例文档。其代数运算假设变量为实数,并明确保留原有的限制条件。

\documentclass{article}
\usepackage{amsmath}

\begin{document}

Assume $c\ne0$, $f\ne0$, and $df+e\ne0$.
\begin{equation}
\begin{aligned}
R &= \frac{a+\dfrac{b}{c}}{d+\dfrac{e}{f}} \\
  &= \frac{f(ac+b)}{c(df+e)}.
\end{aligned}
\end{equation}

\end{document}

即使改写后的分母不再显示除以 f,也要保留假设 f\ne0。否则,读者可能会认为新表达式适用于比原式更大的定义域。排版上的简化应保留数学表达式所附带的条件。

在此示例中,equation 提供带编号的显示公式,aligned 提供内部各行。在等号前放置 &。全宽的 align 环境是一种独立的显示结构;要在另一个数学表达式内部使用组件,请用 aligned。amsmath 宏包用户指南,第 3.1 节和第 3.7 节。

保留修改前应检查什么?

在相同的 PDF 缩放比例下比较修改后的公式和原公式。先检查最小的符号,再沿着主分数线和各个分母逐一查看。最后,检查整个表达式与任何公式编号之间是否有足够的空间。

如果示例无法编译,先对照文档检查宏包行和成对完整的环境。如果能编译但结果不清楚,就回到症状表:高度过大通常意味着应简化结构;分子过宽则提示你可以在有意义的位置断行。

保留能让读者准确理解表达式的最简版本。有选择地放大、采用连分数排版、拆分分子和代数改写分别针对不同的问题;选择最适合这条公式的做法,同时保留其分组和条件。

来源