Lists are fundamental for organizing information clearly. LaTeX provides three main list environments: unordered lists (bullets), ordered lists (numbers), and description lists.

Quick start: Use itemize for bullets, enumerate for numbers, and description for term definitions.

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}

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}

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}

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}

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}

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}

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}

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}

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}

Advanced List Formatting

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}

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}

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}

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}

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}

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:

  1. Consistency - Use the same list type for similar content
  2. Parallel structure - Start items with the same part of speech
  3. Punctuation - Be consistent with periods and commas
  4. Nesting depth - Rarely go beyond three levels
  5. Item length - Keep items concise when possible

Common Mistakes

Avoid these errors:

  1. Missing \item - Every list entry needs this command
  2. Incorrect nesting - Close inner lists before outer ones
  3. Too many levels - More than 3-4 levels is hard to follow
  4. Inconsistent formatting - Match punctuation and capitalization
  5. 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]

Quick Reference

EnvironmentPurposeBasic Syntax
itemizeBullet points\item Text
enumerateNumbered list\item Text
descriptionTerm definitions\item[Term] Definition
PackagePurpose
enumitemFull list customization
multicolMulti-column lists

Next: Learn about handling Errors in LaTeX to troubleshoot your documents effectively.