如何混合使用 \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宏类似,即不附加任何内容;

  • 如果该项目位于紧接的前一页或后一页,则在交叉引用中根据需要附加“在上一页”或“在下一页”;

  • 如果该项目位于文档的其他位置,则会将字符串“在页面上”附加到交叉引用。

相关内容