我想将一排排的方程式制作成动画,看起来就像是用手手写在纸上一样。
要求
- 必须使用最少数量的杂乱动画装饰器来修饰方程式。
- 对于每一帧,方程的第一部分都放在左边,而方程的后续部分则流向右边。(而不是第一部分从中心开始,而当后续部分到来时,它被推到左边)。
我们还可以制作分数、积分、极限等动画。例如,
\frac{a}{b}
将被制作成动画,a
然后是一条水平线,然后是b
。另一个例子,\int_a^b
将被制作成动画,然后是积分符号,然后b
是 ,然后是a
。为了使其更易于移植,
beamer
最好不使用。
问题
如何实现这样的要求?如果谁能提供让我满意的代码,我将给予 2000 的赏金。如果您有创意,也可以添加其他功能!
平均能量损失
警告:以下代码将无限旋转。
\documentclass[12pt]{beamer}
\usepackage{amsmath}
\usepackage[active,tightpage]{preview}
\PreviewBorder=12pt\relax
\PreviewEnvironment{align*}
\newcounter{counter}
\newcommand{\foo}[1]{\stepcounter{counter}\only<\thecounter->{#1}}
\begin{document}
\begin{frame}
\begin{align*}
\foo{a}\foo{+b}&\foo{=1}\\
\foo{\frac{1}{2}}\foo{+\frac{3}{2}}\foo{&=2}% I don't know whether "&" should be outside or inside "\foo".
\end{align*}
\end{frame}
\end{document}
答案1
这不是完整的答案,而是对你的评论的较长回复。关于你的方法,我有很多不理解的地方,这里有一个建议,教你如何解决这些问题。主要观点是,在我看来,你\foo
试图重新发明Beamer 已经拥有的 轮子。
\documentclass[12pt,beamer,preview,multi={gather*}]{standalone}
\usepackage{amsmath,mathtools}
\newcommand{\foo}[1]{\visible<+->{#1}}
\newcommand{\foop}[1]{\only<+>{#1}}
\newcommand{\foopp}[1]{\only<+->{#1}}
\newcommand{\fooint}[2]{\foop{\mathrlap{\int\limits_{\phantom{#1}}^{\phantom{#2}}}}%
\foop{\mathrlap{\int\limits_{#1}^{\phantom{#2}}}}%
\foo{\int\limits_{#1}^{#2}}}
\newcommand{\foofrac}[2]{\foop{\mathrlap{\genfrac{}{}{0pt}{0}{#1}{\phantom{#2}}}}%
\foop{\mathrlap{\frac{#1}{\phantom{#2}}}}%
\foo{\frac{#1}{#2}}}
\begin{document}
\begin{standaloneframe}%\show\genfrac
\begin{gather*}
\foo{a}\foo{+}\foo{b}\foo{=}\foo{1}\\
\fooint{a}{b}\foo{f}\foo{(}\foo{x}\foo{)}
\foo{\,\mathsf{d}}\foo{x}\foo{=}\foo{2}\\
\foofrac{a}{b}
\foo{=}
\foofrac{c}{d}\\[1cm]
\end{gather*}
\end{standaloneframe}
\end{document}
编辑:添加了缺失的内容\mathrlap
,感谢上帝的发明者(或者轮子的重新发明者?;-)!
正如我所说,这是一个扩展的评论,而不是一个完整的答案。我想一个完整的答案必须允许人们嵌套这些宏。使用上面的工具,人们可以以\frac{a\,b}{c}
这样的方式编写一些内容:首先a
出现,然后b
是完整的内容。但这会很麻烦。我可以想象用循环来制作一个更自动化的版本,但这很可能是不可靠的。所以我就此打住。