Citing a range of papers using numeric keys as in \cite{a, b, c} -> [1-3]

How can I cite a range of papers, the output is a range of numbers, instead of a list of numbers? In other words, when I type

... some dummy text here is due to me \cite{me1, me2, me3, me4} ...


I want the output to be

... some dummy text here is due to me [3-6] ...

... some dummy text here is due to me [3.4.5.6] ...

(I use LaTeX, and am currently using the amsart class and whatever it includes. But I am open to other suggestions.)

The cite, natbib, and biblatex packages, at least, will all do this.

A minimal example which demonstrates the behaviour is:

\documentclass{article}
\begin{document}
hello \cite{article-full,book-full,mastersthesis-full}
\bibliographystyle{unsrt}
\bibliography{xampl}
\end{document}


If you have basic bibliography needs, adding \usepackage{cite} will produce the desired behaviour.

If you have more complex bibliography needs, nowadays I recommend biblatex as a first choice, although natbib has a long and distinguished history in this space and is possibly a better option if you want a more ‘stable’ solution.

For biblatex, you would now write this example as:

\documentclass{article}
\usepackage[style=numeric-comp]{biblatex}
\bibliography{xampl}
\begin{document}
hello \cite{article-full,book-full,mastersthesis-full}
\printbibliography
\end{document}


Noting that you need to process the bibliography using biber instead of bibtex. (You can use bibtex by adding backend=bibtex to the package options, but I'm not sure if that is currently recommended for new documents.)

If you are using natbib, a minimal example would be:

\documentclass{article}
\usepackage[numbers,sort&compress]{natbib}
\begin{document}
hello \citep{article-full,booklet-full,mastersthesis-full}
\bibliographystyle{unsrtnat}
\bibliography{xampl}
\end{document}

• Ah, the cite package. That gives a minimal work solution to my problem. Thanks. – Willie Wong Oct 7 '10 at 15:50
• (I also realized that the amsrefs package can do it, but I didn't feel like retyping 92 citation entries.) – Willie Wong Oct 7 '10 at 15:52
• warning -- biblatex hasn't been tested with amsart, and i can't predict whether it will work; i'm inclined to think it may not be totally smooth sailing. – barbara beeton Dec 30 '11 at 21:32
• Hi will, is there any chance of expanding the answer? This seems to be high up on google, but it is a bit unspecific. Just as the question :-( – Johannes_B Aug 27 '17 at 9:45
• @Johannes_B — thanks for noticing; what do you think of the new text? – Will Robertson Aug 27 '17 at 11:51

\usepackage[numbers,sort&compress]{natbib}

• If I test it, I see that \usepackage[square,numbers,sort&compress]{natbib} seems to be the same as \usepackage{cite} if using the plain bibliography style. The options of the cite package can be found in its documentation (numbers isn't one of them...). – Habi Jun 24 '13 at 15:06
Using biblatex, sorting and compressing numeric keys is achieved with
\usepackage[style=numeric-comp]{biblatex}