Lists can be nested. You simply write another list environment inside the body of an \item of an itemize or enumerate. LaTeX counts the nesting depth (the level) for you and switches the label at the head of each line automatically with that depth. You may also mix types — for instance, a numbered list inside a bulleted one. There is a limit, though: both itemize and enumerate nest up to four levels deep. This page covers how to nest, the default label at each level, how to mix types, and what to do when you need more than four levels.
How to nest
You make a nested list simply by placing a list environment inside the body of another list’s \item. Write a fresh \begin{itemize} … \end{itemize} (or enumerate) after one of the outer \items. The inner list then “belongs” to that outer entry, and LaTeX adjusts the label and indentation automatically with the depth. No special command or option is needed.
\begin{itemize}
\item 果物
\begin{itemize}
\item りんご
\item みかん
\end{itemize}
\item 野菜
\end{itemize}Here “Fruit” and “Vegetables” sit at level 1, and “Apple” and “Orange” below them at level 2. The inner list must be closed before the outer \end (environments must nest cleanly). The indentation is only for your own readability and does not affect the output — what determines the level is solely the \begin/\end nesting structure.
Default labels by level
The label (the marker or number at the head of each line) changes automatically with the level. For itemize the defaults are: level 1 a solid bullet •, level 2 a bold en-dash –, level 3 an asterisk *, and level 4 a centered dot ·. Each lives in a command — \labelitemi, \labelitemii, \labelitemiii, and \labelitemiv (the i / ii / iii / iv are Roman numerals naming the level).
For enumerate the defaults are: level 1 “1.”, level 2 “(a)”, level 3 “i.”, and level 4 “A.”. Those formats live in \labelenumi through \labelenumiv, while the numbers themselves are held by four counters, enumi through enumiv. The table below collects both sets of defaults.
| Level | itemize (marker) | itemize command | enumerate (number) | enumerate command | |
|---|---|---|---|---|---|
Level 1 | 1st | • bullet | \labelitemi | 1. | \labelenumi |
Level 2 | 2nd | – en-dash (bold) | \labelitemii | (a) | \labelenumii |
Level 3 | 3rd | * asterisk | \labelitemiii | i. | \labelenumiii |
Level 4 | 4th | · centered dot | \labelitemiv | A. | \labelenumiv |
Some document classes set different defaults, but the standard classes (article and friends) use the values above. How each enumerate counter is *printed* is decided by \theenumi through \theenumiv; by default these are \arabic{enumi}, \alph{enumii}, \roman{enumiii}, and \Alph{enumiv} respectively (the surrounding “.” and parentheses are added by the \labelenum… commands). The combined number shown when an item is cross-referenced with \label/\ref is built from the parent counter: to make a level-2 reference read like “2.1”, for instance, you redefine it with the parent \theenumi prefixed — \renewcommand{\theenumii}{\theenumi.\arabic{enumii}}.
Mixing list types
Nested lists need not be of the same type. You can freely put an enumerate inside an itemize, an itemize inside an enumerate, and so on. The level (depth) is counted regardless of type: the label is chosen by how many lists deep you are from the outside. So if you place an enumerate inside an item of an itemize (level 1), that enumerate is at level 2 and therefore gets “(a) (b) …”.
The key point is that the “four levels” limit for itemize and enumerate is counted separately per environment type. Only four sets of labels exist for itemize and four for enumerate, so the labels run out when a fifth list of the same type appears within the nesting chain. Even in a mixed stack, reaching a fifth level of either single type triggers the error described below.
A three-level mixed example
Here is a three-level example that mixes types. The outermost list is an enumerate (level 1) giving numbered steps; inside it an itemize (level 2) lists ingredients as bullets; and inside that, another enumerate (level 3) gives the numbered sub-steps of the preparation.
\begin{enumerate}
\item 生地を作る
\begin{itemize}
\item 小麦粉
\item 水
\begin{enumerate}
\item 半分を加えて混ぜる
\item 残りを少しずつ加える
\end{enumerate}
\end{itemize}
\item 寝かせる
\end{enumerate}In the output, “Make the dough” and “Let it rest” are in the level-1 enumerate, so they are numbered “1.” and “2.”. Below them, “Flour” and “Water” are in the level-2 itemize, so they carry the bold en-dash –. The innermost enumerate, nested inside “Water”, is at level 3, so its entries default to the Roman numerals “i.” and “ii.”. Even with types mixed, the same rule holds throughout: the label is always decided by how many levels deep that list sits from the outside.
Going beyond four levels, and changing labels
Nesting itemize or enumerate to five levels or more raises the error Too deeply nested. This is because standard LaTeX provides only four sets of labels per type, and with the plain standard environments that is the ceiling. When you need deeper nesting, or you want to change the per-level labels cleanly and all at once, the standard remedy is the enumitem package.
Load enumitem and you can raise the maximum nesting depth with \setlistdepth{<integer>}, then set the label and formatting for a given level by naming the type and the level — for example \setlist[itemize,5]{...}. If instead you only want to change one level’s label within the usual four, redefining the matching command with \renewcommand is enough on its own.
% 階層ごとに記号・番号を再定義(標準環境のまま)
\renewcommand{\labelitemii}{$\diamond$} % itemize 第 2 階層 → 菱形
\renewcommand{\labelenumii}{\theenumii)} % enumerate 第 2 階層 → a) b) ...This example changes the level-2 marker of itemize to a diamond (⋄) and the level-2 label of enumerate to the form “a)”, “b)”. When you want consistent styling across many lists, naming it through enumitem’s options (such as label=) is easier to manage than this hand-redefinition. See the links below for the details.