Beamer 的 \visible 在 TikZ 节点内

Beamer 的 \visible 在 TikZ 节点内

我正在使用 beamer 创建演示文稿。在 TikZ 节点中,我想让部分内容随后出现。我正在使用命令\visible来执行此操作(当隐藏部分可见时,我不希望内容移动)。

以下是一个小例子:

\documentclass{beamer}
\usepackage{tikz}\begin{document}

\begin{frame}
  \visible<+->{You know\dots}
  \begin{tikzpicture}
    \node{I'm \visible<+->{very} happy. };
  \end{tikzpicture}
\end{frame}
\end{document}

编译因典型的 TikZ 错误而失败Giving up on this path. Did you forget a semicolon?。但是,如果我\visible\only或替换,\alt输出就会完美无缺。但这不是我想要的 :)

有一个可能的解决方法,即定义一个新的可见命令,基于\alt

\newcommand<>\myvisible[1]{\alt#2{#1}{\phantom{#1}}}

\phantom可能会产生一些不良的副作用(例如换行)。

您有更好的解决方案吗?谢谢!

答案1

该问题是由于节点的参数与\visible命令一起被抓住而引起的。

一个beamer好的建议是

  1. 尝试插入另一组
  2. 尝试使用fragile框架选项
  3. 合并 1. 和 2.

您只需要在里面添加另一个组。

\node {{ I'm \visible<+->{very} happy. }};
% or
\node {\bgroup \dots \egroup};

这将正确产生您所期望的结果。

相关内容