Tx · LaTeX & TikZ

How to Change Font Size and Type in an enumerate List

Published By the 9to5Science editorial team

At a glance

  1. 1. Choose the scope

    Decide whether the change should affect one list, every list, the item text, the labels, or both.

  2. 2. Set item text

    Use enumitem's before option or a font declaration inside the list to change the item text.

  3. 3. Style the labels

    Use format for label typography and label for the numbering symbol or pattern.

  4. 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: label changes the numbering pattern, not the item prose. Use before for the item text and format for label typography.
  • Expecting format to change the whole list: It formats the label only. Add a before setting 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 before setting or in a braced group.
  • Using a family name as a command: \sffamily selects 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

  1. enumitem package documentation
  2. LaTeX2e unofficial reference manual

Spotted an error? Send a correction. Read how we write and check articles in our editorial policy.