because LaTeX matters

Lists: Enumerate, itemize, description and how to change them

Latex distinguishes between three different enumeration/itemization environments. Each of them provide four levels, which means you can have nested lists of up to four levels.

Enumerate:

\begin{enumerate}
\item ...
\end{enumerate}

The enumerate-environment is used to create numbered lists.
If you like to change the appearance of the enumerator, the simplest way to change is to use the enumerate-package, giving you the possibility to optionally choose an enumerator.

The description list might be the least known. It comes in very handy if you need to explain notations or terms. Its neither numbered nor bulleted.

Example:

\begin{description}
\item[Biology] Study of life.
\item[Physics] Science of matter and its motion.
\item[Psychology] Scientific study of mental processes and behaviour.
\end{description}

And in a PDF it would look like this:

Nested lists:

Lists can be nested. In other words, it is possible to have a sub-list for an item of a list. Usage is straight forward, different environments can be mixed (see example) and the maximum depth (number of levels) is 4. Here is an example:

Like this:

Related

158 Comments

Well, I used to use the enumerate package too – but only until I found out about another one, called enumitem. It’s way more flexible and (in some cases) easier to use. (For example, it’s a bit tricky to obtain enumerations with _bold_ letters: (a), (b) etc with the enumerate package – try it! With enumitem, it’s much easier.)

Also, I hardly ever use itemize and description – and enumerate all the time.

Thanks a lot, your blog is very helpful. Btw, do you know how to insert pieces of source code into documents? I have tried some packages already, but they are a little ugly. Perhaps I have not figured out how to configure them yet :(.

It is possible to crate fancyframes using \mbox or the fancybox package. Nevertheless, I think you will have problems creating a frame similar to the html above, as figure is a floating environment, which can’t be put into a box.

One thing you can do is to use \hspace{1cm} between your \item and its content. However this will separate the dot (or whatever you are using) from the text which is probably not what you are looking for.
If so, try this:

Hi,
I wonder if it is possible to do something like this:
—————————————-
1. First Section Big Heading
Some normal text followed by a list numbered by section then item number:
1.1 First list item
1.2 Second list item (which will be referenced)

2. Second Section Big Heading
Some more normal text.
2.1 Another other item
2.2 A reference to a previous list item in this list (see item 2.1)
2.3 A reference to a previous list item in a different list (see item 1.2)
—————————————-
I want to be able to label and refer to items in the list, much like they way that equations are numbered. Thanks in advance!

I’m running into a bit of difficulty with all this. When I try to reference an embedded enumeration, rather than getting just “I” I get “Ia”. Here’s my big long preamble, but I think the only relevant package for this problem is the enumerate package.

You can either use an itemize-environment within if you are comfortable with having bullets instead of numerated items for one level. If not, the enumitem package provides commands that let you define a list with a custom depth. Make sure you have the latest version (version 3.0 or higher), as some stuff was only added recently.

I am trying to get a continuous list of examples throughout the document – i.e., all the examples are in sequence but with lots of text in between:
…
…
(1) ___
(2) ___
….
…
..
.
(3) ___
(4) ___
(5) ___
…

Is this possible to do automatically? It seems so basic, but I can’t figure it out. Thanks.

You’ll have to typeset the document twice for the numbers to be correct. Also, there is another package that offers similar functionality, called revnum, but my distribution at least doesn’t come with it by default. So you would probably have to manually install it.

Have a look at the examples below using the tabular and description environments. I’m sure, from there you’ll be able to adapt the examples to your needs. You may also find the enumitem documentation useful.
Best, Tom.

There was a very similar question in the previous comment. Here is a minimal example:

\documentclass[11pt]{article}
\usepackage{showframe}
\usepackage{enumitem}
\begin{document}
\begin{description}[style=multiline,leftmargin=3cm,font=\normalfont]
\item[step 1] Text
\item[step 2 blabla] Text is a very long text is a very long text is a very long text is a very long text
\end{description}
\end{document}

If you don’t need your text to start from the same position, use the following line of code instead:

Unless you are using long words that are hard to hyphenate (e.g. hyperlinks), LaTeX will automatically line-breaks when the text reaches the margin. See my minimal working example below. Can you provide some code to illustrate the problem?

Hi guys, I have one question.. How can I insert in Latex an enumerator like this (*) to indicate my equation? And is there any way to insert a matrix (for example) and write a title “My matrix” below it.

I would like to develop a skip pattern for my questionnaire. If I have to write three questions
1.
2.
.
.
.
13. Employment (a)1st option (b)2nd option (c)3rd option
14. If Q13 answered (a) or (b), your most recent occupation, ______________

For this I used enumerate to create the items 1 – 14 and so on…
But if I add or remove any items above the 13th, the ”if Q13 answered..” part of the 14th question needs editing. How can I automate this? Thanks.

Hi again,
I was using paralist package and inparaenum environment, but in order to achieve more compatibility with translators (i.e. pandoc), the question is if it is possible to make it with enumerate package. Thanks a lot in advance.

Hi.
can we have this itemize in latex (portable):
– test test test test
– ttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt….
ttttttttttttttttttttt.
– BBBB.
– CCC.
I want to margin bullet. if the item is long, starts after bullet (has a space) like up example

If I understand your question correctly, you would like to indent multi-line items. I wrote the example below and it seems this is the standard behavior. Could you provide a minimal working example similar to the one below to illustrate your problem.

usually in my articles for the \documentclass[journal]{IEEEtran}, I use the “description” environment without any error,i.e. \begin{description} … \end{description}.
However, when I used the \documentclass{bioinf} for the Oxford Bioinformatics journal I got an error stating that the description environment is undefined.

I have a question.
How you can change item separation but in the whole document?
Not only in the present list, put \itemsep 1pt after \begin{itemize}.
I know that is a little complicate but i dont know how many complicate.

I am using the mdwlist package with the report format. I have two list levels, the first list has arabic numerals, the second (nested) list is alphabetical. My second lists has increased to more than 26 items. Is there a way to convince LaTeX to number items 27-40 with aa, bb, cc, etc.?

Unfortunately, I cannot change the shorter list to alphabetical and the longer one to numerical.

First of all, you probably want to use description instead of itemize. It will automatically highlight text within “[]”. The enumitem package has lots of options for customization of lists. For example, it has a description style, newline, which automatically adds a linebreak after the text in “[]” in case it’s too long. I used that style in your code example below.

is it possible to get the items printed in reverse order, this since I have
ordered my talks etc, in chronological order, but now I think it is more useful to list my newest ones first. However, changing the items manually around will be quite a task.

That’s an interesting but rather unusual problem. I don’t know of any package which does that. The etaremune package (see my post here) reverses the numbering in enumerate, but not the actual order of items.

If you are keen enough, you might want to write your own macro to do that.

Thanks for your question. The enumitem package provides options to keep the space between description item and paragraph constant. Below is an example. Increase or reduce the space by changing leftmargin.

Hi Tom, I would like to know how to
1. Adjusting the size of the $\bullet$ (make it smaller than usual bullet size
2. Set the position of bullets so that bullets are aligned.
It looks something like this.(suppose * is bullet)

* Item1 * Item2
* This is Item 3 * This is Item4 with long name
* Item 5 is here * I want this bullet start in the same position as above

Please note that I would like to have two items on a the same line and I would like to specifically define the position of bullet so it aligns nicely bullet to start at the same position even if I move to the next line.

Thanks for this interesting question. Some people propose to go with the multicol package. However, this way the list gets filled in vertically instead of horizontally. Probably not what you’d like. I quite like the solution proposed here which uses the tabular environment. Here is a minimal example (including an option to change the bullet size):

Hello Tom, That was really helpful to me. Thank you so much for your help.
I am very new to the LaTex as well. I understood most of the codes but just wondering…. is the reason you used \newenvironment{listable} because we didn’t want to write out \begin{tabular}{ll} each time?

Hallo, Tom! When using enumrate, the options [i], [a] etc. are clear. How does one generate ones own symbol-set? I am looking for a macro-def-command sort of like \newenumlistcounter{g}{$\alpha$,$\beta$,$\gamma$,$\delta$,$\epsilon$}, so that when one enters \begin{enumerate}[(g)], this symbolset is used. Any ideas?

I am facing an issue in itemise environment. I need to maintain double spacing in between text. It is possible to maintain double spacing in between two consecutive bullets but I am not able to get double spacing in between long text of one bullet itself and it remains to single space only. the example is shown as follows:

You can set a different line spacing locally through setstrech{2} (setspace package, see below). If you need this for multiple lists, it may be worthwhile to define your own list environment through \newenvironment{}.