Site icon texblog

Reverse enumerate or etaremune

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}

Basic etaremune example.

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}

etaremune example

Exit mobile version