我想使用multicols
固定\parskip
到\baselineskip
(即不使用可拉伸胶水)以获得具有网格排版的两列文档。
问题是,当我想要插入高度不是倍数的内容\baselineskip
(如具有不同字体大小的图像或环境)时,平衡会\end{\multicols}
失败。
以下是一个例子:
\documentclass{book}
\usepackage[utf8]{inputenc}
\usepackage{multicol}
\usepackage{parskip}
\usepackage{lipsum}
\begin{document}
\parskip 1\baselineskip
\begin{multicols}{2}
\lipsum[1-2]
\vspace{0pt plus 1\baselineskip}
{\footnotesize \lipsum[3]}
\vspace{0pt plus 1\baselineskip}
\lipsum[4]
\end{multicols}
\end{document}
尽管我手动在周围插入胶水{\footnotesize \lipsum[3]}
,但平衡仍然不起作用。
答案1
可以使用\parbox
强制奇数大小的块适合给定数量的\baselineskip
s。但是,您首先必须知道\baselineskip
要使用多少个 s。此外,当 2 个连续行的深度和高度大于 时,LaTeX 使用不同的规则。\baselineskip
当最后一行没有降部时,您需要添加约 约.3\baselineskip
(取决于\lineskip
}。
\documentclass{book}
\usepackage[utf8]{inputenc}
\usepackage{multicol}
\usepackage{parskip}
\usepackage{lipsum}
\begin{document}
\parskip=1\baselineskip
\lineskip=1pt
\begin{multicols}{2}
\lipsum[1-2]
\parbox[c][\dimexpr 13.3\baselineskip][c]{\columnwidth}{\footnotesize \lipsum[3]}
\lipsum[4]
\end{multicols}
\end{document}