在 中beamer
,是否可以揭示 中绘制的一系列连接线段tikz
?例如,在下图中,我想逐个显示第三个线段\draw
(--
第一个除外)。有没有办法实现这一点,还是根本不可能?
\begin{tikzpicture}[scale=.5]
\draw[<->,>=latex](0,10)--(0,0)--(10,0)node[below]{$Q$};
\draw<2-> node[left]at(0,10){$P$} node[below]at(10,0);
\draw<3->[very thick, red](0,6)--(4,6)--(4,3)--(6.67,3)--(6.67,2)--(9.33,2)--(9.33,0);
\end{tikzpicture}
答案1
这个想法是使用一个循环;显而易见的选择是使用\foreach
和remember ... as ... (initially ...)
语法;然而,在花了半个多小时对这种语法的双变量使用进行毫无结果的变化后,我决定做一个手动版本:
\documentclass{beamer}
\usepackage{tikz}
\begin{document}
\begin{frame}
\begin{tikzpicture}[scale=0.5]
\draw<+->[<->,>=latex] (0,10) node[left] {$P$}-- (0,0) -- (10,0) node[below]{$Q$};
\xdef\lastx{0}
\xdef\lasty{6}
\foreach \x/\y in {4/6,4/3,6.667/3,6.667/2,9.33/2,9.33/0}
{
\draw<+->[very thick,red] (\lastx,\lasty) -- (\x,\y);
\xdef\lastx{\x}\xdef\lasty{\y}
}
\end{tikzpicture}
\end{frame}
\end{document}