\refテキストを変更する

\refテキストを変更する

表示されるテキストを変更できるかどうか\ref 世界的に\label番号付き環境を参照する場合。具体的には:

「重要な証明」と呼ばれる定理があるとします。

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

すると、\ref{IP}のような表示になります1.1.1。ただし、このテキストを散発的にのみ変更し、この特定の証明が などとともに表示されるようにしImportant Proof、他のすべての証明は影響を受けないようにします。

私が何を言おうとしたかというと世界的に? every single time を使用する回避策をいくつか見ました\hyperrefが、これはあまり説得力がないようです。\ref毎回手動でテキストを挿入しなくても済むように、st のようなものを使用できるように、何らかの再定義が必要です。

答え1

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

ここに画像の説明を入力してください

答え2

これは不可能だと思う単にを再定義せずに\ref、おそらくあなたが興味を持っているよりも(または問題が本当に価値があるよりも)かなり多くの作業になるでしょう。ただし、必要なことを処理するラッパーマクロを定義することはできます。必ず\usepackage{ifthen}(これは標準の LaTeX パッケージです)を使用し、次のようにマクロを定義します\nref

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

そして、 を使用するときはいつでも\ref、代わりに を使用します\nref。これにより、2 つの図を定義したときに次の参照が生成されました。

結果

これであなたの疑問が解決したと思います。

関連情報