나는 종이에 손으로 직접 쓴 것처럼 방정식 행에 애니메이션을 적용하고 싶습니다.
요구사항
- 방정식은 최소한의 수의 어수선한 애니메이션 데코레이터로 장식되어야 합니다.
- 각 프레임에 대해 방정식의 첫 번째 부분은 왼쪽에 고정되고 방정식의 후속 부분은 오른쪽으로 흐릅니다. (첫 번째 부분이 중앙에서 시작하여 다음 부분이 오면 왼쪽으로 밀려나는 것이 아닙니다.)
분수, 적분, 극한 등에 애니메이션을 적용할 수도 있습니다. 예를 들어, 수평선과 가 이어
\frac{a}{b}
지도록 애니메이션이 적용됩니다 . 또 다른 예는 적분 기호 다음에 그 다음에 가 오는 형태로 애니메이션됩니다 .a
b
\int_a^b
b
a
휴대성을 높이려면 사용하지 않는
beamer
것이 좋습니다.
질문
그러한 요구 사항을 달성하는 방법은 무엇입니까? 만족스러운 코드를 제공해 주신 분들께 현상금 2000을 드리겠습니다. 귀하의 창의성을 바탕으로 한 추가 기능도 환영합니다!
MWE
경고: 다음 코드는 무한정 회전합니다.
\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
이것은 완전한 답변은 아니지만 귀하의 의견에 대한 더 긴 답변입니다. 귀하의 접근 방식에 대해 제가 이해하지 못하는 점이 많이 있으며, 여기에 이를 해결하는 방법에 대한 제안이 있습니다. 요점은 IMHO가 이미 가지고 있는 바퀴를\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
: The Inventor of God (또는 바퀴의 재발명자? ;-) 덕분에 누락된 을 추가했습니다 !
내가 말했듯이 이것은 완전한 답변이 아닌 확장된 의견입니다. 완전한 대답은 이러한 매크로를 중첩할 수 있어야 한다고 생각합니다. 위의 도구를 사용하면 처음 나타나는 \frac{a\,b}{c}
방식으로 작성한 다음 마지막으로 전체 내용을 작성할 수 있습니다. 하지만 번거로울 것입니다. 나는 할 수 있었다a
b
상상하다루프를 사용하여 보다 자동화된 버전을 만들 수 있지만 이는 취약할 가능성이 높습니다. 그래서 여기서 멈춰요.