Usando \uncover dentro de um texto de nó TikZ

Usando \uncover dentro de um texto de nó TikZ

Não consigo usar \uncoverdentro 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 \onslidedá o mesmo resultado. Usar \onlyfunciona, mas como minha segunda linha é mais longa, o nó é ampliado e todo o resto muda.

Eu ficaria curioso para entender por que \onlyfunciona, mas não \uncoverou \onslide, mas principalmente, gostaria de saber se existe uma maneira simples (por exemplo, mais simples do que ter um minipagetexto 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}

insira a descrição da imagem aqui

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}

texto fantasma...

informação relacionada