このコード
\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}
これを生成する
ベースラインスキップ値の自動選択は奇妙に見える。なぜなら、2つの列にはほとんど垂直方向のサイズは同じですが、完全に同じではありません。
最初の列の最後の行が 2 番目の列の最後の行と同じ垂直位置になるように、垂直方向の揃えを実現する方法はありますか?
答え1
\newline\par
段落の最後に\\
または を置いてはいけません。テキストのない行 (およびボックスが不足しているという警告) を強制していますが、2 つの列の垂直サイズは同じです。\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}