要让嵌套分数清晰易读,只放大确有需要的内层分数;连分数使用 \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 缩放比例下比较修改后的公式和原公式。先检查最小的符号,再沿着主分数线和各个分母逐一查看。最后,检查整个表达式与任何公式编号之间是否有足够的空间。
如果示例无法编译,先对照文档检查宏包行和成对完整的环境。如果能编译但结果不清楚,就回到症状表:高度过大通常意味着应简化结构;分子过宽则提示你可以在有意义的位置断行。
保留能让读者准确理解表达式的最简版本。有选择地放大、采用连分数排版、拆分分子和代数改写分别针对不同的问题;选择最适合这条公式的做法,同时保留其分组和条件。
来源
- LaTeX 文档 — The LaTeX Project。
- amsmath 宏包用户指南 — 美国数学学会和 The LaTeX Project,通过 CTAN 发布。
- mathtools 宏包 — Morten Høgholm、Lars Madsen 和 LaTeX3 Project,通过 CTAN 发布。