\ref-Text ändern

\ref-Text ändern

Ich frage mich, ob ich angezeigten Text ändern kann in\ref globalfür die \labelReferenzierung einer nummerierten Umgebung. Konkret:

Nehmen wir an, ich habe einen Satz namens „Wichtiger Beweis“.

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

Dann \ref{IP}würde etwa Folgendes angezeigt werden 1.1.1. Ich möchte diesen Text allerdings nur sporadisch ändern, so dass dieser konkrete Beweis beispielsweise mit angezeigt wird Important Proof, alle anderen Beweise aber davon unberührt bleiben.

Was meinte ich mitglobal? Ich habe einige Workarounds gesehen, die \hyperrefjedes Mal verwendet werden, aber das hier scheint nicht wirklich überzeugend; ich hätte gerne eine Art Neudefinition, sodass ich einfach etwas wie \ref„st“ verwenden kann und den Text nicht jedes Mal manuell einfügen muss.

Antwort1

\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}

Bildbeschreibung hier eingeben

Antwort2

Ich glaube nicht, dass das möglich wäreeinfachohne neu zu definieren \ref, was wahrscheinlich erheblich mehr Arbeit ist, als Sie möchten (oder als das Problem wirklich wert ist). Sie könnten jedoch ein Wrapper-Makro definieren, das sich um das kümmert, was Sie möchten. Stellen Sie sicher, dass Sie verwenden \usepackage{ifthen}(dies ist ein Standard-LaTeX-Paket) und definieren Sie ein Makro \nrefwie folgt:

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

Dann \refverwenden Sie \nrefstattdessen immer dann, wenn Sie verwenden würden. Dies führte zu den folgenden Referenzen, als ich zwei Abbildungen definierte:

Ergebnisse

Ich hoffe, das löst Ihr Problem.

verwandte Informationen