
Вот минимальный код 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
для дробных числовых коэффициентов (~80% \displaystyle
размера) в сочетании с \addlinespace
from booktabs
в соответствующих местах приводит к разнице в интервале всего в 1 пункт, что приемлемо:
\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}