This is a follow-up to Cross Referencing Multiple Pages with the Pageref and Label Commands
Consider the code
\documentclass[12pt]{book}
\usepackage[english]{babel}
\usepackage{lipsum}
\usepackage{cleveref}
% To print a dash between the page numbers in the range.
\crefname{page}{p.}{pp.}
\newcommand*{\crefrangeconjunction}{--}
\begin{document}
\thispagestyle{empty}
See \cpageref{R1,R2,R3,R4}.
\newpage
Some words.
\label{R1}
\newpage
Some words.
\label{R2}
\newpage
Some words.
\label{R3}
\newpage
Some words.
\label{R4}
\end{document}
which produces
Though the output is exactly what I want, it seems that the labeling task might become quite laborious if, say, a hundred consecutive cross-referenced pages were involved.
QUESTION: How may I make the labeling process more efficient; that is, might there be a way, say, to reference the first and last pages in a consecutive string of pages so that LateX produces the desired output, in this case, See pp. 2--5 without having to label every referenced page?
Thank you.