Math
Rendert hochwertige LaTeX-Formeln in HTML-Seiten mit Temml, direkt zu nativem MathML kompiliert.
Nimm es, wenn du eine LaTeX-Formel als abgesetzte Formel in einer HTML-Seite rendern willst.
<r-math>setzt den Ausdruck aus dem Attributlatexmit Temml, das LaTeX zu MathML kompiliert und den Umbruch dem Browser überlässt (kein Canvas, kein SVG, keine KaTeX-Runtime).
Schnellstart
Grundlegende Verwendung
<r-math latex="\frac{x^2}{a^2} + \frac{y^2}{b^2} = 1 \quad (a > b > 0)"></r-math>API-Referenz
Eigenschaften
| Eigenschaft | Typ | Standard | Beschreibung |
|---|---|---|---|
latex |
string |
'' |
Die zu rendernde LaTeX-Formel. Sie kommt über dieses Attribut, nicht über Slot-Text. |
display |
string |
'block' |
block (abgesetzte Formel) oder inline (Formel im Fließtext). |
font |
string |
'' |
Auf system gesetzt, überspringt es die mitgelieferte Latin Modern Math und nimmt die Systemschrift. |
macros |
string |
'' |
Ein JSON-Objekt mit Temml-Makros. Ungültiges JSON wird stillschweigend ignoriert. |
wrap |
string |
'' |
Weicher Zeilenumbruch von Temml: none, tex oder =. |
copy |
boolean |
false |
Zeigt eine Kopierschaltfläche. copy allein kopiert den LaTeX-Quelltext, copy="mathml" das MathML. |
download |
boolean |
false |
Zeigt Schaltfläche bzw. Menü zum Herunterladen des Quelltexts (.tex) und/oder MathML (.mml). |
sheet |
string |
'' |
CSS, das in das Shadow DOM der Komponente injiziert wird. |
💡 Hinweis: Der Getter der Eigenschaft
latexdekodiert seinen Wert mitdecodeURIComponent, URI-kodierte Formeln werden also vor dem Rendern dekodiert. Die Formel als Slot-Text zu übergeben hat keine Wirkung; gerendert wird nur das Attributlatex.
Formel latex
<r-math latex="x = {-b \pm \sqrt{b^2-4ac} \over 2a}"></r-math>Externe Styles sheet
<r-math latex="e^{i\pi} + 1 = 0" sheet=".ran-math { justify-content: flex-start; }"></r-math>Events
| Event | detail | Wird ausgelöst, wenn |
|---|---|---|
render |
{ ok: true } |
die Formel erfolgreich gerendert wurde. |
error |
{ message: string } |
Temml die Formel nicht parsen konnte (z. B. ungültiges LaTeX). |
copied |
{ kind: 'source' | 'mathml' } |
die Kopierschaltfläche Quelltext oder MathML kopiert hat. |
download |
{ format: 'source' | 'mathml' } |
die Download-Schaltfläche eine .tex- oder .mml-Datei sicherte. |
Styling
<r-math> stellt 16 eigene CSS-Custom-Properties bereit, dazu die semantischen Tokens, die es aus dem Theme liest. Setze eine dort, wo sie vererbt wird — :root, ein Wrapper oder das Element selbst:
r-math {
--ran-math-error-background: var(--ran-color-bg-subtle);
}Parts: button · error · math · menu · render · toolbar
Die vollständige Liste steht in den Style-Tokens; welches Token du nimmst, klärt das Designsystem.
Bewährte Praxis
- Formeln über
latexübergeben: Setze die Formel auf das Attributlatex; Slot-Text wird nicht gerendert. - Backslashes in JavaScript maskieren: Weist du
latexaus einem JS-String zu, denk daran, dass\maskiert werden muss (z. B.'\\frac{1}{2}'). - Parse-Fehler behandeln: Höre auf
error(oder prüfe die gerenderte::part(error)-Box), statt anzunehmen, jede Formel sei gültiges LaTeX. - Eigenes Layout über
sheet: Nutze das Attributsheet, um das interne Layout von.ran-mathbei Bedarf zu überschreiben.