有没有办法防止 multicols* 部分创建新页面?我想制作两个高度不同的小列,但我不想创建新页面。以下是一些代码来展示我正在做的事情:
\begin{multicols*}{2}
\section{Hello}
\paragraph{The quick brown fox.}
\columnbreak
\section{World}
\paragraph{The quick brown fox.}
\end{multicols*}
使用此功能会导致 multicols* 部分之后的所有内容都移至新页面。有什么方法可以防止这种情况发生吗?提前致谢!
答案1
环境multicols*
语义是它使用全部剩余的样板空间用来形成列,然后一个接一个地用材料填充它们。因此,即使你的材料甚至不足以填满第一列,当页面完成时,根据定义,你已经到达页面的末尾。
如果您想要在页面中间放置几列的短文,则需要使用multicol
。这样可以平衡列内容,但您可以使用几个参数来影响平衡的发生方式:
- 您可以将设置
unbalance
为正值。这样会使所有列的行数比正常平衡长。(这是每个环境的设置) - 您还可以体验使用
minrows
计数器强制第一列中的行数最少。
答案2
找到了解决方案,使用正常multicols
并添加\raggedcolumns
即可实现我想要的效果。
\begin{multicols}{2}
\raggedcolumns
\section{Hello}
\paragraph{The quick brown fox.}
\columnbreak
\section{World}
\paragraph{The quick brown fox.}
\end{multicols}