Anforderungen

Anforderungen

Ich möchte Gleichungsreihen so animieren, dass sie aussehen, als wären sie mit der Hand auf ein Blatt Papier geschrieben.

Anforderungen

  • Die Gleichungen müssen mit einer minimalen Anzahl an animierenden Dekoratoren dekoriert werden.
  • In jedem Frame bleibt der erste Teil einer Gleichung links und die nachfolgenden Teile der Gleichungen fließen nach rechts. (Anstatt dass der erste Teil in der Mitte beginnt und nach links geschoben wird, wenn die nachfolgenden Teile kommen).
  • wir können auch Brüche, Integrale, Grenzwerte usw. animieren. Beispielsweise \frac{a}{b}wird animiert, um zu erzeugen, agefolgt von einer horizontalen Linie und gefolgt von b. Ein anderes Beispiel \int_a^bwird als Integralzeichen animiert, gefolgt von , bworauf folgt a.

  • Um es portabler zu machen, beamerist es besser, es nicht zu verwenden.

Frage

Wie kann man solche Anforderungen erfüllen? Ich werde eine Belohnung von 2000 für diejenigen ausloben, die mir einen zufriedenstellenden Code liefern können. Alle zusätzlichen Funktionen aus Ihrer Kreativität sind ebenfalls willkommen!

MWE

Warnung: Der folgende Code wird endlos wiederholt.

\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}

Antwort1

Dies ist keine vollständige Antwort, sondern eine längere Erwiderung auf Ihren Kommentar. Es gibt viele Dinge an Ihrem Ansatz, die ich nicht verstehe, und hier ist ein Vorschlag, wie man sie beheben kann. Der Hauptpunkt ist meiner Meinung nach, dass Sie versuchen, das Rad\foo neu zu erfinden , was Beamer bereits getan hat.

\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}

Bildbeschreibung hier eingeben

BEARBEITEN: Ein fehlendes hinzugefügt \mathrlap, Dank an den Erfinder Gottes (oder Neuerfinder des Rades? ;-)!

Wie gesagt, dies ist ein ausführlicher Kommentar, keine vollständige Antwort. Ich denke, eine vollständige Antwort muss es ermöglichen, diese Makros zu verschachteln. Mit den oben genannten Tools könnte man so etwas schreiben, \frac{a\,b}{c}dass zuerst a, dann und schließlich das Ganze erscheint b. Aber das wäre umständlich. Ich könntevorstelleneine stärker automatisierte Version mit Schleifen zu entwickeln, aber diese wird höchstwahrscheinlich instabil sein. Also höre ich hier auf.

verwandte Informationen