Múltiples títulos de teoremas

Múltiples títulos de teoremas

Quiero mostrar 2 títulos de teoremas y solo quiero hacer referencia automáticamente a un título de ellos.

Este es mi código, automáticamente refiere elenterotítulo

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

ingrese la descripción de la imagen aquí

Espero que el resultado pueda ser como el siguiente, solo hace referencia a una parte, la cual la generé manualmente. Además, y lo más importante, deseo que si cambio "Foo" a "Baz", puedaautomáticamentecambiar el título en referencia

ingrese la descripción de la imagen aquí

Respuesta1

Puede definir un comando que se comporte de manera diferente al escribir el título del teorema o al procesarlo \nameref.

Sólo necesitamos enseñar \namerefa usar un significado diferente para \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}

ingrese la descripción de la imagen aquí

información relacionada