梅威瑟:
\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
与所有其他幻灯片重叠1
。3
答案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}