這是一個最小的 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
使用中等大小的分數 fromnccmath
作為分數數值係數(約\displaystyle
大小的 80%),並在相關位置結合\addlinespace
frombooktabs
會導致間距差異僅為 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}