在Latex中将列表分成多列


168

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

* 一个
* b
* C
* d
* e
* F

我希望这样格式化:

* 广告
* b * e
* c * f

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

在乳胶中做到这一点的最佳方法是什么?


38
非常有帮助,但应迁移到tex.stackexchange.com
Matthias

Answers:


250

使用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}

8
如果您不喜欢自动枚举的数字,请尝试逐项而不是枚举。
蒂姆·斯图尔特

1
enumitem允许定义自定义枚举环境-例如,我有一个exenum-environment,因此每个示例列表都以相同的方式枚举。
Martin Thoma 2014年

3
如果我有一个奇数列表说5,该怎么办?此代码在一列中给出3个项目,在该列中给出2个项目(一个在第一行,另一个在第三行)。我该如何解决?如何调整两列之间的间距?
Fadwa 2015年

multicol在自身之上添加的巨大空间是什么?
Marcin

如果条目的数量为奇数(例如,全部对齐到顶部而不是默认间距),是否有一种简单的对齐方式?
user1234

18

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

\usepackage{multicol}

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

0

我已经multenum为给我推荐了“多列列举清单”,但我从来没有真正使用过它自己,但。

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


0

通过将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}

输出是您希望的:

在此处输入图片说明

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.