# Varioref's “Preceding Page” broken when cleveref is loaded

I'm using varioref together with hyperref and cleveref. Everything works fine except that as soon as I load cleveref, varioref forgets about "on the preceding page" and simply uses "on page N".

\documentclass{scrbook}

\usepackage{varioref}
\usepackage[final]{hyperref}
%\usepackage{cleveref} %Uncomment to break "preceding page"

\begin{document}

\chapter{Preceding}
\label{Preceding}
\clearpage

\vref{Preceding} -- %should give: "1 on the preceding page", broken with cleveref
\vref{Facing} %works correctly with and without cleveref

\clearpage
\chapter{Facing}
\label{Facing}

\end{document}


Any ideas?

BTW: I use hyperref here because its strong interaction with both other packages. The bug still occurs without it.

• From the cleverref manual: Similarly, if varioref is loaded, cleveref redefines the \vref, \vrefrange, \fullref – user31729 Sep 26 '14 at 13:50
• Interchanging the loading order of \varioref and cleveref will give the expected text with preceding, but I am not sure about other consequences of this. – user31729 Sep 26 '14 at 13:52
• @ChristianHupfer Unfortunately interchanging varioref and cleverref breaks the use of \cref{Preceding} for me. I'm afraid someone has to help me dig into the redefinition done by cleveref. – David Woitkowski Sep 26 '14 at 17:34

This issue seems to be fixed in the latest pre-release version cleveref version 0.19.1 (released May 2014), which is not yet available on CTAN. It can be downloaded from the author's website at http://www.dr-qubit.org/latex.php#cleveref-docs.
To install the package, follow the usual DocTeX installation procedure: extract the files, run the cleveref.ins file through LaTeX, copy the resulting cleveref.sty file to a directory in your TeX path, and run texhash (or equivalent) to update your TeX database.