Vertical Spacing within align environment accounting for fractions

A much simpler method:

Instead of using \\ for ending a line, use \\[0.5ex]. The optional argument in the brackets requests additional whitespace. The unit ex corresponds to the height of the character "x" in the current font.


AMS alignments box and measure each cell anyway so you can check if the cell height is larger than a strut you can locally increase the strut height.

enter image description here

Code updated to use > instead of < so it opens up big entries not small ones:-) Also does not do anything on first row to avoid adding space above the display.

\documentclass{article}
\usepackage{mathtools}% includes amsmath

\makeatletter

\newlength\minalignvsep


\def\align@preamble{%
   &\hfil
    \setboxz@h{\@lign$\m@th\displaystyle{##}$}%
    \ifnum\row@>\@ne
    \ifdim\ht\z@>\ht\strutbox@
    \dimen@\ht\z@
    \advance\dimen@\minalignvsep
    \ht\strutbox\dimen@
    \fi\fi
    \strut@
    \ifmeasuring@\savefieldlength@\fi
    \set@field
    \tabskip\z@skip
   &\setboxz@h{\@lign$\m@th\displaystyle{{}##}$}%
    \ifnum\row@>\@ne
    \ifdim\ht\z@>\ht\strutbox@
    \dimen@\ht\z@
    \advance\dimen@\minalignvsep
    \ht\strutbox@\dimen@
    \fi\fi
    \strut@
    \ifmeasuring@\savefieldlength@\fi
    \set@field
    \hfil
    \tabskip\alignsep@
}
\makeatother

\minalignvsep.15em

\begin{document}

\begin{minipage}[t]{0.20\linewidth}
\textbf{Nice}
\begin{align*}
 x &= 73 \times 2\\
   &= 146
\end{align*}
\end{minipage}%


%
\begin{minipage}[t]{0.25\linewidth}
\textbf{Not so nice}
\begin{align*}
 x &= \frac{146}{10}\\
   &= \frac{73}{5}
\end{align*}
\end{minipage}%


\bigskip\par\noindent
\textbf{Manual Tweak Options:}
\medskip\par\noindent
\begin{minipage}[t]{0.25\linewidth}
\textbf{Tweak jot}
\setlength{\jot}{8pt}% tweak
\begin{align*}
 x &= \frac{146}{10}\\
   &= \frac{73}{5}
\end{align*}
\end{minipage}%
%
\begin{minipage}[t]{0.30\linewidth}
\textbf{Add vertical space}
\begin{align*}
 x &= \frac{146}{10}\\[5pt]% tweak
   &= \frac{73}{5}
\end{align*}
\end{minipage}%
%
\begin{minipage}[t]{0.30\linewidth}
\textbf{spreadlines}
\begin{spreadlines}{0.8em}% tweak
\begin{align*}
 x &= \frac{146}{10}\\
   &= \frac{73}{5}
\end{align*}
\end{spreadlines}
\end{minipage}%
\end{document}