
有 \ref{} 和 \pageref{}。但我想要混合行為。我希望在文本中包含類似「XXX (page.YYY)」的內容,其中 XXX 是 \ref{} 通常產生的內容(章節/節/等編號),而 YYY 是頁碼。怎麼做?
答案1
建立一個新命令,例如\fullref
\newcommand{\fullref}[1]{%
\ref{#1}
(p.~\pageref{#1})%
}
並打電話
\fullref{label}
這是一個不測試頁面的 MWE。我建議,正如@Mico所說,使用https://www.ctan.org/pkg/varioref。該軟體包的作者已經想到了你:-)
答案2
我建議你看看變數引用包及其\vref
巨集。該巨集具有以下屬性:
如果交叉引用的項目恰好位於同一頁,它的行為類似普通
\ref
宏,即沒有附加任何內容;如果該項目位於緊鄰的上一頁或下一頁,則酌情在交叉引用中附加「在上一頁」或「在下一頁」;
如果該項目位於文件中的其他位置,則字串「on page」將附加到交叉引用中。