在多列环境中进行垂直填充

在多列环境中进行垂直填充

我希望使用 使右列不被拉伸\vfill。我使用的源代码是这个。

\begin{multicols}{2}
    \noindent
    \begin{enumerate}
        \item $ x^{2} - 7x + 10 = 0 $
        \item $ 2x^{2} - 5x - 9 = 0 $
        \item $ 7x^{2} + x - 1 = 0 $
        \item $ x^{2} + 4x + 4 = 0 $
        \item $ x^{2} + x + 1 = 0 $
    \end{enumerate}
    \vfill
\end{multicols}

上面的代码将产生如下结果 右列被拉伸

我们可以看到右列被拉伸了。我不希望它变成这样。所以我\vfill在下面添加了枚举环境,但这并没有解决任何问题。

我也尝试使用enumerate*,但似乎它不会在点 c) 之后自动中断。

谢谢。

答案1

Multicols 有一个用于该目的的命令(参见第 4 页)。 \raggedcolumns可以在本地(环境内部)或全局(在序言中)使用。

您也可以使用\vspace*{\fill}

\documentclass[letterpaper]{article}
\usepackage{multicol,amsmath}
\usepackage{enumitem}
\begin{document}
\begin{multicols}{2}
    \noindent
    \begin{enumerate}
        \item $ x^{2} - 7x + 10 = 0 $
        \item $ 2x^{2} - 5x - 9 = 0 $
        \item $ 7x^{2} + x - 1 = 0 $
        \item $ x^{2} + 4x + 4 = 0 $
        \item $ x^{2} + x + 1 = 0 $
    \end{enumerate}
    \raggedcolumns
\end{multicols}
\end{document}

答案2

以下是 MWE:

\documentclass[letterpaper]{article}
\usepackage{multicol,amsmath}
\usepackage{enumitem}
\begin{document}
\begin{multicols}{2}
    \noindent
    \begin{enumerate}
        \item $ x^{2} - 7x + 10 = 0 $
        \item $ 2x^{2} - 5x - 9 = 0 $
        \item $ 7x^{2} + x - 1 = 0 $
        \item $ x^{2} + 4x + 4 = 0 $
        \item $ x^{2} + x + 1 = 0 $
        \item[]
    \end{enumerate}
\end{multicols}
\end{document}

请注意,下面的另一个答案更有意义,因为它会自动调整列。本质上,您要做的就是填补垂直间隙。您可以在枚举后使用建议的\vspace*{\fill}\vfill\null或。\vfill\mbox{}

\begin{multicols}{2}
    \noindent
    \begin{enumerate}
        \item $ x^{2} - 7x + 10 = 0 $
        \item $ 2x^{2} - 5x - 9 = 0 $
        \item $ 7x^{2} + x - 1 = 0 $
        \item $ x^{2} + 4x + 4 = 0 $
        \item $ x^{2} + x + 1 = 0 $
    \end{enumerate}
    \vspace*{\fill}% or \vfill\null or \vfill\mbox{}
\end{multicols}

相关内容