Usando \uncover dentro de un texto de nodo TikZ

Usando \uncover dentro de un texto de nodo TikZ

No puedo usarlo \uncoverdentro del texto de un nodo TikZ. Esto es lo que me gustaría hacer:

\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}

Esto da: "! Error del paquete tikz: abandonar esta ruta. ¿Olvidaste un punto y coma?".

Usar \onslideda el mismo resultado. Usar \onlyfunciona, pero debido a que mi segunda línea es más larga, el nodo se agranda y todo lo demás se desplaza.

Me gustaría saber por qué \onlyfunciona pero no \uncovero \onslide, pero sobre todo, me gustaría saber si hay una forma sencilla (por ejemplo, más sencilla que tener un minipagetexto dentro del nodo) para evitar que el nodo cambie de tamaño.

Respuesta1

Necesitas otro juego de tirantes:

\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}

ingrese la descripción de la imagen aquí

Respuesta2

\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...

información relacionada