Diviser une liste en plusieurs colonnes dans Latex

168

J'espère que c'est simple: j'ai une liste relativement longue où chaque élément de la liste contient très peu de texte. Par exemple:

* une
* b
* c
* ré
* e
* F

Je souhaite le formater comme ceci:

* un d
* être
* c * f

Je préfère ne pas créer de tableau avec 2 listes car je veux pouvoir changer facilement la liste sans me soucier de mettre à jour toutes les colonnes.

Quelle est la meilleure façon de faire cela en latex?

Carl
la source
38
Très utile, mais devrait être migré vers tex.stackexchange.com
Matthias

Réponses:

250

Utiliser le package multicol et intégrer votre liste dans un multicolsenvironnement fait ce que vous voulez:

\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}
las3rjock
la source
8
Si vous n'aimez pas les nombres qui énumèrent automatiquement les ajouts, essayez itemize au lieu d'énumérer.
Tim Stewart
1
Ou enumitemqui permet de définir des environnements d'énumération personnalisés - par exemple, j'ai un exenum-environnement, de sorte que chaque liste d'exemples est énumérée de la même manière.
Martin Thoma
3
Et si j'ai une liste de nombres impairs, disons 5. Ce code donne 3 éléments dans une colonne et 2 dans la colonne (un sur la première et l'autre sur la troisième ligne). Comment puis-je resoudre ceci?. Comment puis-je ajuster l'espace entre les deux colonnes?.
Fadwa
Qu'est-ce que l'immense espace que multicol ajoute au-dessus de lui-même?
Marcin
y a-t-il un moyen facile d'aligner s'il y a un nombre impair d'entrées (par exemple, toutes alignées vers le haut et non l'espacement par défaut)?
user1234
18

Je ne sais pas si cela fonctionnerait, mais vous pourriez peut-être diviser la page en colonnes en utilisant le package multicol.

\usepackage{multicol}

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

la source
0

J'ai eu le multenum pour les "listes énumérées multi-colonnes" qui m'a été recommandé, mais je ne l'ai jamais utilisé moi-même, pour le moment.

Edit: La syntaxe ne ressemble pas exactement à ce que vous pourriez facilement copier / coller des listes dans le code LaTeX. Donc, ce n'est peut-être pas la meilleure solution pour votre cas d'utilisation!

janko
la source
0

En combinant les packages multicol package et enumitem package, il est facile de définir des environnements qui sont des analogues multi-colonnes des environnements enumerate et itemize:

\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}

Le résultat est ce que vous espérez:

entrez la description de l'image ici

Andrew
la source