[Tex/LaTex] multicols* doesn’t vertically justify all columns

multicolvertical alignment

I'm using the \begin{multicols*}{2} environment to typeset two-column text for a cd booklet. However, the columns aren't always properly aligned vertically. Concretely, I assume that whenever there's no extra “glue” the column isn't justified vertically. The attached image shows that the right column is somewhat shorter than the left, where the space before the subsection heading is stretched out.

I have manually done \setlength{\parskip}{0pt} at some point before if that is of relevance.

How can I make multicols space out the right column (and all other affected ones) as well?

enter image description here

Best Answer

Thanks to this question I understood what's going on and how to fix it. Actually I had already given the right hint in the question:

By setting \parskip to 0pt I prevented LaTeX to use the inter-paragraph space to adjust the vertical spacing of the page. The (or rather a) solution is to use "glue" space for that length:

\setlength{\parskip}{0pt plus \smallskipamount}

allows to add up to a \smallskip between paragraphs. This makes the page align properly at the top and the bottom.


However, I could still see a better solution by also affecting the line spacing to accomodate the lines on the page. As it is now there are inconsistent gaps between the paragraphs. So instead of only making the parskips flexible I'd also like to have \baselineskip slightly flexible. Is that possible?

[Edit:]
Of course the solution is basically the same: Making \baselineskip flexible:

\setlength{\baselineskip}{9.5pt plus .15pt minus 0.1pt}

(The 9.5 points are determined through the layouts package (it's 8pt main font size).