将列表分成Latex中的多个列

时间:2009-09-09 07:38:33

标签: latex

希望这很简单:我有一个相对较长的列表,其中每个列表项包含非常少的文本。例如:

* a
* b
* c
* d
* e
* f

我希望将其格式化为:

* a     * d
* b     * e
* c     * f

我宁愿不创建一个包含2个列表的表,因为我希望能够轻松更改列表而不必担心更新所有列。

在乳胶中这样做的最佳方法是什么?

5 个答案:

答案 0 :(得分:243)

使用multicol包并在multicols环境中嵌入您的列表可以满足您的需求:

\documentclass{article}
\usepackage{multicol}

\begin{document}
\begin{multicols}{2}
\begin{enumerate}
    \item a
    \item b
    \item c
    \item d
    \item e
    \item f
\end{enumerate}
\end{multicols}
\end{document}

答案 1 :(得分:17)

我不知道它是否可行,但也许你可以使用multicol包将页面分成几列。

\usepackage{multicol}

\begin{document}
\begin{multicols}{2}[Your list here]
\end{multicols}

答案 2 :(得分:1)

通过结合使用multicol软件包和enumitem软件包,可以轻松地定义与枚举和逐项环境的多列类似的环境:

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

\newlist{multienum}{enumerate}{1}
\setlist[multienum]{
    label=\alph*),
    before=\begin{multicols}{2},
    after=\end{multicols}
}

\newlist{multiitem}{itemize}{1}
\setlist[multiitem]{
    label=\textbullet,
    before=\begin{multicols}{2},
    after=\end{multicols}
}

\begin{document}

  \textsf{Two column enumerate}
  \begin{multienum}
    \item item 1
    \item item 2
    \item item 3
    \item item 4
    \item item 5
    \item item 6
  \end{multienum}

  \textsf{Two column itemize}
  \begin{multiitem}
    \item item 1
    \item item 2
    \item item 3
    \item item 4
    \item item 5
    \item item 6
  \end{multiitem}

\end{document}

输出是您希望得到的:

enter image description here

答案 3 :(得分:0)

避免嵌套两个不同环境(如 multicolsenumerate)的另一种选择。

package with the same name 中名为 tasks 的环境在我看来很容易自定义,这要归功于多种选项 (pdf guide here)。

此代码:

\documentclass{article}
\usepackage{tasks}

%\settasks{style=itemize}

\begin{document}
Text text text text text text text text text text text text 
text text text text text text text text text text text text 
text text text text text text text text text text text text.

\begin{tasks}(2)
\task[*] a
\task[*] b
\task[*] c
\task[*] d
\task[*] e
\task[*] f
\end{tasks}    

Text text text text text text text text text text text text 
text text text text text text text text text text text text 
text text text text text text text text text text text text.
\end{document}

产生这个输出

tasks

tasks 于 2020 年 8 月更新,它最初是专门为水平列列表创建的(请参阅上面的屏幕截图),指南中介绍了其背后的动机.如果项目/任务的这种安排是可以接受的,那么这可能是一个不错的选择,因为它保持 - 恕我直言 - 代码整洁和灵活。

答案 4 :(得分:-1)

我向我推荐了“多列枚举列表”multenum,但我自己从未实际使用过它。

编辑:语法看起来并不像您可以轻松地将+粘贴列表复制到LaTeX代码中。因此,它可能不是您的用例的最佳解决方案!

相关问题