Cambiar texto \ref

Cambiar texto \ref

Me pregunto si puedo cambiar el texto mostrado en\ref globalmentepara \labelhacer referencia a un entorno numerado. Concretamente:

Supongamos que tengo un teorema llamado "Prueba importante".

\begin{theorem}[Important Proof]\label{IP}
Trivial.
\end{theorem}

Entonces \ref{IP}mostraría algo como 1.1.1. Sin embargo, quiero cambiar ese texto sólo esporádicamente, de modo que esta prueba específica se muestre, por ejemplo, con Important Proof, pero todas las demás pruebas no se vean afectadas.

¿Qué quise decir conglobalmente? Vi algunas soluciones alternativas \hyperrefcada vez, pero esto no parece realmente convincente; Me gustaría tener algún tipo de redefinición, para poder usar algo como \refst. No tengo que insertar el texto manualmente cada vez.

Respuesta1

\documentclass{article}
\usepackage{hyperref}
\newtheorem{theorem}{Theorem}
\begin{document}
\begin{theorem}[Important Proof]%
\makeatletter\def\@currentlabel{Important Proof}\makeatother
\label{IP}
Trivial.
\end{theorem}

\ref{IP}
\end{document}

ingrese la descripción de la imagen aquí

Respuesta2

No creo que esto sea posible.simplementesin redefinir \ref, lo que probablemente sea considerablemente más trabajo del que le interesa (o del que realmente vale el problema). Sin embargo, podría definir una macro contenedora que se encargaría de lo que desea. Asegúrese de utilizar \usepackage{ifthen}(este es un paquete LaTeX estándar) y defina una macro \nrefcomo esta:

\def\nref#1{%
    \ifthenelse{\equal{#1}{IP}}{%
        ``Important Proof''%
    }{%
        \ref{#1}%
    }%
}%

Luego, cada vez que uses \ref, úsalo \nrefen su lugar. Esto resultó en las siguientes referencias, cuando definí dos figuras:

Resultados

Espero que eso responda a tu dificultad.

información relacionada