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