[ PROMPT_NODE_27753 ]
Latex
[ SKILL_DOCUMENTATION ]
# LaTeX in Manim
Manim has native support for rendering LaTeX, making it perfect for mathematical animations and educational content.
## MathTex - Mathematical Formulas
```python
from manim import *
class BasicMath(Scene):
def construct(self):
# Simple equation
equation = MathTex(r"E = mc^2")
self.play(Write(equation))
self.wait(2)
```
## Tex - Mixed Text and Math
```python
class TexExample(Scene):
def construct(self):
# Mix text and math
formula = Tex(r"The famous equation: $E = mc^2$")
self.play(Write(formula))
self.wait(2)
```
## Complex Equations
```python
class ComplexEquations(Scene):
def construct(self):
# Quadratic formula
quadratic = MathTex(
r"x = frac{-b pm sqrt{b^2 - 4ac}}{2a}"
)
# Integral
integral = MathTex(
r"int_0^{infty} e^{-x^2} dx = frac{sqrt{pi}}{2}"
)
# Matrix
matrix = MathTex(
r"begin{bmatrix} a & b \ c & d end{bmatrix}"
)
formulas = VGroup(quadratic, integral, matrix)
formulas.arrange(DOWN, buff=1)
self.play(Write(formulas))
self.wait(2)
```
## Colored Parts
Color specific parts of equations:
```python
class ColoredMath(Scene):
def construct(self):
# Split equation into parts
equation = MathTex(
r"a^2", "+", "b^2", "=", "c^2"
)
# Color individual parts
equation[0].set_color(RED) # a^2
equation[2].set_color(BLUE) # b^2
equation[4].set_color(GREEN) # c^2
self.play(Write(equation))
self.wait(2)
```
## Transform Between Equations
```python
class EquationTransform(Scene):
def construct(self):
# Start with one equation
eq1 = MathTex(r"x^2 + y^2 = r^2")
# Transform to another
eq2 = MathTex(r"(x-h)^2 + (y-k)^2 = r^2")
self.play(Write(eq1))
self.wait(1)
self.play(TransformMatchingShapes(eq1, eq2))
self.wait(2)
```
## Step-by-Step Derivation
```python
class Derivation(Scene):
def construct(self):
# Create a series of equations
line1 = MathTex(r"x + 5 = 10")
line2 = MathTex(r"x + 5 - 5 = 10 - 5")
line3 = MathTex(r"x = 5")
# Position them
equations = VGroup(line1, line2, line3)
equations.arrange(DOWN, buff=0.8)
# Show derivation step by step
self.play(Write(line1))
self.wait(1)
self.play(TransformMatchingShapes(line1.copy(), line2))
self.wait(1)
self.play(TransformMatchingShapes(line2.copy(), line3))
self.wait(2)
```
## Aligned Equations
```python
class AlignedEquations(Scene):
def construct(self):
# Use aligned environment
aligned = MathTex(
r"begin{aligned}"
r"x + 5 &= 10 \"
r"x &= 10 - 5 \"
r"x &= 5"
r"end{aligned}"
)
self.play(Write(aligned))
self.wait(2)
```
## Greek Letters and Symbols
```python
class GreekSymbols(Scene):
def construct(self):
# Common Greek letters
greeks = MathTex(
r"alpha, beta, gamma, delta, theta, pi, sigma, omega"
)
# Common symbols
symbols = MathTex(
r"sum_{i=1}^{n} i = frac{n(n+1)}{2}"
)
# Limits
limit = MathTex(
r"lim_{x to infty} frac{1}{x} = 0"
)
group = VGroup(greeks, symbols, limit)
group.arrange(DOWN, buff=1)
self.play(Write(group))
self.wait(2)
```
## Font Sizes
```python
class FontSizes(Scene):
def construct(self):
# Different font sizes
small = MathTex(r"E = mc^2").scale(0.5)
normal = MathTex(r"E = mc^2")
large = MathTex(r"E = mc^2").scale(2)
sizes = VGroup(small, normal, large)
sizes.arrange(DOWN, buff=1)
self.play(Write(sizes))
self.wait(2)
```
## Highlighting Parts
```python
class HighlightParts(Scene):
def construct(self):
equation = MathTex(
r"f(x) = ax^2 + bx + c"
)
# Create a box around the quadratic term
box = SurroundingRectangle(equation[0][4:7], color=YELLOW)
self.play(Write(equation))
self.wait(1)
self.play(Create(box))
self.wait(2)
```
## Resources
- [MathTex Reference](https://docs.manim.community/en/stable/reference/manim.mobject.text.tex_mobject.MathTex.html)
- [LaTeX Symbols Guide](https://www.overleaf.com/learn/latex/List_of_Greek_letters_and_math_symbols)
Source: claude-code-templates (MIT). See About Us for full credits.