LaTeX-Element

Ein LaTeX-Element rendert mathematische Formeln und Ausdrücke unter Verwendung der LaTeX-Syntax. Es unterstützt den frame-basierten Inhaltswechsel mit konfigurierbaren Übergängen.

LaTeX-Elemente teilen sich die gemeinsamen Felder von Basis-Element und Ansichts-Element.

LaTeX-Eigenschaften

EigenschaftTypErforderlichBeispielWertbereichBeschreibung
typestringtrue-LaTeXDer Typ des Elements. Für LaTeX-Elemente ist dies immer "LaTeX".
framesarraytrue--Ein Array von LaTeX-Frames. Jeder Frame definiert einen LaTeX-Ausdruck, der in einem bestimmten Zeitraum angezeigt wird.
displayModebooleanfalse--Ob im Anzeigemodus (Blockebene, zentriert) oder im Inline-Modus gerendert werden soll.
detailnumberfalse--Das Detailniveau der Darstellung. Höhere Werte erzeugen glattere Kurven.
targetWidthnumberfalse--Die Zielbreite für den gerenderten LaTeX-Inhalt in Pixeln.
colorstringfalse--Die Farbe des gerenderten LaTeX-Texts im Hex-Format.

Frame-Objekt

Jedes Element im frames-Array definiert einen LaTeX-Ausdruck und den Zeitraum, in dem er angezeigt wird:

EigenschaftTypErforderlichBeispielWertbereichBeschreibung
latexstringtrueE = mc^2-Der LaTeX-Ausdrucksstring, der gerendert werden soll.
startnumbertrue->= 0Die Startzeit dieses Frames relativ zum Element in Sekunden.
endnumbertrue-> startDie Endzeit dieses Frames relativ zum Element in Sekunden. Muss größer als der Start sein.
transitionobjectfalse--Übergangseffekt beim Wechsel zu diesem Frame.
styleobjectfalse--Frame-spezifische Stilüberschreibungen für Farbe, displayMode und targetWidth.

Übergangsobjekt:

  • type (string) - Übergangstyp: 'fade', 'instant' oder 'morph'. Standard: 'instant'
  • duration (number) - Dauer des Übergangs in Sekunden. Standard: 0.5

Stilobjekt (frame-spezifische Überschreibungen):

  • color (string) - Überschreibe die elementweite Farbe für diesen Frame
  • displayMode (boolean) - Überschreibe den Anzeigemodus für diesen Frame
  • targetWidth (number) - Überschreibe die Zielbreite für diesen Frame

Beispiel

Einzelner Frame LaTeX

latexElement.json
 
{
  "id": "latex-001",
  "type": "LaTeX",
  "start": 0,
  "duration": 5,
  "trackIndex": 0,
  "x": 200,
  "y": 300,
  "width": 400,
  "height": 100,
  "anchorX": 200,
  "anchorY": 50,
  "rotation": 0,
  "scaleX": 1,
  "scaleY": 1,
  "alpha": 1,
  "color": "#000000",
  "displayMode": true,
  "targetWidth": 400,
  "frames": [
    {
      "latex": "E = mc^2",
      "start": 0,
      "end": 5
    }
  ]
}

Mehrfach-Frame mit Übergängen

latexMultiFrame.json
 
{
  "id": "latex-002",
  "type": "LaTeX",
  "start": 0,
  "duration": 10,
  "trackIndex": 0,
  "x": 200,
  "y": 300,
  "width": 500,
  "height": 120,
  "anchorX": 250,
  "anchorY": 60,
  "rotation": 0,
  "scaleX": 1,
  "scaleY": 1,
  "alpha": 1,
  "color": "#1a1a1a",
  "displayMode": true,
  "targetWidth": 500,
  "frames": [
    {
      "latex": "f(x) = ax^2 + bx + c",
      "start": 0,
      "end": 5,
      "transition": {
        "type": "fade",
        "duration": 0.5
      }
    },
    {
      "latex": "x = \\frac{-b \\pm \\sqrt{b^2 - 4ac}}{2a}",
      "start": 5,
      "end": 10,
      "transition": {
        "type": "morph",
        "duration": 0.8
      }
    }
  ]
}

Hinweise

  • LaTeX-Elemente verwenden Vektorrendering für scharfe Ausgaben in jedem Maßstab.
  • Das frames-Array muss mindestens einen Frame mit einem gültigen latex-String enthalten.
  • Die Zeitbereiche der Frames (start bis end) sollten die Dauer des Elements für eine kontinuierliche Anzeige abdecken.
  • Der morph-Übergang erzeugt eine sanfte Animation zwischen zwei LaTeX-Ausdrücken.