![Beamer 以相反的顺序进行连续叠加操作](https://linux22.com/image/317107/Beamer%20%E4%BB%A5%E7%9B%B8%E5%8F%8D%E7%9A%84%E9%A1%BA%E5%BA%8F%E8%BF%9B%E8%A1%8C%E8%BF%9E%E7%BB%AD%E5%8F%A0%E5%8A%A0%E6%93%8D%E4%BD%9C.png)
我尝试让这个宏以相反的顺序工作,我的意思是显示是从左边开始的,而不是从右边开始,例如:
...=8
,,...=2*2*2=8
2^2=2*2*2=8
我无法想象如何使用覆盖来实现这一点(如果可能的话)。
\documentclass{beamer}
\usepackage{tikz,xparse}
\NewDocumentCommand{\BeamerRep}{%
D<>{\ldots} % transition
m % premier
O{} % intermédiaires
m % dernier
}{%
\onslide<.->{#2=}%
\foreach \q in {#3} {%
\only<.-.>{#1}%
\onslide<+->{\q=}%
}%
\only<.-.>{#1}%
\onslide<+->{#4}%
}
\begin{document}
\begin{frame}
\begin{itemize}[<+->]
\item $\BeamerRep{3\times5+20}[15+20]{35}$
\end{itemize}
\end{frame}
\end{document}
答案1
这是一个半途而废的建设。
\documentclass{beamer}
\usepackage{xparse}
\ExplSyntaxOn
\def\addpause#1{\rotatebox{180}{$\mathord{}=#1$}\pause}
\DeclareDocumentCommand\BeamerRep{>{\SplitList{=}}m}{
\edef\tempA{{\tl_reverse_items:n{#1}}}
\expandafter\ProcessList\tempA{\addpause}
}
\ExplSyntaxOff
\begin{document}
\begin{frame}\Huge
\rotatebox{180}{\BeamerRep{aA=bB=cC}}
\end{frame}
\end{document}