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.