Как можно условно включить номер страницы в перекрестную ссылку (когда объект, на который ссылаются, находится на другой странице)?

Как можно условно включить номер страницы в перекрестную ссылку (когда объект, на который ссылаются, находится на другой странице)?

Когда перекрестная ссылка на рисунок не находится на той же странице, что и сам рисунок, я хотел бы включить номер страницы в рисунок. Но когда они находятся на одной странице, это излишне, и я хочу опустить номер страницы.

Другими словами, я хочу переключаться между этими двумя стилями ссылок на рисунки в зависимости от того, одна ли страница/разная страница:

\newcommand{\figref}[1]{Figure~\ref{fig:#1}, page \pageref{fig:#1}}
\newcommand{\simplefigref}[1]{Figure~\ref{fig:#1}}

ВероятноТестирование текущей страницыи условные предложения могут это сделать, есть ли у кого-нибудь готовый рецепт?

решение1

Попробуйтеvariorefупаковка.

\documentclass[english]{scrartcl}

\usepackage{babel}
\usepackage{varioref}

\usepackage{blindtext}% just for testing

\begin{document}
Text \vref{fig1}. \blindtext

\blindtext[5]% change this number to see
             % the different outputs of \vref

\begin{figure}
  \rule{2cm}{2cm}
  \caption{Text}\label{fig1}
\end{figure}
\end{document}

Связанный контент