The spacing is not uniform for exactly the same reason why you need the \par
before exiting the \footnotesize
section: a paragraph is typeset with only one baseline skip, the one which is in force when the paragraph ends.
If you leave out the \par
, a \par
is seen at the empty line following the closing brace, when the \footnotesize
setting has been undone. With the \par
, also the first line is typeset with the \footnotesize
baseline skip.
What's a way out? Use \par
also to separate the first line from the rest (and \nobreak
to avoid a page break):
\documentclass{memoir}
\begin{document}
{
\parindent0pt
\setlength{\parskip}{\baselineskip}
1. Setup:\par\nobreak\vspace{-\parskip}
\textit{some technical formula-like material} \\
\textit{some technical formula-like material} \\
\textit{some technical formula-like material}
2. Core steps:\par\nobreak\vspace{-\parskip}
\textit{some technical formula-like material} \\
\textit{some technical formula-like material} \\
\textit{some technical formula-like material}
3. Wrapping up:\par\nobreak\vspace{-\parskip}
{\footnotesize
\textit{some really long technical formula-like material} \\
\textit{some really long technical formula-like material} \\
\textit{some really long technical formula-like material}
\par}
4. Final steps:\par\nobreak\vspace{-\parskip}
\textit{some technical formula-like material} \\
\textit{some technical formula-like material} \\
\textit{some technical formula-like material}
}
\end{document}
The \vspace{-\parskip}
is necessary because of the \parskip
setting.
What if there is no "introductory line"? Use a strut outside the group (it's an invisible, zero width object that ensures uniform space. The strut is recomputed when a size changing command is issued, but putting it outside the group (or just before \footnotesize
) will ensure it is the one for the normal size:
\documentclass{memoir}
\begin{document}
{
\parindent0pt
\setlength{\parskip}{\baselineskip}
\textit{some technical formula-like material} \\
\textit{some technical formula-like material} \\
\textit{some technical formula-like material}
\textit{some technical formula-like material} \\
\textit{some technical formula-like material} \\
\textit{some technical formula-like material}
\strut{\footnotesize
\textit{some really long technical formula-like material} \\
\textit{some really long technical formula-like material} \\
\textit{some really long technical formula-like material}
\par}
\textit{some technical formula-like material} \\
\textit{some technical formula-like material} \\
\textit{some technical formula-like material}
}
\end{document}
A \strut
in the same position may or may not be needed also in the first form; it depends on the visual interaction between the normal size line and the following with small type size.
Notice that I used \setlength
rather than \addtolength
, so as not to make assumptions about the actual value of \parskip
. It may be better to add some flexibility to it:
\setlength{\parskip}{1\baselineskip plus 2pt minus 1pt}
to help TeX form a good page; the spaces between the blocks will be the same: all of them will be stretched or shrunk by the same amount.
However, I'd prefer to insert explicit spaces rather than relying on the automatic \parskip
, maybe using some macro or environment.
Without the
\parindent0pt
\setlength{\parskip}{\baselineskip}
you could do
\documentclass{memoir}
\begin{document}
\noindent 1. Setup:\par\nobreak\noindent
\textit{some technical formula-like material} \\
\textit{some technical formula-like material} \\
\textit{some technical formula-like material}
\bigskip
\noindent 2. Core steps:\par\nobreak\noindent
\textit{some technical formula-like material} \\
\textit{some technical formula-like material} \\
\textit{some technical formula-like material}
\bigskip
\noindent 3. Wrapping up:\par\nobreak\noindent
\strut{\footnotesize
\textit{some really long technical formula-like material} \\
\textit{some really long technical formula-like material} \\
\textit{some really long technical formula-like material}\par}
\bigskip
\noindent 4. Final steps:\par\nobreak\noindent
\textit{some technical formula-like material} \\
\textit{some technical formula-like material} \\
\textit{some technical formula-like material}
\end{document}
Notice the \bigskip
to get the spacing between blocks. I've kept the initial strut for the "small type" block, in order to avoid that the lines are too near to each other. (As above, the strut would also be necessary if there were no "introductory lines".)