How to Change Font Size and Type in an enumerate List
At a glance
- 1. Choose the scope
Decide whether the change should affect one list, every list, the item text, the labels, or both.
- 2. Set item text
Use enumitem's before option or a font declaration inside the list to change the item text.
- 3. Style the labels
Use format for label typography and label for the numbering symbol or pattern.
- 4. Compile and check
Use a complete example to verify that the intended size and family apply to the right parts.
The enumitem package lets you customize an enumerate list without redefining the list environment. The key distinction is between the item text and the labels (the numbers or letters beside each item): change the item text with a font declaration, and style labels separately with format or label.
Change the item text in one list
Load enumitem, then give the list a before option containing the font declarations you want. For example, \small\sffamily selects a smaller size and sans-serif family for the list contents. The change is local to the list.
\documentclass{article}
\usepackage{enumitem}
\begin{document}
Normal text before the list.
\begin{enumerate}[before=\small\sffamily]
\item The text of this item is small and sans serif.
\item So is the text of this item.
\end{enumerate}
Normal text after the list.
\end{document}
The before code runs as the list begins. A list is grouped, so the font declaration does not change the surrounding paragraphs. You can also set the font directly in the environment:
{\small\sffamily
\begin{enumerate}
\item This item is small and sans serif.
\item This one is too.
\end{enumerate}
}
The braces make the scope explicit. The before option is convenient when you are already using enumitem options on the list; the braced form also works without enumitem.
Change the labels as well
Use format to set the type style of the labels. This is separate from before, which sets the font for the list contents. For example, the following list has small sans-serif item text and bold sans-serif labels:
\begin{enumerate}[
before=\small\sffamily,
format=\small\sffamily\bfseries
]
\item Item text and label have separate settings.
\item The label is bold; the item text is not.
\end{enumerate}
You can change the numbering pattern with label. For example, label=\textit{\alph*.} gives italic lowercase-letter labels such as a. and b.. Combine it with format when you want precise label styling:
\begin{enumerate}[
label=\alph*.,
format=\small\itshape
]
\item First item.
\item Second item.
\end{enumerate}
Here, label selects the letter-and-period pattern, while format makes the label small and italic. The item text keeps the surrounding document’s font because no before setting changes it.
Select a size or typeface
Standard LaTeX size declarations include \tiny, \scriptsize, \footnotesize, \small, \normalsize, \large, \Large, \LARGE, \huge, and \Huge. Use the capitalization shown: \Large and \LARGE are different size steps. Choose a family with \rmfamily (roman), \sffamily (sans serif), or \ttfamily (monospaced). Shape and weight declarations include \itshape, \slshape, \scshape, and \bfseries.
For example, before=\footnotesize\ttfamily makes the item text footnote-sized and monospaced. You can combine declarations, as in before=\small\sffamily\itshape. If you use a nonstandard font family, load the relevant font package; with XeLaTeX or LuaLaTeX, fontspec can select system fonts.
Apply a style to every enumerate list
To set a default for all enumerate lists, use \setlist in the preamble:
\setlist[enumerate]{before=\small\sffamily}
This applies the setting to each enumeration unless an individual list overrides it. You can also target a nesting level, for example \setlist[enumerate,2]{before=\footnotesize} for second-level lists. Keep global settings in the preamble so their effect is easy to find and maintain.
Common mistakes
- Styling the wrong part:
labelchanges the numbering pattern, not the item prose. Usebeforefor the item text andformatfor label typography. - Expecting
formatto change the whole list: It formats the label only. Add abeforesetting if the item text also needs a font change. - Changing the document globally by accident: A font declaration outside a group or list can continue into later text. Put it in the list’s
beforesetting or in a braced group. - Using a family name as a command:
\sffamilyselects the document’s sans-serif family; it does not install a particular font. Load or select a font separately if you need a specific typeface. - Mixing up size commands: LaTeX size commands are relative to the document’s size setup. If you need a precise point size rather than a standard size step, use a font-selection method suited to your engine and font.
References
Spotted an error? Send a correction. Read how we write and check articles in our editorial policy.