¿Cómo mezclar \ref{} y \pageref{}?

¿Cómo mezclar \ref{} y \pageref{}?

Hay \ref{} y \pageref{}. Pero quiero un comportamiento mixto. Me gustaría tener algo como "XXX (página.YYY)" en el texto, donde XXX es lo que \ref{} suele producir (número de capítulo/sección/etc.), mientras que YYY es el número de página. ¿Cómo hacerlo?

Respuesta1

crear un nuevo comando como\fullref

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

Y llama

\fullref{label}

Ese es un MWE que no prueba la página. Sugiero, como dijo @Mico, usarhttps://www.ctan.org/pkg/varioref. El autor del paquete ha pensado en ti :-)

Respuesta2

Te sugiero que mires en elvariadorpaquete y su \vrefmacro. La macro tiene las siguientes propiedades:

  • si el artículo al que se hace referencia cruzada se encuentra en elmisma página, se comporta como una \refmacro normal, es decir, no se añade nada;

  • si el elemento está ubicado en la página inmediatamente anterior o siguiente, se agrega "en la página anterior" o "en la página siguiente", según corresponda, a la referencia cruzada;

  • si el elemento se encuentra en algún otro lugar del documento, la cadena "en la página" se agrega a la referencia cruzada.

información relacionada