Sometimes a have situations, where I'm not able to compile a document, because the varioref package result in a loop. Here is a MWE, which result not in an endless loop, but it demonstrate the issue (tested with TeX Live 2012)
\documentclass[12pt]{article}
\usepackage{blindtext,varioref}
\begin{document}
\blindtext[3]
These words are only for demonstration purposes. These words are only for demonstration purposes. These words are only for demonstration purposes. These words are only for demonstration purposes. These words are only for demonstration purposes. These words are only for demonstration purposes. These words are only for demonstration purposes. These words are only for demonstration purposes. These words are only for ... See table \vref{tab:example}
\begin{table}[htbp]
\centering
\begin{tabular}{l}
Test\\
\end{tabular}
\caption{Example Table}
\label{tab:example}
\end{table}
\blindtext
\end{document}
Is there a rock solid solution for this issue? I known, removing a word or replace \vref
with \ref
helps, but this is not a solution (for my opinion).
Best Answer
To say it short: the only solution for this is: rephrase the sentence or use
\ref
or\pageref
.A little bit longer: This error message informs you that the created reference goes over the current page and
varioref
does not know whether it should count it on page x or x+1. Is the reference on page x the text of the reference is calculated to "this page" or "the page before". If the reference would be on page x+1 it should be "the page before" or "two pages before". If the reference is located on two pagesvarioref
can't be precice.To get rid of this error the only way is to rephrase the sentence so that the reference stays on a page or use macros
\ref
and/or\pageref
to build a valid reference.