複数の定理のタイトル

複数の定理のタイトル

定理のタイトルを2つ表示したいのですが、そのうちの1つのタイトルのみを自動的に参照したいのです

これは私のコードです。自動的に参照されます全体タイトル

\documentclass{minimal}
\usepackage{amsthm,hyperref}
\newtheorem{theorem}{Theorem}[]

\begin{document}

\begin{theorem}[Foo, or Bar]
\label{an example}
Mike is a human
\end{theorem}

By \nameref{example}, ...

\end{document}

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

結果は次のようになることを期待しています。これは私が手動で生成した一部を参照しているだけです。さらに、最も重要なのは、「Foo」を「Baz」に変更すると、自動的に参照のタイトルを変更する

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

答え1

定理のタイトルをタイプセットするときや を処理するときに異なる動作をするコマンドを定義できます\nameref

\namerefの別の意味を使うように教える必要があるだけです\alt

\documentclass{article}
\usepackage{etoolbox}
\usepackage{amsthm,hyperref}
\usepackage{xparse}

\newtheorem{theorem}{Theorem}

\NewDocumentCommand{\alt}{m}{#1}

\makeatletter
\patchcmd{\T@nameref}{\@gobble}{\@gobble\let\alt\@gobble}{}{}
\makeatother

\begin{document}

\begin{theorem}[Foo\alt{, or Bar}]
\label{example}
Mike is a human
\end{theorem}

By \nameref{example}, ...

\end{document}

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

関連情報