Нечетное вертикальное выравнивание столбцов в многоколоночном формате

Нечетное вертикальное выравнивание столбцов в многоколоночном формате

Этот код

\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}

генерирует это

введите описание изображения здесь

Автоматический выбор значений пропуска базовой линии выглядит странно, поскольку оба столбца имеютпочтитот же вертикальный размер, но не совсем.

Есть ли способ добиться вертикального выравнивания, чтобы последняя строка первого столбца находилась в том же вертикальном положении, что и последняя строка второго столбца?

решение1

\newline\parвы никогда не должны иметь \\или \newlineв конце абзаца. Вы навязываете строку, в которой нет текста (и предупреждения о неполном поле), два столбца имеют одинаковый вертикальный размер:

введите описание изображения здесь

Не игнорируйте предупреждения

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


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

который предупреждал обо всех белых строках в каждом абзаце, а также заставлял вас использовать \widowpenalties 2в качестве видимой последней строки не последнюю.

Проще увидеть, что происходит, если в последней строке абзаца есть текст, что также убирает предупреждение.

\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}

Связанный контент