616

Sometimes, I want to have enumerate lists in LaTeX start at other than the first value (1, a, i, etc.) How can I make an enumerate list start at an arbitrary value?

5 Answers 5

742

You can change the counter named enumi, like this:

\begin{enumerate}
  \setcounter{enumi}{4}
  \item fifth element
\end{enumerate}

(If you have lists at deeper levels of nesting, the relevant counters are enumii, enumiii and enumiv.)

10
  • 2
    How do you start at (a) from the very beginning and not (1)? Commented Jul 8, 2015 at 15:23
  • 1
    @JohnMolokach See tex.stackexchange.com/questions/2291/… (look at top two answers at least). Commented Jul 8, 2015 at 15:38
  • 13
    @JohnMolokach That will indent it an extra level, and make it look ugly. Better to do it right, e.g. simply \usepackage{enumerate} at the top and use \begin{enumerate}[(a)] etc. Anyway, it's up to you. This question was about starting at something other than the first index, e.g. starting at (e) instead of (a), but I can see how the title is ambiguous. Commented Jul 8, 2015 at 19:25
  • 6
    Be advised, that \setcounter{enumi}{N} will set the next item's value to N+1. So if you happen to end another enumeration with N being the last item and to start another enumeration with N+1, you want to set the counter to N-1 instead.
    – stephanmg
    Commented Apr 28, 2020 at 9:32
  • 3
    @stephanmg That means that if you end an enumeration with N being the last item, you want to set the counter back to N again (not N-1) in the next enumeration if you want to start with N+1.
    – JoeyBF
    Commented Apr 25, 2023 at 23:42
100

The enumitem package provides a simple solution to very many common problems that are related to minor tweaks of enumerate/itemize/description. In this case, you can use the start parameter. Also have a look at the resume parameter.

5
  • 15
    I would just like to make explicit that the "resume" parameter causes the counter to continue from the previous "enumerate" environment. Commented Jan 9, 2014 at 5:37
  • 3
    To be more explicit "resume"parameter causes the counter to continue from the previous "enumerate" environment in the current block. For example \begin{enumerate} \item 1 \end{enumerate} \begin{defn} \begin{enumerate} \item 1 \item 2 \end{enumerate} \end{defn} \begin{enumerate} \item This will be 2 \end{enumerate} Commented Nov 16, 2016 at 7:16
  • 4
    For people looking for a MWE using resume you can find one here Commented Oct 3, 2017 at 12:14
  • 1
    FYI: enumitem with \begin{enumerate}[resume] is nice but not compatible with the paralist package's compactenum environment.
    – orbeckst
    Commented Sep 6, 2019 at 17:27
  • On the other hand enumitem has nosep and noitemsep, so you can write \begin{enumerate}[resume,noitemsep] instead. Commented May 28 at 16:45
56

If you only want to alter the starting value, the easiest way is:

\documentclass{article}

\begin{document}

\begin{enumerate}\addtocounter{enumi}{41}
  \item This item is numbered `42.'
    \begin{enumerate}\addtocounter{enumii}{5}% This cannot be more than 25
      \item This one is ``numbered'' `(f)'
    \end{enumerate}
\end{enumerate}

\end{document}

While you can have six layers of nested list environments (itemize, description, enumerate), you can have no more than 4 of one type. The counters enumi through enumiv control the index of each item's label. You can increment (as shown) or decrement (add a negative value) all 4 levels.

Note, though, that this won't be entirely arbitrary. Levels enumerated alphabetically cannot have items after an item labeled 'z.' (You could, however, add a negative amount to the appropriate counter to get it back to the `a' label.)

(Now that I see the other answer, I wonder why I always opt for the relative \addtocounter rather than the absolute \settocounter?)

3
  • 2
    \addtocounter is safer in that it ensures monotonicity when used mid-list.
    – equaeghe
    Commented Mar 19, 2014 at 10:22
  • 1
    Doesn't work with 0.
    – Vorac
    Commented Feb 25, 2018 at 16:32
  • 2
    +1: It also works with beamer. Commented Feb 6, 2020 at 16:18
9

\addtocounter works with 0 too:

\documentclass{article}

\begin{document}

\begin{enumerate}\addtocounter{enumi}{-1}
  \item  % starts with `0.`
  \item  % starts with `1.`
  ..
\end{enumerate}

\end{document}
1
  • 1
    What if we want to change the counter if an inner enumerate?
    – snoram
    Commented Jan 27, 2022 at 18:54
5

Just to complete the answer of Jukka with a copy/pastable example:

\documentclass{article}
\usepackage{enumitem}

\begin{document}

\begin{enumerate}
\item Hello
\item I am
\end{enumerate}

\begin{enumerate}[resume]
\item a list
\item that continues
\end{enumerate}

\begin{enumerate}[start=42]
\item and go
\item beyond your hopes
\end{enumerate}

\end{document}

enter image description here

Note however that this solution is not compatible with beamer, while \setcounter{enumi}{3} does work.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .