Breaking a list into multiple columns in Latex

Hopefully this is simple: I have a relatively long list where each list item contains very little text. For example:

* a * b * c * d * e * f
I wish to format it like so:
* a * d * b * e * c * f

I would rather not create a table with 2 lists as I want to be able to easily change the list without worrying about updating all the columns. What is the best way to do this in latex?

asked Sep 9, 2009 at 7:38 50.4k 17 17 gold badges 75 75 silver badges 82 82 bronze badges Very helpful, but should be migrated to tex.stackexchange.com Commented Aug 19, 2012 at 10:25

5 Answers 5

Using the multicol package and embedding your list in a multicols environment does what you want:

\documentclass \usepackage \begin \begin \begin \item a \item b \item c \item d \item e \item f \end \end \end
1,961 16 16 silver badges 33 33 bronze badges answered Sep 9, 2009 at 8:09 8,714 1 1 gold badge 32 32 silver badges 33 33 bronze badges If you don't like the numbers that enumerate automatically adds, try itemize instead of enumerate. Commented Sep 6, 2010 at 19:52

Or enumitem which allows defining custom enumerate environments - e.g. I have an exenum-environment, so that each list of examples is enumerated the same way.

Commented Apr 4, 2014 at 9:49

What if i have an odd number list say 5. This code give 3 items in one column and 2 in the column (one on the first and the other on the third line). How can i solve this?. How can i adjust the space between the two columns?.

Commented Nov 20, 2015 at 15:04 What's with the huge space multicol adds above itself? Commented Apr 11, 2017 at 14:39

is there an easy way of alignment if there is an odd number of entrys (e.g. all aligned to top not the default spacing)?

Commented May 16, 2017 at 21:30

I don't know if it would work, but maybe you could break the page into columns using the multicol package.

\usepackage \begin \begin[Your list here] \end
answered Sep 9, 2009 at 8:14 Saltash Matt Saltash Matt

Another option to avoid nesting two different environments (like multicols and enumerate ).

The environment called tasks from the package with the same name seems to me very easy to customize thanks to a variety of options (pdf guide here).

\documentclass \usepackage %\settasks \begin Text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text. \begin(2) \task[*] a \task[*] b \task[*] c \task[*] d \task[*] e \task[*] f \end Text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text. \end

produces this output

tasks

The package tasks was updated in August 2020 and it was originally created specifically for horizontally columned lists (see the screenshot just above here), the motivations behind this are resumed in the guide. If such arrangement of the items/tasks is acceptable, then this may be a good choice since it keeps - IMHO - the code tidy and flexible.