如何解决使用“visible on =”自动为tikzpicture制作动画
我正在使用 beamer 并尝试使用 tikzpicture
自动为在单帧中构建的图形制作动画。
我想做一个循环,其中带有visible on=<1>
和visible on=<2>
的行自动出现而无需点击,一个接一个(然后 然后 然后 ... 无限循环)。
这是我的乳胶代码:
\documentclass{beamer}
\usepackage[utf8]{inputenc}
\usetheme{Madrid}
\usepackage{tikz}
\usetikzlibrary{positioning}
\usepackage{animate}
\begin{document}
\begin{frame}
\begin{center}
\begin{tikzpicture}[auto]
\draw(-2.7,1.5) node[sloped,above] {Start A};
\draw[->,thick] (-2,0.5) -- node[below] {T} (4,0.5) ;
\draw[visible on=<1>,gray1,-,thick,dashed] (-1.7,1.7) -- (3.7,1.7);
\draw[visible on=<1>] (1,1.8) node[sloped,above] {text};
\draw[visible on=<2>,1.7) -- (-0.3,1.7);
\draw[visible on=<2>,dashed] (2.3,1.7);
\draw[visible on=<2>](3,2.5) node[sloped,above] {text};
\draw[visible on=<2>](1,1.68) node[sloped,above] {Point};
\draw[visible on=<2>](1,1.18) node[sloped,above] {C};
\draw(4.7,1.90) node[sloped,above] {Point};
\draw(4.7,1.45) node[sloped,above] {B};
\end{tikzpicture}
\end{center}
\end{frame}
\end{document}
这给了我以下两张没有自动动画的幻灯片:
我搜索了我的问题的答案并找到了这个 answer。
我在序言中添加了以下命令 \usetikzlibrary{shapes,arrows,positioning,calc}
\usetikzlibrary{overlay-beamer-styles}
但它没有解决我的问题。
\setbeamercovered{dynamic}
\usetikzlibrary{shapes,calc}
\usetikzlibrary{overlay-beamer-styles}
您对创建此动画循环有什么建议吗?
解决方法
您可以使用 \transduration{<number of seconds>}
在转换之间自动切换而无需单击(需要支持转换的 pdf 查看器,例如演示模式下的 adobe reader)。
\documentclass{beamer}
\usetheme{Madrid}
\usepackage{tikz}
\usetikzlibrary{positioning}
\setbeamercovered{dynamic}
\usetikzlibrary{shapes,arrows,positioning,calc}
\usetikzlibrary{overlay-beamer-styles}
\begin{document}
\newcommand{\myani}{1-}
\begin{frame}[label=foo]
\transduration<\myani>{1}
\begin{center}
\begin{tikzpicture}[auto]
\draw(-2.7,1.5) node[sloped,above] {Start A};
\draw[->,thick] (-2,0.5) -- node[below] {T} (4,0.5) ;
\draw[visible on=<1>,gray,-,thick,dashed] (-1.7,1.7) -- (3.7,1.7);
\draw[visible on=<1>] (1,1.8) node[sloped,above] {text};
\draw[visible on=<2>,1.7) -- (-0.3,1.7);
\draw[visible on=<2>,dashed] (2.3,1.7);
\draw[visible on=<2>](3,2.5) node[sloped,above] {text};
\draw[visible on=<2>](1,1.68) node[sloped,above] {Point};
\draw[visible on=<2>](1,1.18) node[sloped,above] {C};
\draw(4.7,1.90) node[sloped,above] {Point};
\draw(4.7,1.45) node[sloped,above] {B};
\end{tikzpicture}
\end{center}
\end{frame}
\foreach \x in {0,...,10}{
\againframe{foo}
}
\renewcommand{\myani}{1}
\againframe{foo}
\begin{frame}
content
\end{frame}
\end{document}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。