Colunas com alinhamento vertical ímpar em multicol

Colunas com alinhamento vertical ímpar em multicol

Este código

\documentclass[12pt]{article}
\usepackage[parfill]{parskip}
\usepackage{multicol}

\widowpenalties 2 9999 9999

\begin{document}
\setlength\baselineskip{4ex plus 2ex minus 2ex}

\begin{multicols}{2}
    A\hrulefill1\newline
    A\hrulefill2\newline
    A\hrulefill3\newline
    A\hrulefill4\newline\par
    B\hrulefill1\newline
    B\hrulefill2\newline
    B\hrulefill3\newline
    B\hrulefill4\newline
    B\hrulefill5\newline\par
\end{multicols}

\end{document}

gera isso

insira a descrição da imagem aqui

A escolha automática para os valores de salto da linha base parece estranha, porque as duas colunas têmquaseo mesmo tamanho vertical, mas não exatamente.

Existe uma maneira de obter justificação vertical, de modo que a última linha da primeira coluna fique na mesma posição vertical que a última linha da segunda coluna?

Responder1

\newline\parvocê nunca deveria ter \\ou \newlineno final de um parágrafo. Você está forçando uma linha que não possui texto (e avisos de caixa insuficientemente cheia), as duas colunas têm o mesmo tamanho vertical:

insira a descrição da imagem aqui

Não ignore os avisos

Underfull \hbox (badness 10000) in paragraph at lines 11--14


Underfull \hbox (badness 10000) in paragraph at lines 15--19

que alertava sobre todas as linhas brancas em cada parágrafo, e também obrigava a usar, \widowpenalties 2pois a última linha visível não era a última.

É mais fácil ver o que está acontecendo se você tiver texto na última linha do parágrafo, o que também remove o aviso

\documentclass[12pt]{article}
\usepackage[parfill]{parskip}
\usepackage{multicol}

\widowpenalties 2 9999 9999

\begin{document}
\setlength\baselineskip{4ex plus 2ex minus 2ex}

\begin{multicols}{2}
    A\hrulefill1\newline
    A\hrulefill2\newline
    A\hrulefill3\newline
    A\hrulefill4\newline  xxx\par
    B\hrulefill1\newline
    B\hrulefill2\newline
    B\hrulefill3\newline
    B\hrulefill4\newline
    B\hrulefill5\newline xxx\par
\end{multicols}

\end{document}

informação relacionada