我想要對方程行進行動畫處理,使其看起來像是用手在一張紙上手動書寫的。
要求
- 方程式必須用最少數量的雜亂動畫裝飾器來裝飾。
- 對於每一幀,方程式的第一部分固定在左側,方程式的後續部分向右流動。 (而不是第一部分從中心開始,當後續部分出現時它被推到左邊)。
我們還可以對分數、積分、極限等進行動畫
\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
嘗試重新發明投影機已經擁有的 輪子。
\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
最後是完整的東西。但會很麻煩。我可以想像製作一個帶有循環的更自動化的版本,但這很可能是脆弱的。所以我就停在這裡。