Tikz 動畫永不停止編譯

Tikz 動畫永不停止編譯

為什麼這個 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} {%

可以。

相關內容