정리의 제목 2개를 표시하고 싶지만 그 중 하나의 제목만 자동으로 참조하고 싶습니다.
이것은 내 코드이며 자동으로전체제목
\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}