I stumbled across this package recently thanks to a comment by ofer.
Basically, the etaremune package inverses the enumerate counter, making the indices decreasing rather than increasing.
Basic example:
\documentclass{article} \usepackage{etaremune} \begin{document} \begin{etaremune} \item Third item \item Second item \item First item \end{etaremune} \end{document}
Furthermore, to make the package more flexible, it offers different customizations.
Starting number:
The start
option, lets you begin with an arbitrary number. In case the starting number is smaller than the number of items, the counter won’t further decrease once it reaches zero.
\usepackage{etaremune}[start=7]
Nesting (with enumerate
):
Normal lists can be nested and so can etaremune
lists. The lists can also be mixed with normal, enumerate
lists. The documentation has a very nice example which I will just reuse here:
\renewcommand{\labelenumi}{\theenumi)} \renewcommand{\theenumii}{\roman{enumii}} \begin{enumerate} \item First. \begin{etaremune} \item third.\label{notice} \item second. \item first. \end{etaremune} \item Second. \item Third. \end{enumerate} Notice item~\ref{notice}.
Controlling the style:
Finally, the package allows the usage of some options for both, global and local style control.
Global options:
\usepackage[<options>]{etaremune}
Local options:
\begin{etaremune}[<options>]
Available options:
Vertical lengths control:
\topsep
, \partopsep
, \itemsep
and \parsep
.
Horizontal lengths control:
\leftmargin
, \rightmargin
, \listparindent
, \itemindent
, \labelwidth
and \labelsep
.
Here is the example from above slightly extended with the options itemsep
and parsep
set to zero. The first reduces the space between items of the same level to a minimum, whereas the latter between levels.
\documentclass{article} \usepackage{etaremune} \begin{document} \renewcommand{\labelenumi}{\theenumi)} \renewcommand{\theenumii}{\roman{enumii}} \renewcommand{\theenumiii}{\Alph{enumiii}} \begin{enumerate} \item First \item Second \begin{etaremune}[itemsep=0pt,parsep=0pt] \item third.\label{notice} \item second. \begin{etaremune} \item subsecond \item subfirst \end{etaremune} \item first. \end{etaremune} \item Third \end{enumerate} Notice item~\ref{notice}. \end{document}