答案1
对我来说很好
\documentclass{book}
\usepackage{multicol,lipsum}
\begin{document}
\begin{multicols}{2}
\null
\vfill
\subsubsection{Vitesse du Vent}
\lipsum[1]
\vfill
\null
\columnbreak
\rule{4cm}{0.8\textheight}
\end{multicols}
\end{document}
编辑
正如 egreg 在评论中提到的那样,最好使用 LaTeX 命令而不是低级 \null。(但他错了,末尾的 \vfill 就足够了,\vspace*{\fill}
那里也需要。)
\documentclass{book}
\usepackage{multicol,lipsum}
\begin{document}
\begin{multicols}{2}
\vspace*{\fill}
\subsubsection{Vitesse du Vent}
\lipsum[1]
\vspace*{\fill}
\columnbreak
\rule{4cm}{0.8\textheight}
\end{multicols}
\end{document}
答案2
去年,我修复了列尾垂直空间的错误处理:除非明确要求,否则应删除那里的空间,但并非所有情况都是如此。摘自变更日志:
2015-03-31 Frank Mittelbach <[email protected]>
* multicol.dtx: Another rewrite of \remove@discardable@items to
capture the case of \vspace (remove) and \vspace* (keep) correctly
2015-03-23 Frank Mittelbach <[email protected]>
* multicol.dtx: Detect when columns get too large during balancing
because the user requested more forced breaks than available
columns.
Fixed the logic for removing excess white space at column bottoms
(this is a source of trouble for sure)
因此,在过去\null\vfill
,结尾处的 可能还保留着,而删除 才是正确的\vfill
。现在它被删除了。此时,将框移到填充后会将其隐藏,因此它会保留下来。
然而,正如指出的那样,正确的 LaTeX 命令应该是\vsapce*{\fill}
--- 它可以在上面和下面正确运行。