53

I have occasionally wanted to refer to a range of equations in my document. So far, I've been using Equations~\eqref{firstEquation}~--~\eqref{lastEquation}, which produces something like "Equations (5) - (12)". I recognize that this could make it harder to maintain the document if equations get shifted around, but I still prefer it to something like "Equations (5), (6), (7), (8), (9), (10), (11), and (12)".

Is there a standard or accepted way to refer to a range of equations like this? Or should I just keep doing whatever looks best to me?

3
  • 9
    Check out the cleveref package. You can write: see \cref{aneq,anothereq,andanothereq,onemoreeq} and get "see equations (5)-(8) and (16)"
    – Lev Bishop
    Commented May 24, 2011 at 19:37
  • 4
    @Lev: This is impossible! (or a rather bad bug in \cref that outputs more references than you specify) ;-) Also: This should be an answer.
    – Caramdir
    Commented May 24, 2011 at 19:41
  • @Caramdir: feel free to write a proper answer. I don't have time now.
    – Lev Bishop
    Commented May 24, 2011 at 19:42

1 Answer 1

52

The Chicago Manual of Style (15th Edition) says:

A range of equations is referred to by giving the first and last equation numbers, joined by an en dash: From equations (2)–(5) we obtain . . .

Also, The Manual of Scientific Style recommends to use the en-dash:

For separating numbers in order to indicate a range, use an en-dash...

To automate this process, you could use the cleveref package, which automatically sorts and compresses a range of references; this package aldo provides the \crefrange command (and variants) to easily refer to a range of labels. You can customize the way the ranges are to be typeset. A little example:

\documentclass{article}
\usepackage{amsmath}
\usepackage{cleveref}

\begin{document}

\begin{equation}\label{equ:one}
a=b
\end{equation}

\begin{equation}\label{equ:two}
c=d
\end{equation}

\begin{equation}\label{equ:three}
e=f
\end{equation}

\begin{equation}\label{equ:four}
g=h
\end{equation}

\begin{equation}\label{equ:five}
i=j
\end{equation}

See~\cref{equ:three,equ:one,equ:five,equ:two}

\Crefrange{equ:two}{equ:five}

\end{document}

To get an en-dash instead of the word "to" you need to add

\newcommand{\crefrangeconjunction}{--}

to the preamble of the document.

EDIT: updated the example with an example of \Crefrange, and added the recommendations from the style manuals.

2
  • Should I write 'Equations' with upper case? Or 'equations'?
    – a06e
    Commented Oct 8, 2017 at 12:53
  • 2
    Note that there is one pitfall with the \Crefrange{equ:two}{equ:five} reference. If you add an additional equation between, e.g., equ:three and equ:four (like equ:threeAndHalf), then the Crefrange command will simply extend the range, while explicitly listing your equations as in \cref{equ:three,equ:one,equ:five,equ:two} will protect you from this problem.
    – dgruending
    Commented Jan 30, 2020 at 14:07

You must log in to answer this question.

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