If you need bullet points in LaTeX, use itemize. If you need a numbered list, use enumerate. LaTeX also includes description for term-definition lists and supports nesting, custom labels, and spacing control.
Quick answer: itemize creates bullet lists, enumerate creates numbered lists, and description creates labeled definition-style lists.
Choose the Right List Environment
| Environment | Best for | Typical output |
|---|
itemize | Bullet points and unordered lists | Bullets |
enumerate | Steps, rankings, ordered instructions | Numbers or letters |
description | Definitions, glossaries, option lists | Bold label + explanation |
Quick Start
\begin{itemize}
\item First bullet
\item Second bullet
\end{itemize}
\begin{enumerate}
\item First step
\item Second step
\end{enumerate}
- First bullet
- Second bullet
- First step
- Second step
Unordered Lists (Bullets)
Use the itemize environment for bullet points:
\documentclass{article}
\begin{document}
Shopping list:
\begin{itemize}
\item Milk
\item Eggs
\item Bread
\item LaTeX books
\end{itemize}
\end{document}
Nested Bullet Lists
You can nest lists up to four levels deep:
\documentclass{article}
\begin{document}
\begin{itemize}
\item First level
\begin{itemize}
\item Second level
\begin{itemize}
\item Third level
\begin{itemize}
\item Fourth level
\end{itemize}
\end{itemize}
\end{itemize}
\item Back to first level
\end{itemize}
\end{document}
• First level
◦ Second level
▪ Third level
▸ Fourth level
• Back to first level
Ordered Lists (Numbers)
Use the enumerate environment for numbered lists:
\documentclass{article}
\begin{document}
Recipe steps:
\begin{enumerate}
\item Preheat oven to 350°F
\item Mix ingredients
\item Pour into pan
\item Bake for 30 minutes
\item Let cool and enjoy
\end{enumerate}
\end{document}
Recipe steps:
- Preheat oven to 350°F
- Mix ingredients
- Pour into pan
- Bake for 30 minutes
- Let cool and enjoy
Nested Numbered Lists
Different numbering styles at each level:
\documentclass{article}
\begin{document}
\begin{enumerate}
\item First item
\begin{enumerate}
\item Sub-item A
\item Sub-item B
\begin{enumerate}
\item Detail i
\item Detail ii
\end{enumerate}
\end{enumerate}
\item Second item
\end{enumerate}
\end{document}
1. First item
(a) Sub-item A
(b) Sub-item B
i. Detail i
ii. Detail ii
2. Second item
Description Lists
Use the description environment for term-definition pairs:
\documentclass{article}
\begin{document}
\begin{description}
\item[LaTeX] A document preparation system
\item[PDF] Portable Document Format
\item[Typography] The art of arranging type
\item[Compiler] Software that processes LaTeX code
\end{description}
\end{document}
- LaTeX A document preparation system
- PDF Portable Document Format
- Typography The art of arranging type
- Compiler Software that processes LaTeX code
Mixing List Types
You can combine different list types:
\documentclass{article}
\begin{document}
\begin{enumerate}
\item Prepare ingredients:
\begin{itemize}
\item 2 cups flour
\item 1 cup sugar
\item 3 eggs
\end{itemize}
\item Mixing process:
\begin{itemize}
\item Beat eggs
\item Add sugar gradually
\item Fold in flour
\end{itemize}
\item Baking times:
\begin{description}
\item[Cupcakes] 15-20 minutes
\item[Layer cake] 25-30 minutes
\item[Bundt cake] 45-50 minutes
\end{description}
\end{enumerate}
\end{document}
1. Prepare ingredients• 2 cups flour
• 1 cup sugar
• 3 eggs
2. Mixing process• Beat eggs
• Add sugar gradually
• Fold in flour
3. Baking timesCupcakes 15-20 minutes
Layer cake 25-30 minutes
Bundt cake 45-50 minutes
Customizing Lists
Custom Bullets
\documentclass{article}
\begin{document}
% Temporarily change bullet symbol
\begin{itemize}
\item[→] First point
\item[→] Second point
\item[→] Third point
\end{itemize}
% Using different symbols
\begin{itemize}
\item[*] Asterisk bullet
\item[†] Dagger bullet
\item[§] Section symbol
\item[¶] Paragraph symbol
\end{itemize}
\end{document}
- → First point
- → Second point
- → Third point
- * Asterisk bullet
- † Dagger bullet
- § Section symbol
- ¶ Paragraph symbol
Custom Numbering
\documentclass{article}
\begin{document}
% Roman numerals
\begin{enumerate}
\item[(i)] First item
\item[(ii)] Second item
\item[(iii)] Third item
\end{enumerate}
% Custom starting number
\begin{enumerate}
\setcounter{enumi}{4}
\item This is item 5
\item This is item 6
\end{enumerate}
% Letters instead of numbers
\begin{enumerate}
\item[(a)] Option A
\item[(b)] Option B
\item[(c)] Option C
\end{enumerate}
\end{document}
- First item
- Second item
- Third item
- This is item 5
- This is item 6
- Option A
- Option B
- Option C
List Spacing
Compact Lists
\documentclass{article}
\usepackage{enumitem}
\begin{document}
% Normal spacing
\begin{itemize}
\item First item
\item Second item
\item Third item
\end{itemize}
% Compact spacing
\begin{itemize}[noitemsep]
\item First item
\item Second item
\item Third item
\end{itemize}
% No spacing at all
\begin{itemize}[noitemsep,topsep=0pt]
\item First item
\item Second item
\item Third item
\end{itemize}
\end{document}
Normal spacing
- First item
- Second item
- Third item
Compact spacing
- First item
- Second item
- Third item
No spacing
- First item
- Second item
- Third item
Wide Spacing
\documentclass{article}
\usepackage{enumitem}
\begin{document}
\begin{enumerate}[itemsep=1em]
\item First item with extra space after
\item Second item with extra space after
\item Third item
\end{enumerate}
\end{document}
- First item with extra space after
- Second item with extra space after
- Third item
The enumitem Package
For full control over lists:
\documentclass{article}
\usepackage{enumitem}
\begin{document}
% Custom labels
\begin{enumerate}[label=\arabic*)]
\item First item
\item Second item
\end{enumerate}
\begin{enumerate}[label=\Alph*.]
\item First item
\item Second item
\end{enumerate}
% Inline lists
\begin{enumerate*}[label=(\alph*)]
\item First \item Second \item Third
\end{enumerate*}
% Resume numbering
\begin{enumerate}
\item First item
\item Second item
\end{enumerate}
Text in between...
\begin{enumerate}[resume]
\item This is item 3
\item This is item 4
\end{enumerate}
\end{document}
- First item
- Second item
- First item
- Second item
The process includes (a) First, (b) Second, and (c) Third.
Resume numbering continues with item 3 and item 4 after a paragraph break.
List Alignment
\documentclass{article}
\usepackage{enumitem}
\begin{document}
% Left-aligned labels
\begin{itemize}[align=left]
\item Short
\item A much longer item label
\end{itemize}
% Right-aligned labels
\begin{enumerate}[align=right]
\item First
\item Second
\item Third
\end{enumerate}
% Hanging indent
\begin{itemize}[leftmargin=*]
\item This is a long item that will wrap to the next line
and maintain proper indentation
\item Another item
\end{itemize}
\end{document}
- Short
- A much longer item label
- First
- Second
- Third
- This is a long item that wraps to the next line and keeps a consistent hanging indent in the compiled document.
- Another item
Inline Lists
For lists within paragraphs:
\documentclass{article}
\usepackage{enumitem}
\begin{document}
The process involves:
\begin{enumerate*}[label=(\roman*)]
\item preparation,
\item execution,
\item evaluation, and
\item revision.
\end{enumerate*}
This keeps the list inline with the text.
My favorite colors are:
\begin{itemize*}
\item red,
\item blue, and
\item green.
\end{itemize*}
\end{document}
The process involves (i) preparation, (ii) execution, (iii) evaluation, and (iv) revision. This keeps the list inline with the text.
My favorite colors are red, blue, and green.
Common List Patterns
To-Do Lists
\documentclass{article}
\begin{document}
\begin{itemize}
\item[$\square$] Write introduction
\item[$\square$] Add examples
\item[$\boxtimes$] Review content
\item[$\square$] Submit document
\end{itemize}
\end{document}
- □ Write introduction
- □ Add examples
- ☒ Review content
- □ Submit document
Pros and Cons
\documentclass{article}
\begin{document}
\textbf{Pros:}
\begin{itemize}
\item[+] Easy to learn
\item[+] Professional output
\item[+] Free and open source
\end{itemize}
\textbf{Cons:}
\begin{itemize}
\item[--] Initial setup required
\item[--] Compilation needed
\end{itemize}
\end{document}
Pros:
- + Easy to learn
- + Professional output
- + Free and open source
Cons:
- — Initial setup required
- — Compilation needed
Multi-column Lists
\documentclass{article}
\usepackage{multicol}
\begin{document}
\begin{multicols}{2}
\begin{itemize}
\item Apple
\item Banana
\item Cherry
\item Date
\item Elderberry
\item Fig
\end{itemize}
\end{multicols}
\end{document}
Best Practices
List guidelines:
- Consistency - Use the same list type for similar content
- Parallel structure - Start items with the same part of speech
- Punctuation - Be consistent with periods and commas
- Nesting depth - Rarely go beyond three levels
- Item length - Keep items concise when possible
Common Mistakes
Avoid these errors:
- Missing
\item - Every list entry needs this command
- Incorrect nesting - Close inner lists before outer ones
- Too many levels - More than 3-4 levels is hard to follow
- Inconsistent formatting - Match punctuation and capitalization
- Wrong environment - Use the appropriate list type
Troubleshooting
List Not Appearing
Check for:
% Wrong - missing \item
\begin{itemize}
First item % Error!
\end{itemize}
% Correct
\begin{itemize}
\item First item
\end{itemize}
Spacing Issues
Adjust with enumitem:
\usepackage{enumitem}
\setlist{noitemsep} % Global setting
% Or per-list
\begin{itemize}[topsep=0pt, partopsep=0pt]
- First compact item
- Second compact item
- Third compact item
Quick Reference
| Environment | Purpose | Basic Syntax |
|---|
itemize | Bullet points | \item Text |
enumerate | Numbered list | \item Text |
description | Term definitions | \item[Term] Definition |
| Package | Purpose |
|---|
enumitem | Full list customization |
multicol | Multi-column lists |
Next: Learn about handling Errors in LaTeX to troubleshoot your documents effectively.