Intento animar algo que se mueve en una diapositiva. Estoy usando los paquetes pgfplots y animate para lograr esto. Aquí hay un ejemplo:
\documentclass[aspectratio=1610]{beamer}
\setbeamertemplate{navigation symbols}{}
\usepackage{pgfplots}
\pgfplotsset{compat=newest}
\usepackage{animate}
\newcommand{\Textfield}[3]{%
\draw%
(current page.south west) ++(#1,#2)node[anchor=south west](N0){#3}%
;%
}%
\begin{document}
\begin{frame}
\begin{tikzpicture}[remember picture,overlay]%
\useasboundingbox (current page.south west) rectangle (current page.north east);%
\Textfield{1cm}{1cm}{Moving Text}
\end{tikzpicture}
\end{frame}
\begin{frame}
\begin{animateinline}[autoplay,controls=all,%
begin={\begin{tikzpicture}[remember picture]%,overlay
\useasboundingbox (current page.south west) rectangle (current page.north east);},%
end=\end{tikzpicture}]{20}%
\multiframe{61}{dPosTy=10mm+1mm}%
{\Textfield{1cm}{\dPosTy}{Moving Text}}%
\end{animateinline}%
\end{frame}
\end{document}
En mi resultado, obtengo un desplazamiento en la posición del texto en la animación. Si uso la opción de superposición en la animación, incluso obtengo dos errores:
'El contenido del primer fotograma no debe tener un ancho cero'
'El contenido del primer fotograma no debe tener una altura cero'
¿Alguien puede explicar por qué es así y cómo hacerlo? ¿correctamente?
gracias de antemano
Respuesta1
Si se utiliza la opción, el cuadro TeX resultante tiene cero dimensiones tikzpicture
. overlay
Esto no está permitido dentro del animateinline
entorno, porque el ancho, alto y profundidad del widget de animación se determinan a partir de las dimensiones del primer fotograma. Si son cero, el tamaño del widget también sería cero, lo cual no tiene sentido. Este es el motivo del mensaje de error que recibe.
Sugeriría la siguiente solución. La animación (relleno de diapositivas) se compone en una lrbox
primera, para evitar tikzpicture
entornos anidados (lo cual se considera una práctica obsoleta). Luego lrbox
se puede colocar de forma absoluta, utilizando el nodo de página current page
.
\documentclass[aspectratio=1610]{beamer}
\setbeamertemplate{navigation symbols}{}
\usepackage{animate}
\usepackage{tikz}
%\usepackage{pgfplots} % not used here
%\pgfplotsset{compat=newest}
\newsavebox\animation
\newcommand{\Textfield}[3]{\node[anchor=south west, draw] at (#1,#2) {#3};}%
%\newcommand{\Textfield}[3]{\draw (0,0) -- (#1,#2) node[anchor=south west, draw] {#3};}%
\begin{document}
\begin{lrbox}{\animation}
\begin{animateinline}[
autoplay,controls,
begin={\begin{tikzpicture}
\useasboundingbox (0,0) rectangle (\paperwidth,\paperheight);},
end=\end{tikzpicture}
]{20}
\multiframe{61}{dPosTy=10mm+1mm}{\Textfield{1cm}{\dPosTy}{Moving Text}}
\end{animateinline}
\end{lrbox}
\begin{frame}
\begin{tikzpicture}[overlay,remember picture]
\node [inner sep=0pt, outer sep=0pt, anchor=base west] at (current page.south west) {\usebox\animation};
\end{tikzpicture}
\end{frame}
\end{document}