请考虑以下示例:
\documentclass{beamer}
\usepackage{tikz}
\begin{document}
\begin{frame}
\begin{tikzpicture}[remember picture,overlay]
\only<1>{
\node at(current page.center){test};
}
\only<2>{
\node [anchor=north]at(current page.north){test};
}
\end{tikzpicture}
\end{frame}
\end{document}
它生成两张幻灯片:第一张幻灯片包含居中的文本,第二张幻灯片包含位于框架北部的相同文本。
我想知道是否有某种技术可以获得“移动文本”效果:一种动画,可以优雅地将文本向北移动,直到到达第二张幻灯片的位置。
编辑:我刚刚发现了一个animate
似乎可以做我想做的事情的包。但是手册中的示例涉及非常复杂的图形,而我只需要移动 tikz 节点(其中大部分是文本)。有谁愿意向我展示如何使用animate
我的代码吗?
免责声明:我知道动画被认为是不好的做法,但这是一个非常特殊的用例。
答案1
与 Herbert 的回答类似,但使用 TikZ:
\documentclass{beamer}
\usepackage{tikz}
\usepackage{animate}
\setbeamersize{text margin left=0cm,text margin right=0cm} % removing text margins so that all the frame space will be available
\beamertemplatenavigationsymbolsempty
\begin{document}
\begin{frame}
\begin{animateinline}[
begin={\begin{tikzpicture}
\useasboundingbox (0,0) rectangle (\textwidth,\textheight);}, % this defines the space where the tikz content will be placed (and moved around)
end=\end{tikzpicture}]{25} % 25 is the animation speed
\multiframe{40}{rA=5+0.1}{ % this is where the animation is defined as \rA
\node at(.5\textwidth,\rA) {test};
}%
\end{animateinline}
\end{frame}
\end{document}
您可以使用 pdflatex 进行编译,但当然您仍然需要 Acrobat Reader 才能正确观看动画。
答案2
\documentclass{beamer}
\usepackage{multido}
\begin{document}
\begin{frame}[t]
\begin{center}
\only<1->{test}
\multido{\iA=40+-1}{40}{\only<+>{\rule{0pt}{\iA ex}test}}
\end{center}
\end{frame}
\end{document}
使用包 制作的动画animate
。使用xelatex
或运行它latex->dvips->ps2pdf
:
\documentclass{beamer}
\usepackage{pstricks}
\usepackage{animate}
\begin{document}
\begin{frame}[t]
\begin{center}
\begin{animateinline}[controls, palindrome,begin={\begin{pspicture}(0,-1ex)(\linewidth,8cm)},end=\end{pspicture}]{10}%
\multiframe{76}{rA=0.0+0.1}{\rput(0.5\linewidth,7.5){test}\rput(0.5\linewidth,\rA){test}}%
\end{animateinline}
\end{center}
\end{frame}
\end{document}
PDF 是这里. 使用 Adobe Reader 以全屏模式查看。