为什么这个 MWE 永远不会停止编译并生成大量的 pdf 页面?
\documentclass[french,xcolor=dvipsnames,9pt]{beamer}
\usepackage{tikz}
\usetheme{Warsaw}\usecolortheme{wolverine}
\setbeamersize{text margin left=.4cm}
\setbeamersize{text margin right=.4cm}
\newcommand{\Rect}[2][blue]{%
\begin{scope}[#2]
\draw[draw=#1,fill=#1!25,join=round]
(0,0) -- (2,0) -- (0,1) -- cycle ;
\filldraw[#1] (0,0) rectangle (.2,.2) ;
\end{scope}
}
\begin{document}
\begin{frame}
\begin{center}
\begin{tikzpicture}
\only<1->{\Rect{}}
\foreach \i [evaluate=\i as \j using \i+2] in {1,...,2} {%
\only<\j>{
\begin{scope}[shift={(3*\i/20,0)}]
\Rect{}
\end{scope}
}
}
\end{tikzpicture}
\end{center}
\end{frame}
\end{document}
答案1
我没有检查,但可能发生的情况是\only
宏的参数与帧计数器值进行比较,并且由于 TikZ 算术\i+2
返回小数点,因此3.0
这种比较永远不会得到满足。因此,您需要将结果转换为整数以使其成为3
。所以
\foreach \i [evaluate=\i as \j using int(\i+2)] in {1,...,2} {%
可以。