
Tengo un gráfico en un marco beamer
dibujado con tikz
y me gustaría desmontarlo después de un tiempo. El gráfico original se ve así:
\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}
Quiero hacer que los bordes desaparezcan y después de que desaparezcan, los nodos que no tienen más bordes se vuelven verdes. Por ejemplo, en la siguiente diapositiva, todos los bordes del nodo 2 deberían desaparecer, y en la siguiente, el propio nodo 2 debería desaparecer.
He probado cosas como visible on
o onslide
, pero todas me dan mensajes de error. Además, tal vez se podría usar \pause
, pero esto es bastante extraño si desmonto un gráfico en lugar de poner cosas en él.
Respuesta1
Esto podría servir como punto de partida.
(Con la ayuda 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}