在中beamer
,当我尝试引用当前图片之外但在环境内的节点时overprint
,就像这样,
\documentclass[12pt]{beamer}
\usepackage{tikz}
\begin{document}
\begin{frame}
\begin{overprint}
\begin{tikzpicture}[remember picture]
\node<1->[draw] (xxx) at (0,0) {Spam};
\node<2->[draw] (yyy) at (1, 1) {Eggs};
\end{tikzpicture}
Some text, tra la la.
\tikz<2>[remember picture] \draw[overlay,->] (xxx.north) -- (yyy.south);
\end{overprint}
\end{frame}
\end{document}
并使用 进行编译pdfTeX, Version 3.1415926-2.3-1.40.12 (TeX Live 2011)
,使用beamer 2011/09/12 development version 3.12
,tikz 2010/10/13 v2.10 (rcs-revision 1.76)
我收到以下错误消息:
! Package pgf Error: No shape named yyy is known.
我的问题:
- 是否有可能引用
overprint
环境内的节点? - 如果是,怎么办?
- 如果不是,这是一个根本的限制,还是对当前实施的限制?
- 为什么是这样?
相关但不同的问题:
答案1
您的代码存在一个问题,即\tikz
命令本身不具备覆盖感知能力。(我认为实现这一点相当困难。)因此,该\tikz
内容会在每张幻灯片上执行,但yyy
节点直到第二张幻灯片才存在,因此它不知道如何处理它。如果您将 移至 ,<2>
则\draw
它可以正常工作。
\documentclass[12pt]{beamer}
\usepackage{tikz}
\begin{document}
\begin{frame}
\begin{overprint}
\begin{tikzpicture}[remember picture]
\node<1->[draw] (xxx) at (0,0) {Spam};
\node<2->[draw] (yyy) at (1, 1) {Eggs};
\end{tikzpicture}
Some text, tra la la.
\tikz[remember picture] \draw<2>[overlay,->] (xxx.north) -- (yyy.south);
\end{overprint}
\end{frame}
\end{document}