Como misturar \ref{} e \pageref{}?

Como misturar \ref{} e \pageref{}?

Existem \ref{} e \pageref{}. Mas eu quero um comportamento misto. Eu gostaria de ter algo como "XXX (página.YYY)" no texto, onde XXX é o que \ref{} normalmente produz (número do capítulo/seção/etc), enquanto YYY é o número da página. Como fazer isso?

Responder1

crie um novo comando como\fullref

\newcommand{\fullref}[1]{%
  \ref{#1} 
  (p.~\pageref{#1})%
  }

E ligue

\fullref{label}

Esse é um MWE que não testa a página. Sugiro, como disse o @Mico, usarhttps://www.ctan.org/pkg/varioref. O autor do pacote pensou em você :-)

Responder2

Eu sugiro que você dê uma olhada novarirefpacote e sua \vrefmacro. A macro possui as seguintes propriedades:

  • se o item que está sendo referenciado estiver localizado nomesma página, ela se comporta como uma \refmacro simples, ou seja, nada é acrescentado;

  • se o item estiver localizado na página imediatamente anterior ou seguinte, acrescenta “na página anterior” ou “na página seguinte”, conforme o caso, à referência cruzada;

  • se o item estiver localizado em algum outro lugar do documento, a string "na página" será anexada à referência cruzada.

informação relacionada