
Eu tenho um gráfico em um quadro beamer
desenhado com tikz
e gostaria de desmontá-lo depois de um tempo. O gráfico original fica assim:
\begin{frame}{Eksempel}
\begin{tikzpicture}[node distance=1.45cm, thick,
main node/.style={circle, draw, font=\sffamily\bfseries}]
\node[main node] (1) {1};
\node[main node] (3) [below left of=1] {3};
\node[main node] (4) [below right of=1] {4};
\node[main node] (2) [above right of=4] {2};
\node[main node] (6) [below right of=4] {6};
%\draw[->, visible on=<2->] (1) -- (2);
\path[->]
(1) edge (2)
(4) edge (2)
(6) edge (2)
(1) edge (3)
(4) edge (1)
(3) edge (4);
\end{tikzpicture}
\end{frame}
Quero fazer com que as arestas desapareçam e depois que as arestas desapareçam, os nós que não têm mais arestas ficam verdes. Por exemplo, no próximo slide, todas as arestas do nó 2 devem desaparecer e, no próximo, o próprio nó 2 deve desaparecer.
Eu tentei coisas como visible on
ou onslide
, mas todas elas me deram mensagens de erro. Além disso, talvez alguém pudesse usar \pause
, mas isso é muito estranho se eu desmontar um gráfico em vez de colocar coisas nele.
Responder1
Isto poderia servir como ponto de partida.
(Com a ajuda dehttps://tex.stackexchange.com/a/6155/263192)
\documentclass{beamer}
\usepackage{tikz}
\tikzset{onslide/.code args={<#1>#2}{% from https://tex.stackexchange.com/a/6155/263192
\only<#1>{\pgfkeysalso{#2}}
}}
\begin{document}
\begin{frame}{Eksempel}
\begin{tikzpicture}[
node distance=1.45cm, thick,
main node/.style={circle, draw, font=\sffamily\bfseries}
]
\node[main node] (1) {1};
\node[main node] (3) [below left of=1] {3};
\node[main node] (4) [below right of=1] {4};
\node<-3>[main node,onslide=<3>{green}] (2) [above right of=4] {2};
\node<-4>[main node] (6) [below right of=4] {6}; % <-4> forces an additional overlay in which node 2 disappears
\path<1>[->] (1) edge (2)
(4) edge (2)
(6) edge (2);
\path[->] (1) edge (3)
(4) edge (1)
(3) edge (4);
\end{tikzpicture}
\end{frame}
\end{document}