
図への相互参照が図と同じページにない場合は、図にページ番号を含めたいと思います。しかし、図が同じページにある場合は、これは冗長であるため、ページ番号を省略したいと思います。
つまり、同じページ/異なるページに応じて、図の参照の次の 2 つのスタイルを切り替えたいのです。
\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}