Mehrere Theoremtitel

Mehrere Theoremtitel

Ich möchte 2 Titel von Theoremen anzeigen und nur einen davon automatisch referenzieren

Das ist mein Code, er verweist automatisch auf dieganzTitel

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

Bildbeschreibung hier eingeben

Ich hoffe, dass das Ergebnis wie folgt aussehen kann, es bezieht sich nur auf einen Teil davon, den ich manuell generiert habe. Außerdem und vor allem wünsche ich mir, dass, wenn ich "Foo" in "Baz" ändere, esautomatischÄndern Sie den Titel in Referenz

Bildbeschreibung hier eingeben

Antwort1

Sie können einen Befehl definieren, der sich beim Setzen des Theoremtitels oder bei der Verarbeitung unterschiedlich verhält \nameref.

Wir müssen nur lehren, \namerefeine andere Bedeutung für zu verwenden \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}

Bildbeschreibung hier eingeben

verwandte Informationen