多列中列的奇数垂直对齐

多列中列的奇数垂直对齐

此代码

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

相关内容