
當對圖的交叉引用與圖不在同一頁上時,我想在圖中包含頁碼。但是當它們位於同一頁上時,這是多餘的——我想省略頁碼。
換句話說,我想根據相同頁面/不同頁面在這兩種圖形引用樣式之間切換:
\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}