我想要布局一个符合以下条件的 LaTeX 文档:
- 让我的文档的基本元素是一个盒子。
- 框包含的内容不能通过分页符来分割,并且在多列环境中,它不应该通过列分隔符来分割。
- 框的宽度将在之前定义。框的高度可能会有所不同。框应该可以很好地与
\vspace
宏配合使用,因为框可能在其实际内容之后或之前包含额外的空间。 - 盒子必须放在多列页面上。每列必须包含最大数量的盒子。
- 如果某一列中盒子的总高度在垂直方向上没有填满整个列,则剩余空间必须由盒子在垂直方向上共享。
为了更清楚,我画了一些图来描述我想要的东西:
抱歉,我没有足够的时间用电脑来手绘。所以你能给我提供制作此布局的示例代码吗?
答案1
如果我理解您的要求没有错,您可以通过使用minipage
环境来实现您的目标—— 的主要功能之一minipage
是它永远不会跨列或跨页。下面的代码定义了一个名为 的新环境mybox
,它充当 LaTeX 环境的前端minipage
。
在下面的例子中,小页面填充了填充文本;当然您可以自由地用其他任何内容来填充它。
\documentclass[twocolumn]{article}
\raggedbottom
\newcommand\myskip{\vspace{0.75cm}} % vertical spacing between mybox environments
\newenvironment{mybox}{\par\noindent%
\begin{minipage}{\linewidth}}
{\end{minipage}\par\myskip}
\usepackage{lipsum} % filler text
\begin{document}
\begin{mybox}
\lipsum[1]
\end{mybox}
\begin{mybox}
\lipsum[2]
\end{mybox}
\begin{mybox}
\lipsum[3]
\end{mybox}
\begin{mybox}
\lipsum[4]
\end{mybox}
\begin{mybox}
\lipsum[5]
\end{mybox}
\begin{mybox}
\lipsum[6]
\end{mybox}
\end{document}