如何以顶部对齐的方式枚举多列?

如何以顶部对齐的方式枚举多列?

我尝试通过使用多列枚举来获得空间,但这里(v)没有顶部对齐。

有办法吗?

\begin{multicols}{2}
\begin{enumerate}[label=(\roman*)]
    \item \lstinline{-1}
    \item \lstinline{07}
    \item \lstinline{-6}
    \item \lstinline{0x22}
    \item \lstinline{0b01110011}
\end{enumerate}
\end{multicols}

在此处输入图片描述

答案1

multicol以下是使用一个或两个minipages实现所需对齐的两种不同可能性:

在此处输入图片描述

\documentclass{article}
\usepackage{enumitem}
\usepackage{multicol}
\usepackage{listings}

\begin{document}

\begin{multicols}{2}
\begin{enumerate}[label=(\roman*)]
    \item \lstinline{-1}
    \item \lstinline{07}
    \item \lstinline{-6}
    \item \lstinline{0x22}
    \item \lstinline{0b01110011}
    \item[\vspace{\fill}]
\end{enumerate}
\end{multicols}

\noindent
\begin{minipage}{0.5\textwidth}
\begin{enumerate}[label=(\roman*),series=mylist]
    \item \lstinline{-1}
    \item \lstinline{07}
    \item \lstinline{-6}
\end{enumerate}
\end{minipage}%
\begin{minipage}{0.5\textwidth}
\begin{enumerate}[resume*=mylist]
    \item \lstinline{0x22}
    \item \lstinline{0b01110011}
    \item[\vspace{\fill}]
\end{enumerate}
\end{minipage}
\end{document}

答案2

默认情况下,Multicol 是平衡的,如果有足够的可拉伸胶水(并且在这样的列表中存在),则 2 列分别有 3 个和 2 个项目,然后会给出该结果。

multicol 中有很多花哨的功能,可以防止最后一列根据情况而拉伸(因此请查看相关文档:)texdoc multicol或使用\raggedcolumns,或者您可以确保之间没有拉伸,\items在这种情况下,平衡会弄清楚您想要的设计实际上是完全合理的。

但总的来说,该环境并不是为生成此类列表而设计的,而是或多或少地生成直接的文本,因此也许其他包或方法可以让您更快地获得所需的结果。

相关内容