如何混合 \ref{} 和 \pageref{}?

如何混合 \ref{} 和 \pageref{}?

有 \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」將附加到交叉引用中。

相關內容