如何引用投影仪暂停期间显示的定理?

如何引用投影仪暂停期间显示的定理?

我正在编写一个演示文稿beamer,在证明的某个时刻,使用它only<X>来显示证明的某些部分。在这些宏中,我展示了一些我想在之后引用的定理,但是我总是得到错误<refname> has been referenced but does notexist, replaced by a fixed one和而??不是数字。

MWE 如下:

\documentclass{beamer}

\usepackage{amsthm}
\newtheorem{thm}{Theorem}[section]

\begin{document}

\begin{frame}{One}
\begin{thm}\label{thm:one}\end{thm}

\only<2>{
    \begin{thm}    % I want to reference this one!
    \label{thm:one_hidden}
    \end{thm}
}

\end{frame}

\begin{frame}{Two}
See theorem~\ref{thm:one} and~\ref{thm:one_hidden}
% output:
% See theorem 0.1 and ??
\end{frame}

\end{document}

有办法实现吗?还是我必须将定理放在only<X>宏之外?


\uncover注意:不是按照我的意愿做。它只是隐藏了文本,但仍然占用空间:

使用 <code>\uncover</code> 输出 MWE

我想要的是:

使用 <code>\only</code> 输出 MWE

使用 输出中的最后一个??替换为as 。0.2\uncover

输出是由 MWE 的这个修改版本产生的:

\documentclass{beamer}

\usepackage{amsthm}
\newtheorem{thm}{Theorem}[section]

\begin{document}

\begin{frame}{One}
\begin{thm}\label{thm:one}A\end{thm}

\only<2>{   % or \uncover<2>{
    \begin{thm}
    \label{thm:one_hidden}
    B
    \end{thm}
}

\begin{thm}
C
\end{thm}

\end{frame}

\begin{frame}{Two}
See theorem~\ref{thm:one} and~\ref{thm:one_hidden}
\end{frame}

\end{document}

答案1

您所要做的就是指定标签的覆盖编号

\documentclass{beamer}

\usepackage{amsthm}
\newtheorem{thm}{Theorem}[section]

\begin{document}

    \begin{frame}{One}
        \begin{thm}\label<1>{thm:one}\end{thm}

        \only<2>{
            \begin{thm}    % I want to reference this one!
                \label<2>{thm:onehidden}
            \end{thm}
        }

    \end{frame}

    \begin{frame}{Two}
        See theorem~\ref{thm:one} and~\ref{thm:onehidden}
        % output:
        % See theorem 0.1 and ??
    \end{frame}

\end{document}

在此处输入图片描述

相关内容