Требования

Требования

Я хочу анимировать строки уравнений, чтобы они выглядели так, будто они написаны вручную на листе бумаги.

Требования

  • Уравнения должны быть оформлены с минимальным количеством загромождающих анимационных декораторов.
  • Для каждого кадра первая часть уравнения прилипает к левой стороне, а последующие части уравнений перетекают вправо. (Вместо того, чтобы первая часть начиналась из центра и выталкивалась влево, когда появляются последующие части).
  • мы также можем анимировать дробь, интеграл, предел и т. д. Например, \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

Это не полный ответ, а более развернутый ответ на ваш комментарий. Я многого не понимаю в вашем подходе, и вот предложение, как это исправить. Главное, что 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, спасибо Изобретателю Бога (или изобретателю колеса? ;-)!

Как я уже сказал, это расширенный комментарий, а не полный ответ. Я думаю, что полный ответ должен будет позволить вкладывать эти макросы. С помощью инструментов выше можно написать что-то вроде \frac{a\,b}{c}таким образом, что сначала aпоявляется, затемb и, наконец, полная вещь. Но это будет громоздко. Я мог быпредставлять себечтобы состряпать более автоматизированную версию с циклами, но это, скорее всего, будет хрупким. Поэтому я останавливаюсь здесь.

Связанный контент