下面是一个最简单的 LaTeX 代码,显示了我的麻烦:
\documentclass[11pt,letterpaper,twoside]{book}
\usepackage{lmodern}
\usepackage{amsmath}
%\setlength{\jot}{\baselineskip}
\begin{document}
Blabla:
\begin{gather}
x^2 - \frac{1}{2} \, x = 3, \\
\frac{a^2}{b^3} \, y + 2 x \, y = y^2, \\
a - b = c.
\end{gather}
Bla:
\begin{gather}
x^2 - \frac{1}{2} \, x = 3, \\[11pt]
\frac{a^2}{b^3} \, y + 2 x \, y = y^2, \\[11pt]
a - b = c.
\end{gather}
Blabla:
\begin{gather}
x^2 - \frac{1}{2} \, x = 3, \\[1ex]
\frac{a^2}{b^3} \, y + 2 x \, y = y^2, \\[1ex]
a - b = c.
\end{gather}
\end{document}
以下是该代码的预览。我用红色标出了我不喜欢的部分:
从此预览中的方程式数字可以看出,垂直间距是可变的,我讨厌这样!全局显示真的很丑陋!!
我想定义一些小宏来替换\\
和\\[11pt]
类似的东西,使其能够根据字体大小进行调整(11pt
此处),并使等号之间的垂直间距相同。我不希望 LaTeX 在方程式之间设置可变的垂直间距。这可能吗?
为了解决之前的问题,我使用了一些肮脏的黑客技术: 粉碎方程式中所有不合适的分数和求和符号,并使用\\[11pt]
或\\[22pt]
根据方程式调整间距。或者我可以添加一个vphantom{\frac{}{}}得到与其他方程式类似的结果。这显然不是在 LaTeX 中做事的好方法!
答案1
nccmath
对于分数数值系数,使用中等大小的分数(约占\displaystyle
大小的 80%),并在相关位置结合\addlinespace
,booktabs
导致间距差异仅为 1pt,这是可以接受的:
\documentclass[11pt,letterpaper,twoside]{book}
\usepackage{lmodern}
\usepackage{nccmath, amsmath}
\usepackage{booktabs}
\begin{document}
Blabla:
\begin{gather}
x^2 - \mfrac{1}{2} \, x = 3, \\
\frac{a^2}{b^3} \, y + 2 x \, y = y^2, \\
\addlinespace
a - b = c.
\end{gather}
\end{document}