Math Equation Animations
Touying also provides a unique and highly useful feature—math equation animations, allowing you to conveniently use pause
and meanwhile
within math equations.
Simple Animation
Let's start with an example:
#slide[
Touying equation with pause:
#touying-equation(`
f(x) &= pause x^2 + 2x + 1 \
&= pause (x + 1)^2 \
`)
#meanwhile
Touying equation is very simple.
]
We use the touying-equation
function to incorporate pause
and meanwhile
within the text of math equations (in fact, you can also use #pause
or #pause;
).
As you would expect, the math equation is displayed step by step, making it suitable for presenters to demonstrate their math reasoning.
While the touying-equation
function is convenient, you should always be aware that it doesn't perform complex syntax analysis. It simply splits the string using regular expressions. Therefore, you should not use pause
or meanwhile
within functions like display(..)
!
Complex Animation
In fact, we can also use only
, uncover
, and alternatives
within touying-equation
with a little trick:
#slide(repeat: 3, self => [
#let (uncover, only, alternatives) = utils.methods(self)
#touying-equation(scope: (uncover: uncover), `
f(x) &= pause x^2 + 2x + uncover("3-", 1) \
&= pause (x + 1)^2 \
`)
])
We can pass the functions we need into the touying-equation
through the scope
parameter, such as uncover
in this example.
Parameters
The function definition of touying-equation
is:
#let touying-equation(block: true, numbering: none, supplement: auto, scope: (:), body) = { .. }
Therefore, you can pass parameters like block
, numbering
, and supplement
to touying-equation
just like using normal math equations.