\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。つまり、何も追加されません。

  • 項目が直前のページまたは直後のページにある場合は、相互参照に「前のページ」または「次のページ」のいずれか適切なものを追加します。

  • 項目が文書内の別の場所にある場合は、相互参照に「ページ上」という文字列が追加されます。

関連情報