Verwenden von \uncover innerhalb eines TikZ-Knotentexts

Verwenden von \uncover innerhalb eines TikZ-Knotentexts

Ich kann es nicht innerhalb des Textes eines TikZ-Knotens verwenden \uncover. Folgendes möchte ich tun:

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

Das Ergebnis ist: „! Package tikz-Fehler: Ich gebe diesen Pfad auf. Haben Sie ein Semikolon vergessen?“

Die Verwendung von \onslideführt zum gleichen Ergebnis. Die Verwendung von \onlyfunktioniert, aber da meine zweite Zeile länger ist, wird der Knoten vergrößert und alles andere verschiebt sich.

Ich wäre neugierig zu verstehen, warum \onlyes funktioniert, aber nicht \uncoveroder \onslide, aber vor allem würde ich gerne wissen, ob es eine einfache Möglichkeit gibt (z. B. einfacher als einen minipageText innerhalb des Knotens zu haben), um zu verhindern, dass der Knoten seine Größe ändert.

Antwort1

Sie benötigen eine weitere Zahnspange:

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

Bildbeschreibung hier eingeben

Antwort2

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

Phantomtext ...

verwandte Informationen