beamer:\nameref 调用部分的名称,而不是定理环境的名称

beamer:\nameref 调用部分的名称,而不是定理环境的名称

在我的 LaTeX 文档中,我使用了很多在theorem环境下编写的公理,同时使用了以下数学包:

\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}

axiom在序言中定义了环境,

\newtheorem{ax}{Fairness axiom}

然后我在文中写道,

\begin{ax}[name of the axiom]
\label{label of the axiom}
{definition of the axiom}
\end{ax}

为了引用这些公理,我使用了\nameref{label of the axiom}以下包

\usepackage{hyperref}
\usepackage{nameref}

article文档类中,\nameref{label of the axiom}它完全按照我的要求执行:它引用姓名公理,并附有其定义的超链接。

但在beamer课堂上,\nameref{label of the axiom}引用的是部分其中包括公理。

你知道为什么吗?有没有什么办法可以让班级在这件事上beamer表现得像班级一样?article

答案1

beamer将定理名称存储在 中\inserttheoremaddition。需要在正确的时间将其传递给nameref

\makeatletter
\addtobeamertemplate{theorem begin}{%
  \expandafter\NR@gettitle\expandafter{\inserttheoremaddition}%
}{}
\makeatother

相关内容