Tikz 节点矩阵内的 Beamer 动画?

Tikz 节点矩阵内的 Beamer 动画?

在 Beamer 演示中,我使用 Tikz 制作一些精美的图形。通常我可以使用\onslide其他工具来制作动画...

但是,这里使用该命令时出现错误\matrix(这是我第一次使用它)。

\documentclass[10pt, aspectratio=169]{beamer}

\usepackage [francais]{babel}
\usepackage [T1]{fontenc}
\usepackage [utf8]{inputenc}

\usetheme{Boadilla}

\usepackage{tikz}
\usetikzlibrary{matrix}


\begin{document}


\begin{frame}[fragile]

\begin{center}
\begin{tikzpicture}
\matrix[matrix of nodes] (M) at (0,0){
Subject & a & b & c & d \\
1 & 2 & 1 & 4 & \onslide<2->{7}\\
%1 & 2 & 1 & 4 & 7\\
};
\end{tikzpicture}
\end{center}

\end{frame}

\end{document}

我收到的错误:

"! Package tikz Error: Giving up on this path. Did you forget a
semicolon?."

如果我删除\onslide{},一切正常。

我尝试删除“节点矩阵”选项并将所有单元格插入\node{}命令中,这种方法可行,但对于大矩阵,我需要\node{}在各处添加命令,这样就变得不那么“可读”了

\begin{tikzpicture}                                                                                                                                              
\matrix (M) at (0,0){                                                                                                                                            
\node{1}; & \onslide<2->{\node{2};}\\                                                                                                                              
};                                                                                                                                                               
\end{tikzpicture}

你对此有什么想法吗?

它“似乎”与这个问题但 :

  • 动画在 tikzpicture 之外,我需要它用于几个不同的单元格
  • 我确实没有遇到相同的错误信息(Package pgf Error: Single ampersand used with wrong catcode.。)

答案1

您可以overlay-beamer-styles像这样使用该库:

\documentclass[10pt, aspectratio=169]{beamer}

\usepackage[francais]{babel}
\usepackage[T1]{fontenc}
%\usepackage[utf8]{inputenc}

\usetheme{Boadilla}

\usepackage{tikz}
\usetikzlibrary{matrix}
\usetikzlibrary{overlay-beamer-styles}


\begin{document}


\begin{frame}[fragile]

\begin{center}
\begin{tikzpicture}
\matrix[matrix of nodes] (M) at (0,0){
Subject & a & b & c & d \\
1 & 2 & 1 & 4 & |[visible on=<2->]| 7\\
};
\end{tikzpicture}
\end{center}

\end{frame}

\end{document}

在此处输入图片描述

相关内容