Tx · LaTeX & TikZ

How to Put an Itemized List Inside a Paragraph in LaTeX

Published By the 9to5Science editorial team

At a glance

  1. 1. Load enumitem

    Add the enumitem package with its inline option.

  2. 2. Use itemize*

    Replace the regular itemize environment with enumitem’s itemize* environment.

  3. 3. Add inline items

    Write each list entry with \item; LaTeX keeps the entries in the same paragraph.

  4. 4. Customize the separator

    Choose labels and punctuation such as commas, semicolons, or conjunctions.

The regular itemize environment is designed as a displayed list: it starts a separate block, adds vertical spacing, and places each item on its own line. If you want list entries to flow with the surrounding prose, use an inline-list environment instead.

The most flexible modern solution is the enumitem package. Its itemize* environment produces an itemized list that stays inside the paragraph.

Use itemize* for an inline list

Load enumitem with the inline option:

\usepackage[inline]{enumitem}

Then write the list as follows:

The colors are
\begin{itemize*}
  \item red,
  \item green, and
  \item blue.
\end{itemize*}

The entries appear in the same paragraph rather than as three vertically stacked items. The itemize* environment is provided by enumitem when its inline option is enabled.

Complete compilable example

This example shows an inline list surrounded by ordinary text and gives each item a bullet label:

\documentclass{article}
\usepackage[inline]{enumitem}

\begin{document}

A traffic light commonly uses the following colors:
\begin{itemize*}[label=\textbullet, itemjoin=\quad, itemjoin*={, and }]
  \item red
  \item yellow
  \item green
\end{itemize*}.
They are shown in a fixed order.

\end{document}

The required package is enumitem; no additional package is needed for this example.

The options have these effects:

  • label=\textbullet selects the symbol printed before each item.
  • itemjoin=\quad inserts horizontal space between ordinary items.
  • itemjoin*={, and } changes the separator before the final item.

Depending on the package version and the exact list structure, punctuation is often easiest to control directly in the item text. For example, you can write commas after the first two entries and a period after the last one:

The colors are
\begin{itemize*}[label=]
  \item red,
  \item green, and
  \item blue.
\end{itemize*}

Here label= suppresses the bullets, producing a compact inline sequence while retaining the list’s structure.

Numbered inline lists

The same technique works for numbered lists. Load enumitem with inline, then use enumerate*:

\documentclass{article}
\usepackage[inline]{enumitem}

\begin{document}

The procedure has three stages:
\begin{enumerate*}[label=\arabic*.]
  \item prepare the data;
  \item run the calculation; and
  \item check the result.
\end{enumerate*}

\end{document}

You can change the numbering format with options such as label=(\alph*) for (a), (b), and so on, or label=\roman* for lowercase Roman numerals.

A shorter alternative: itemize with enumitem

For simple inline lists, itemize* is usually the clearest syntax. The package also provides the starred inline environment itemize*; use it with \begin{itemize*} and \end{itemize*}. The environment form is easy to read and customize:

Some choices are
\begin{itemize*}[label=--]
  \item small,
  \item medium, or
  \item large.
\end{itemize*}

Do not write \begin{itemize} when you want inline behavior. The ordinary environment and the inline environment are different environments; adding a spacing option to ordinary itemize does not convert it into an inline list.

When a normal list is better

An inline list is appropriate for short entries that form part of a sentence. A regular displayed list is usually more readable when entries are long, contain several sentences, include equations, or need their own indentation:

The experiment used the following materials:
\begin{itemize}
  \item a calibrated thermometer;
  \item a glass container large enough for the sample; and
  \item a stopwatch with a resolution of one second.
\end{itemize}

Trying to force long material into one paragraph can make both the typography and the grammar harder to follow.

Common mistakes

Using itemize without a package

This is valid LaTeX:

\begin{itemize}
  \item First item
  \item Second item
\end{itemize}

But it creates a vertical list. LaTeX does not have a standard built-in itemize* environment, so using that environment requires enumitem with the inline option.

Forgetting punctuation

LaTeX treats each \item as list content, not as a grammatical clause. It does not automatically insert commas, semicolons, or a final conjunction. Add punctuation yourself, either inside each item or with itemjoin options.

Putting paragraph breaks inside an inline list

An inline list is intended for short, uninterrupted entries. A blank line or a long paragraph inside an item can produce awkward output. Use a normal itemize environment if an item needs paragraph-level content.

Using fragile formatting in labels

Labels should generally be short. For a mathematical label, use a suitable math expression, for example label=$\bullet$ or label=(\roman*), rather than putting a large formula in every label.

Relying on manual spacing

Commands such as \hspace may appear to fix one particular line, but the result can break when the text reflows. Prefer itemjoin, itemjoin*, and ordinary punctuation so LaTeX can handle line breaks naturally.

References

  1. CTAN: enumitem — Control layout of itemize, enumerate, and description
  2. The LaTeX Companion, 3rd edition — Frank Mittelbach and Michel Goossens

Spotted an error? Send a correction. Read how we write and check articles in our editorial policy.