我正在根据教科书编写幻灯片,显然定理和方程的编号应该与文本中的编号一致。我可以轻松\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}