在 TikZ 节点文本中使用 \uncover

在 TikZ 节点文本中使用 \uncover

我无法\uncover在 TikZ 节点的文本中使用。以下是我想要做的:

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

幻影文字...

相关内容