![关于分隔符的大小](https://linux22.com/image/232961/%E5%85%B3%E4%BA%8E%E5%88%86%E9%9A%94%E7%AC%A6%E7%9A%84%E5%A4%A7%E5%B0%8F.png)
我目前正在用 LaTeX 写土木工程论文。我认为 LaTeX 非常好。我现在正在慢慢远离 Microsoft Word。LaTeX 对我来说很好,因为我的论文(非线性结构动力学)最终可能包含一千多个方程式。
我现在只面临一个问题。
考虑以下带有分隔符的分数。
\left( \frac{a}{b} \right)
到目前为止,该分数确实没有问题。分隔符会自动调整大小。
现在,考虑以下带有分隔符的“复杂”分数:
\left( \frac{\dfrac{a}{b}}{\dfrac{c}{d}} \right)
同样,这个“复杂”的分数没有问题,因为分隔符会自动调整大小。
现在,问题来了。考虑以下带有分隔符的“复杂”分数:
\left( \frac{a}{\dfrac{c}{d}} \right)
结果是分隔符会调整大小,但分子区域内会有额外的“垂直空白”。这是因为分子只是一个“变量”,而分母是“displaystyle”字体大小的另一个分数。因此,它们有不同的“大小”。我有意让分母的字体大小更大,因为我试图在显示模式下显示方程式。(如果分母是文本样式的字体大小,那么分子中的“垂直空白”就会更少,但问题仍然存在。我真的希望分母是 displaystyle 字体大小。)
如果可能的话,我希望分隔符能够调整大小,但只能调整到复杂分数的“实际大小”。在 MathType 中,这个问题可以通过“格式”菜单中的“栅栏对齐”命令来解决,其中分隔符的大小精确调整到复杂分数的大小。
有时,手动调整大小命令 \big, ... \Bigg 命令可以提供帮助,但是当我有一个“复杂-复杂-复杂”分数时,即使是最大的 \Bigg 命令也不再有帮助。
代码示例的输出:
我一直在网上寻求帮助,但还没有找到解决办法。
答案1
您可以使用\vcenter
来使复数分数居中:
\left( \vcenter{\hbox{$\displaystyle\frac{a}{\dfrac{c}{d}}$}} \right)
但这样分数线将不会与表达式的其余部分对齐。TeX 会尝试将分数线和分隔符都置于表达式的中心水平轴上,这意味着如果分子和分母的垂直尺寸不同,最终会留下一些空白。 \vcenter
“修复”了这个问题,方法是强制分数根据其实际高度居中,而不是在分数线上居中。
答案2
您需要在分数示例中使用某种视觉提示,以表明其数学表达式的含义:由于 / 不具有结合性,因此 a/(b/c) 和 (a/b)/c 的含义不同,分别具有范式 (ac)/b 和 a/(bc)。
我更喜欢使用您描述的手动调整大小:最小的表达式位于最里面。您观察到的行为还提供了视觉提示:与周围表达式最对齐的水平规则是最外面的除法运算符。最明确的方法是添加额外的括号。Jan 解决了您的排版问题,但我认为代价是使表达式完全模棱两可。
答案3
Knuth 在 TeXbook 中给出了这个问题的答案,即有时,复数分数不是一个好主意,你应该改用内联形式 a/b。这似乎就是其中一种情况,尽管我知道你的实际等式可能不适合这种改变。一种可能性是,你可以为分母引入新的符号(例如 d),而不是写成
\[\frac{x}{\dfrac{a}{b}},\]
你可以写
\[\frac{x}{d}, \text{ where } d = \frac{a}{b}.\]
简而言之,这不是排版问题,而是构图问题。
答案4
在搜索中遇到了这个问题,并想指出 TeXbook 的另一个改编版本:
$$
\left(\displaystyle{\mathstrut a\over\mathstrut b}
\above1pt\displaystyle{\mathstrut c\over\mathstrut d}\right)
\quad
\left(a\over c/d\right)
$$
\bye
这\above1pt
使得中间的规则比其他两个规则更厚。