\only 的意外行为

\only 的意外行为

我不明白为什么下面的操作不起作用。

\documentclass{beamer}
\usepackage{tikz}

\begin{document}

\begin{frame}
  \begin{tikzpicture}
    \node (b) at (0,3) {b};
    \node (a) at (0,0) {a}
      \only<1>{edge[<-] node[auto] {c} (b)}    % doesn't work!
      % edge[<-] node[auto] {c} (b)
      ;
    \node<2> (d) at (5,0) {d};
  \end{tikzpicture}
\end{frame}

\end{document}

我以为\only应该使用选定框架中的内容,否则将其丢弃。这里直接插入内容而不是工作正常,但使用则不行\only!我错过了什么?

答案1

overlays并且tikz不完全兼容。通过使用该overlay-beamer-styles库,可以增加一些可能性。然后,您可以使用以下代码仅在第一张幻灯片上显示箭头:

\documentclass{beamer}
\usepackage{tikz}

\usetikzlibrary{overlay-beamer-styles}

\begin{document}

\begin{frame}
  \begin{tikzpicture}
    \node (b) at (0,3) {b};
    \node (a) at (0,0) {a}
       edge[<-,draw on=<1>] node[auto] {c} (b)
      ;
    \node<2> (d) at (5,0) {d};
  \end{tikzpicture}
\end{frame}

\end{document}

相关内容