Math Rendering

Build-time LaTeX math to MathML

sukr renders LaTeX math expressions at build time to MathML. The output is browser-native — no client-side JavaScript required.

Inline Math

Use single dollar signs for inline math:

The quadratic formula is $x = \frac{-b \pm \sqrt{b^2-4ac}}{2a}$.

Renders as: The quadratic formula is x=b±b24ac2a.

Display Math

Use double dollar signs for display (block) math:

$$
E = mc^2
$$

Or fence with math language:

```math
\int_0^\infty e^{-x^2} dx = \frac{\sqrt{\pi}}{2}
```

Supported Features

pulldown-latex supports a broad subset of LaTeX math:

Feature Syntax Rendered
Greek letters \alpha, \beta, \gamma α,β,γ
Fractions \frac{a}{b} ab
Subscripts/superscripts x_i^2 xi2
Summations \sum_{i=1}^{n} i i=1ni
Integrals \int_a^b f(x)\,dx abf(x)dx
Square roots \sqrt{x^2 + y^2} x2+y2
Matrices \begin{pmatrix} a & b \\ c & d \end{pmatrix} (abcd)

Display Math Examples

The Gaussian integral:

ex2dx=π

Euler's identity:

eiπ+1=0

The Schrödinger equation:

itΨ=H^Ψ

How It Works

  1. Math delimiters ($...$, $$...$$) are detected during parsing
  2. pulldown-latex converts the expression to MathML
  3. Browsers render MathML natively — no fonts or JavaScript needed
  4. Output is pure HTML with embedded <math> elements

Error Handling

Invalid LaTeX produces an error message inline rather than breaking the build:

$\invalid{command}$

Renders with an error indicator showing what went wrong.