我正在使用 LaTeX 编写文本。我希望我的测试为 2 列。我已经使用multicols
环境完成了此操作。我的问题的文本及其选项不能被分页符或分栏符分隔。所以我使用将我的代码放入其中\vbox
。现在我想自动对齐我的问题。每列中的可用空间必须在问题之间平等分配。那么我该如何实现这一点?
下面是我尝试过的一个例子:
\documentclass{article}
\usepackage{multicol}
\begin{document}
\begin{multicols}{2}
\noindent
\vbox
{
Question content
} \\
\vbox
{
Question content
} \\
\vbox
{
Question content
} \\
\vbox
{
Question content
} \\
\vbox
{
Question content
} \\
\vbox
{
Question content
}\\
\end{multicols}
\end{document}
正如您将在输出中看到的那样,\vbox
s 之间的空格分布不均等,看起来很丑陋。注意:我指的是垂直轴。
答案1
\vboxes
对于您想要实现的目标,即平衡列,的使用是不适当的。
\vboxes
TeX 中的和\parboxes
或 是\minipages
具有不可破坏内容的容器。最好使用列表来格式化问题文本。
下面简单演示了这个问题。
\documentclass{article}
\usepackage{lipsum,xcolor,calc}
\usepackage{multicol}
\def\story#1#2{%
\leavevmode
\colorbox{#1}{\parbox{\columnwidth-\columnsep}{#2}}%
}
\parindent0pt
\begin{document}
\begin{multicols}{2}
\story{orange!50}{\lipsum[1]}
Question content
\fbox{\story{black!20}{\lipsum[7]}}
Question content
\story{orange!30}{\lipsum[8]}
Question content
Question content
\end{multicols}
\end{document}
由于框架框无法放在列的底部,LaTeX 会将其移到右列,然后当列平衡时,您就会得到您提到的丑陋布局。最好发布一个新问题,并附上您要实现的示例。