TikZ 노드 텍스트 내부에서 \uncover 사용

TikZ 노드 텍스트 내부에서 \uncover 사용

\uncoverTikZ 노드의 텍스트 내부에서 사용할 수 없습니다 . 제가 하고 싶은 일은 다음과 같습니다.

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

이는 다음과 같습니다: "! 패키지 tikz 오류: 이 경로를 포기하는 중입니다. 세미콜론을 잊으셨습니까?."

사용하면 \onslide동일한 결과가 나타납니다. 을 사용하면 \only작동하지만 두 번째 줄이 더 길기 때문에 노드가 확대되고 다른 모든 항목이 이동됩니다.

\only왜 작동하지만 \uncover또는 작동하지 않는지 이해하고 싶습니다. 그러나 대부분 노드 크기가 변경되는 것을 방지하는 간단한 방법(예: 노드 텍스트 내부에 \onslide있는 것보다 더 간단함)이 있는지 알고 싶습니다 .minipage

답변1

또 다른 중괄호 세트가 필요합니다.

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

여기에 이미지 설명을 입력하세요

답변2

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

환상의 텍스트...

관련 정보