tikz-plot 标签和 ref 在 beamer 中仅覆盖

tikz-plot 标签和 ref 在 beamer 中仅覆盖

梅威瑟:

\documentclass{beamer}

\usepackage{pgfplots, pgfplotstable,stackengine}

\begin{document}
\begin{frame}{Frame Title}
\only<1>{}
\only<2>{

\begin{tikzpicture}
  \begin{axis}
    \addplot+ coordinates {
      (1, 9) (2, 6) (3, 1) (4, 4)
    }; \label{important}
  \end{axis}
\end{tikzpicture}

\ref{important}% does NOT work
}
\end{frame}

\begin{frame}{Frame Title}
\begin{tikzpicture}
  \begin{axis}
    \addplot+ coordinates {
      (1, 9) (2, 6) (3, 1) (4, 4)
    }; \label{importantw}
  \end{axis}
\end{tikzpicture}

\ref{importantw}% working

\end{frame}

\end{document}

\ref{importantw}按预期显示符号,但\ref{important}无法像在内部那样工作\only(至少在我的用例中)。如何解决这个问题?

如果我使用它,\onslide<2>我会弄乱我原始作品中的所有内容:幻灯片 2 看起来很完美,但幻灯片的数据2与所有其他幻灯片重叠13

答案1

在 beamer 第 84 页中:

\label<⟨overlay specification⟩>{⟨label name⟩}

如果存在 ⟨overlay 规范⟩,则标签仅插入到指定的幻灯片上。在多张幻灯片上插入标签将导致“多个标签”警告。但是,如果不存在覆盖规范,则规范将自动设置为“1”,因此标签仅插入到第一张幻灯片上。这通常是所需的行为,因为标签插入到哪张幻灯片上并不重要,除非您使用命令\only并且您希望将该标签用作超跳转目标。然后您需要指定一张幻灯片。

标签可以用作超跳转的目标。标记框架的一种方便方法是使用label=⟨name⟩ 框架环境的选项。但是,这会导致整个框架一直保留在内存中直到编译结束,这可能会带来问题。

笔记:\label<2>{important}

编辑文件:

\documentclass{beamer}

\usepackage{pgfplots, pgfplotstable,stackengine}

\begin{document}
\begin{frame}{Frame Title}
\only<1>{}
\only<2>{%
\begin{tikzpicture}
  \begin{axis}
    \addplot+ coordinates {
      (1, 9) (2, 6) (3, 1) (4, 4)
    }; \label<2>{important}
  \end{axis}
\end{tikzpicture}

\ref{important}% does NOT work
}
\end{frame}

\begin{frame}{Frame Title}
\begin{tikzpicture}
  \begin{axis}
    \addplot+ coordinates {
      (1, 9) (2, 6) (3, 1) (4, 4)
    }; \label{importantw}
  \end{axis}
\end{tikzpicture}

\ref{importantw}% working

\end{frame}

\end{document}

相关内容