Memecah daftar menjadi beberapa kolom dalam Lateks

168

Mudah-mudahan ini sederhana: Saya memiliki daftar yang relatif panjang di mana setiap item daftar berisi sangat sedikit teks. Sebagai contoh:

* Sebuah
* b
* c
* d
* e
* f

Saya ingin memformatnya seperti ini:

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

Saya lebih suka tidak membuat tabel dengan 2 daftar karena saya ingin dapat dengan mudah mengubah daftar tanpa khawatir memperbarui semua kolom.

Apa cara terbaik untuk melakukan ini dalam lateks?

carl
sumber
38
Sangat membantu, tetapi harus dimigrasikan ke tex.stackexchange.com
Matthias

Jawaban:

250

Menggunakan paket multicol dan menyematkan daftar Anda di multicolslingkungan melakukan apa yang Anda inginkan:

\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
sumber
8
Jika Anda tidak suka angka yang ditambahkan secara otomatis ditambahkan, coba perinci bukan sebagai penghitungan.
Tim Stewart
1
Atau enumitemyang memungkinkan mendefinisikan lingkungan enumerasi khusus - mis. Saya memiliki lingkungan exenum, sehingga setiap daftar contoh disebutkan dengan cara yang sama.
Martin Thoma
3
Bagaimana jika saya memiliki daftar angka ganjil yang dikatakan 5. Kode ini memberikan 3 item dalam satu kolom dan 2 di kolom (satu di yang pertama dan yang lain di baris ketiga). Bagaimana saya bisa memecahkan masalah ini?. Bagaimana saya bisa menyesuaikan ruang antara dua kolom?
Fadwa
Ada apa dengan multicol ruang besar menambahkan di atas itu sendiri?
Marcin
apakah ada cara penyelarasan yang mudah jika ada jumlah ganjil dari entri (mis. semua disejajarkan ke atas bukan jarak standar)?
user1234
18

Saya tidak tahu apakah itu akan berhasil, tapi mungkin Anda bisa memecah halaman menjadi kolom menggunakan paket multicol.

\usepackage{multicol}

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

sumber
0

Saya telah merekomendasikan multenum untuk "Daftar enumerasi multi-kolom" kepada saya, tetapi saya belum pernah menggunakannya sendiri.

Sunting: Sintaksnya tidak persis seperti Anda dapat dengan mudah menyalin + menempelkan daftar ke dalam kode LaTeX. Jadi, ini mungkin bukan solusi terbaik untuk kasus penggunaan Anda !

janko
sumber
0

Dengan menggabungkan paket multicol dan paket enumitem , mudah untuk mendefinisikan lingkungan yang merupakan analog multi-kolom dari lingkungan enumerasi dan perincian:

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

Outputnya adalah apa yang Anda harapkan:

masukkan deskripsi gambar di sini

Andrew
sumber