Beamer 中的控制定理标签

Beamer 中的控制定理标签

我正在根据教科书编写幻灯片,显然定理和方程的编号应该与文本中的编号一致。我可以轻松\tag引用方程并将其链接到它们\eqref——参考文献使用了正确的编号。

但当我给一个定理贴上标签并链接到它时,编号与教科书中的编号不一致。例如,

\begin{frame}
  \begin{theorem}[3.12]
    \label{thm:3.12}
    $A \rightarrow B$
  \end{theorem}
 \end{frame}

\begin{frame}
  As was shown in Theorem \ref{thm:3.12}, \ldots
 \end{frame}

在该示例中,引用显示为“1”,而不是“3.12”。但我无法使用\tag定理环境。

我如何控制里面的编号/文本\ref

答案1

您的方法的问题在于,从标记引用机制的角度来看,您并没有真正对结构进行编号,而只是使用注释字段添加了一个简单的字符串(恰好是一个数字),因此 \ref 实际上没有合适的字符串可供选择。

我建议您使用numbered模板选项theorems,然后手动更改定理计数器的表示以分配所需的值(使用宏可以节省时间):

\documentclass{beamer}

\setbeamertemplate{theorems}[numbered]
\newcommand\setthm[1]{\renewcommand\thetheorem{#1}}

\begin{document}

\begin{frame}
\setthm{3.12}
  \begin{theorem}
    \label{thm:3.12}
    $A \rightarrow B$
  \end{theorem}
\end{frame}

\begin{frame}
  As was shown in Theorem \ref{thm:3.12}, \ldots
\end{frame}

\end{document}

在此处输入图片描述

另一个选择是使用ams style模板选项:

\documentclass{beamer}

\setbeamertemplate{theorems}[ams style]
\newcommand\setthm[1]{\renewcommand\thetheorem{#1}}

\begin{document}

\begin{frame}
\setthm{3.12}
  \begin{theorem}
    \label{thm:3.12}
    $A \rightarrow B$
  \end{theorem}
\end{frame}

\begin{frame}
  As was shown in Theorem \ref{thm:3.12}, \ldots
\end{frame}

\end{document}

在此处输入图片描述

相关内容