Lists (Itemize, Enumerate)

Learn how to create bulleted lists, numbered lists, and description lists in LaTeX.

LaTeX handles lists using three primary environments: itemize for bullet points, enumerate for numbered lists, and description for dictionary-style definitions.

Bulleted Lists (Itemize)

The itemize environment is used for unordered lists. Each point must begin with the \item command.

My favorite programming languages are:
\begin{itemize}
  \item Python
  \item TypeScript
  \item Rust
\end{itemize}

Numbered Lists (Enumerate)

The enumerate environment is used for ordered lists. LaTeX handles the numbering automatically, so if you add or remove an item, the list will re-number itself perfectly.

Steps to bake a cake:
\begin{enumerate}
  \item Preheat the oven to 350 degrees.
  \item Mix the dry ingredients.
  \item Bake for 30 minutes.
\end{enumerate}

Nested Lists

You can nest lists inside of each other up to four levels deep. LaTeX will automatically change the bullet style or numbering format for the deeper levels (e.g., from 1. to (a) to i.).

\begin{enumerate}
  \item First main point
  \begin{itemize}
    \item A sub-point explaining the first point
    \item Another sub-point
  \end{itemize}
  \item Second main point
\end{enumerate}

Customizing List Symbols

If you want to change the default bullet point to a specific symbol (like a dash or a star), you can pass an optional argument to the \item command.

\begin{itemize}
  \item[$\star$] Important point
  \item[-] Standard point
  \item[$\rightarrow$] Next step
\end{itemize}
The enumitem package

If you need to change the spacing between list items globally, or change the numbering style (e.g., A, B, C instead of 1, 2, 3), use the enumitem package. It allows you to do things like \begin{enumerate}[label=\alph*.].