Бимер: раскройте формулу от внутреннего к внешнему

Бимер: раскройте формулу от внутреннего к внешнему

С помощью следующего кода

\documentclass[beamer]{beamer}
\begin{document}
\begin{frame}
  \[
    \sqrt{\uncover<2->{a\uncover<3->{+b}}}
  \]
\end{frame}    
\end{document}

Я могу раскрыть формулу, показывающую сначала внешние элементы, а затем внутренние.

Как мне получить обратное выражение? То есть: сначала отобразить "+b", затем "a" перед ним, затем знак квадратного корня вокруг суммы?

решение1

Проблема в квадратном корне.

\documentclass[beamer]{beamer}
\begin{document}
\begin{frame}
\[
  \only<1>{\phantom{\sqrt{\vphantom{a+b}}}\hphantom{a}+b}
  \only<2>{\phantom{\sqrt{\vphantom{a+b}}}a+b}
  \only<3>{\sqrt{a+b}}
\]
\end{frame}
\end{document}

решение2

Я немного поработал над своим примером (мне это нужно для несколько более сложной формулы) и обнаружил, что внутренние элементы \textcolorимеют приоритет над внешними, поэтому работает следующее:

\begin{frame}
  \[
    \textcolor<3>{black}{\textcolor<1-2>{white}{%
      \sqrt{%
        \textcolor<2>{black}{\textcolor<1>{white}{%
          a%
          \textcolor<1>{black}{%
            \vphantom{a}+b%
          }%
        }}%
      }%
    }}%
  \]
\end{frame}

В моем случае я могу обобщить это проще, чем предложение @egreg (которое, в любом случае, очень мило и «технично»). В качестве более подробного примера рассмотрим следующее:

\begin{frame}
  \[
    \textcolor<6>{black}{\textcolor<1-5>{white}{%
    \textcolor<5->{black}{\textcolor<4>{red}{%
      {\sqrt{%
    \textcolor<3->{black}{\textcolor<2>{red}{%
        {\left(%
    \textcolor<2->{black}{\textcolor<1>{red}{%
          {\frac{a}{2}}%
      }}%
          \right)^{2}}%
      }}%
    \textcolor<4->{black}{\textcolor<3>{red}{%
      {\vphantom{1}+b}%
      }}%
      }}%
      }}%
    \textcolor<6->{black}{\textcolor<5>{red}{%
        {\vphantom{1}+\frac{c}{2}}%
      }}%
      }}%
  \]
\end{frame}

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