Latex:如何检查数字是否在呼出/文本的同一页上?

问题描述

如果文本中提到了一个数字,比如第 10 页,但相应的数字出现在第 11 页,我如何在文本中提到的数字旁边自动引入一些额外的文本(例如:在第 11 页)。

>

而不是这样做: figure \ref{fig:test} on page \pageref{fig:test} shows bla bla.

自动检查: figure \\ref{fig:test} \check shows bla bla.

其中 \check一个宏,用于检查图形引用和图形(浮动)是否共存,是否在同一页面上。如果为 true,则返回 Null,否则返回 on page \pageref{fig:test}

解决方法

您可以使用 variorefcleveref 包。这将自动添加适当的文本或页码:

\documentclass{article}
\usepackage{varioref}
\usepackage[capitalise,noabbrev]{cleveref}

\begin{document}

\begin{figure}[h]
\caption{content...}
\label{key}
\end{figure}

\vref{key} 

\clearpage

\vref{key}

\clearpage

\vref{key}

\end{document}