
Não consigo usar \uncover
dentro do texto de um nó TikZ. Aqui está o que eu gostaria de fazer:
\documentclass{beamer}
\usepackage{tikz}
\begin{document}
\begin{frame}
\begin{tikzpicture}[node distance=2cm]
\node[align=center] (a) {test 1 \\ \uncover<2>{test 12345}};
\node[align=center,right of=a] (b) {test 2};
\path[->] (a) edge (b);
\end{tikzpicture}
\end{frame}
\end{document}
Isso dá: "! Erro do pacote tikz: desistindo deste caminho. Você esqueceu um ponto e vírgula?."
Usar \onslide
dá o mesmo resultado. Usar \only
funciona, mas como minha segunda linha é mais longa, o nó é ampliado e todo o resto muda.
Eu ficaria curioso para entender por que \only
funciona, mas não \uncover
ou \onslide
, mas principalmente, gostaria de saber se existe uma maneira simples (por exemplo, mais simples do que ter um minipage
texto dentro do nó) de evitar que o nó mude de tamanho.
Responder1
Você precisa de outro conjunto de chaves:
\documentclass{beamer}
\usepackage{tikz}
\begin{document}
\begin{frame}
\begin{tikzpicture}[node distance=2cm]
\node[align=center] (a) {test 1 \\ {\uncover<2>{test 12345}}}; %wrapped \uncover into {}
\node[align=center,right of=a] (b) {test 2};
\path[->] (a) edge (b);
\end{tikzpicture}
\end{frame}
\end{document}
Responder2
\documentclass{beamer}
\usepackage{tikz}
\begin{document}
\begin{frame}
\begin{tikzpicture}[node distance=2cm]
\onslide<1>{%
\node[align=center] (a) {test 1 \\ \phantom{test 12345}};}
\onslide<2->{%
\node[align=center] (a) {test 1 \\ test 12345};}
\node[align=center,right of=a] (b) {test 2};
\path[->] (a) edge (b);
\end{tikzpicture}
\end{frame}
\end{document}