
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 \onslide
führt zum gleichen Ergebnis. Die Verwendung von \only
funktioniert, 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 \only
es funktioniert, aber nicht \uncover
oder \onslide
, aber vor allem würde ich gerne wissen, ob es eine einfache Möglichkeit gibt (z. B. einfacher als einen minipage
Text 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}
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}