Suddividere un elenco in più colonne in Latex


168

Spero che sia semplice: ho un elenco relativamente lungo in cui ogni elemento dell'elenco contiene pochissimo testo. Per esempio:

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

Vorrei formattarlo in questo modo:

* anno Domini
* b * e
* c * f

Preferirei non creare una tabella con 2 elenchi in quanto desidero poter modificare facilmente l'elenco senza preoccuparmi di aggiornare tutte le colonne.

Qual è il modo migliore per farlo in lattice?


38
Molto utile, ma dovrebbe essere migrato su tex.stackexchange.com
Matthias,

Risposte:


250

L'uso del pacchetto multicol e l'incorporamento dell'elenco in un multicolsambiente fa ciò che desideri:

\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
Se non ti piacciono i numeri che vengono enumerati automaticamente, prova itemize invece di enumerare.
Tim Stewart,

1
O enumitemche consente di definire ambienti enumerati personalizzati, ad esempio ho un ambiente exenum, in modo che ogni elenco di esempi sia enumerato allo stesso modo.
Martin Thoma,

3
Cosa succede se ho un elenco di numeri dispari dire 5. Questo codice fornisce 3 elementi in una colonna e 2 nella colonna (uno sulla prima e l'altro sulla terza riga). Come posso risolvere questo?. Come posso regolare lo spazio tra le due colonne ?.
Fadwa,

Cosa c'è nell'enorme spazio che multicol aggiunge al di sopra di se stesso?
Marcin,

esiste un modo semplice di allineamento se esiste un numero dispari di voci (ad esempio, tutte allineate in alto e non la spaziatura predefinita)?
user1234

18

Non so se funzionerebbe, ma forse potresti spezzare la pagina in colonne usando il pacchetto multicol.

\usepackage{multicol}

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

0

Mi è stato consigliato il multenum per " Elenchi con più colonne", ma non l'ho mai usato da solo.

Modifica: la sintassi non sembra esattamente che potresti facilmente copiare + incollare elenchi nel codice LaTeX. Quindi, potrebbe non essere la soluzione migliore per il tuo caso d'uso!


0

Combinando il pacchetto multicol e il pacchetto enumitem è facile definire gli ambienti che sono analoghi multi-colonna degli ambienti enumerati e 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}

L'output è quello che ti aspetteresti:

inserisci qui la descrizione dell'immagine

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.