Files
sukr/docs/content/features/math.md
Timothy DeHerrera 46c00c7729 docs: migrate content files to TOML frontmatter
Migrate all 17 docs/content/ files from --- YAML to +++ TOML
frontmatter delimiters and key = value syntax.

Update 8 embedded frontmatter examples in 7 documentation pages
to match (configuration, content-organization, getting-started,
security, sections, sitemap, feeds, templates).

Update configuration.md frontmatter reference table: add draft
and aliases fields, correct date type from string to date.
2026-02-14 06:57:55 -07:00

96 lines
2.6 KiB
Markdown

+++
title = "Math Rendering"
description = "Build-time LaTeX math with KaTeX"
weight = 5
+++
sukr renders LaTeX math expressions at build time using KaTeX, producing static HTML and CSS. No client-side JavaScript required.
## Inline Math
Use single dollar signs for inline math:
```markdown
The quadratic formula is $x = \frac{-b \pm \sqrt{b^2-4ac}}{2a}$.
```
Renders as: The quadratic formula is $x = \frac{-b \pm \sqrt{b^2-4ac}}{2a}$.
## Display Math
Use double dollar signs for display (block) math:
```markdown
$$
E = mc^2
$$
```
Or fence with `math` language:
````markdown
```math
\int_0^\infty e^{-x^2} dx = \frac{\sqrt{\pi}}{2}
```
````
## Supported Features
KaTeX supports a large subset of LaTeX math:
| Feature | Syntax | Rendered |
| ----------------------- | ---------------------------------------------- | ---------------------------------------------- |
| Greek letters | `\alpha, \beta, \gamma` | $\alpha, \beta, \gamma$ |
| Fractions | `\frac{a}{b}` | $\frac{a}{b}$ |
| Subscripts/superscripts | `x_i^2` | $x_i^2$ |
| Summations | `\sum_{i=1}^{n} i` | $\sum_{i=1}^{n} i$ |
| Integrals | `\int_a^b f(x)\,dx` | $\int_a^b f(x)\,dx$ |
| Square roots | `\sqrt{x^2 + y^2}` | $\sqrt{x^2 + y^2}$ |
| Matrices | `\begin{pmatrix} a & b \\ c & d \end{pmatrix}` | $\begin{pmatrix} a & b \\ c & d \end{pmatrix}$ |
### Display Math Examples
The Gaussian integral:
$$\int_{-\infty}^{\infty} e^{-x^2} dx = \sqrt{\pi}$$
Euler's identity:
$$e^{i\pi} + 1 = 0$$
The Schrödinger equation:
$$i\hbar\frac{\partial}{\partial t}\Psi = \hat{H}\Psi$$
## How It Works
1. Math delimiters (`$...$`, `$$...$$`) are detected during parsing
2. KaTeX renders the expression to HTML + CSS
3. Required fonts are embedded inline
4. Output is pure HTML—no JavaScript
## Styling
KaTeX output uses semantic classes. Customize appearance:
```css
.katex {
font-size: 1.1em;
}
.katex-display {
margin: 1.5em 0;
overflow-x: auto;
}
```
## Error Handling
Invalid LaTeX produces an error message inline rather than breaking the build:
```markdown
$\invalid{command}$
```
Renders with a red error indicator showing what went wrong.