我正在编写一个文档,其中包含多个成对呈现的不同长度的数据集,我希望它们具有相同的垂直间距(因此可能在一个列表的底部有空白)。multicols
允许\columnbreak
这样做,但由于列的长度不同,除非使用multicols
,否则将垂直对齐列表。\raggedcolumns
这可以正常工作(参见 MWE 中的 List1 和 List2),但如果我尝试在环境中执行相同操作Exercise
(参见 List3 和 List4),则\raggedcolumns
没有任何效果。其他讨论建议使用 、 和 删除垂直空间等解决方案\setlength{\parskip}{0pt}
,\setlength{\itemsep}{0pt}
但\addtolength{\baselineskip}{\fill}
这些解决方案均无效(无论是直接放置在 下方\begin{multicols}
还是 下方)。我还看到了使用而不是 的\columnbreak
讨论,但我收到一条错误消息,指出“...框中的 是没有意义的。无论如何都要保持平衡...”。multicols*
multicols
multicols*
有没有什么办法可以在一个环境中实现 List1/List2 的垂直间距Exercise
?
\documentclass{article}
\usepackage{multicol}
\usepackage{exercise}
\begin{document}
Outside of `exercise environment':
\begin{multicols}{2}
\raggedcolumns
List1
\begin{enumerate}
\item x
\item x
\item x
\item x
\item x
\item x
\end{enumerate}
\columnbreak
List2
\begin{enumerate}
\item x
\item x
\item x
\end{enumerate}
\end{multicols}
\bigskip
Inside `exercise' environment:
\begin{Exercise}[title={An exercise},label=ex1]
\begin{multicols}{2}
\raggedcolumns
List3
\begin{enumerate}
\item x
\item x
\item x
\item x
\item x
\item x
\end{enumerate}
\columnbreak
List4
\begin{enumerate}
\item x
\item x
\item x
\end{enumerate}
\end{multicols}
\end{Exercise}
\end{document}
答案1
环境已使其具有\itemsep
可拉伸性。如果移除拉伸,列空间的末尾可以拉伸以进行补偿。
\documentclass{article}
\usepackage{multicol}
\usepackage{exercise}
\begin{document}
Outside of `exercise environment':
\begin{multicols}{2}
\raggedcolumns
List1
\begin{enumerate}
\item x
\item x
\item x
\item x
\item x
\item x
\end{enumerate}
\columnbreak
List2
\begin{enumerate}
\item x
\item x
\item x
\end{enumerate}
\end{multicols}
\bigskip
Inside `exercise' environment:
\begin{Exercise}[title={An exercise},label=ex1]
\begin{multicols}{2}
\raggedcolumns
List3
\begin{enumerate}\itemsep=1\itemsep
\item x
\item x
\item x
\item x
\item x
\item x
\end{enumerate}
\columnbreak
List4
\begin{enumerate}\itemsep=1\itemsep
\item x
\item x
\item x
\end{enumerate}
\end{multicols}
\end{Exercise}
\end{document}