MathML-Tabellen

Nachdem alle grundlegenden mathematischen Notationen bekannt sind, bleibt noch das tabellarische Layout zu betrachten, das für matrixartige Ausdrücke und andere komplexe mathematische Layouts verwendet werden kann.

MathML tabellarische Elemente

Die MathML-Tabellenelemente sind den HTML-Tabellen ähnlich: Das <mtable>-Element stellt eine mathematische Tabelle dar, es hat <mtr>-Elemente als Kinder (die Zeilen darstellen), von denen jedes <mtd>-Elemente als Kinder hat (die Zellen darstellen). Ein <mtable>-Element kann überall in einer MathML-Formel eingefügt werden. Das <mtd>-Element kann eine beliebige Anzahl von MathML-Kindern enthalten und wird sie wie einen <mrow>-Container anordnen.

Tabellen werden typischerweise für matrixartige Ausdrücke (einschließlich Vektoren) verwendet. Hier ist ein einfaches Beispiel aus dem Artikel über die CSS-matrix()-Funktion:

html
<math display="block">
  <mrow>
    <mo>(</mo>
    <mtable>
      <mtr>
        <mtd>
          <mi>a</mi>
        </mtd>
        <mtd>
          <mi>c</mi>
        </mtd>
        <mtd>
          <mn>0</mn>
        </mtd>
        <mtd>
          <msub>
            <mi>t</mi>
            <mi>x</mi>
          </msub>
        </mtd>
      </mtr>
      <mtr>
        <mtd>
          <mi>b</mi>
        </mtd>
        <mtd>
          <mi>d</mi>
        </mtd>
        <mtd>
          <mn>0</mn>
        </mtd>
        <mtd>
          <msub>
            <mi>t</mi>
            <mi>y</mi>
          </msub>
        </mtd>
      </mtr>
      <mtr>
        <mtd>
          <mn>0</mn>
        </mtd>
        <mtd>
          <mn>0</mn>
        </mtd>
        <mtd>
          <mn>1</mn>
        </mtd>
        <mtd>
          <mn>0</mn>
        </mtd>
      </mtr>
      <mtr>
        <mtd>
          <mn>0</mn>
        </mtd>
        <mtd>
          <mn>0</mn>
        </mtd>
        <mtd>
          <mn>0</mn>
        </mtd>
        <mtd>
          <mn>1</mn>
        </mtd>
      </mtr>
    </mtable>
    <mo>)</mo>
  </mrow>
</math>

Ermöglichen, dass Zellen mehrere Zeilen und Spalten umfassen

Dies ist wiederum ähnlich wie bei HTML-Tabellen. Das <mtd>-Element akzeptiert die Attribute columnspan und rowspan, um anzugeben, dass die Zelle mehrere Zeilen und Spalten umfasst. Unten umfasst die innere Matrix zwei Spalten der äußeren Matrix:

Hinweis: Aus historischen Gründen wird das MathML-Attribut für die Spaltenübergreifung columnspan und nicht colspan genannt.

Verwendung für erweitertes Layout

Neben der Darstellung von matrixartigen Objekten werden MathML-Tabellen manchmal für erweitertes Layout innerhalb mathematischer Formeln verwendet, zum Beispiel in Wikipedias Definition des Legendre-Symbols. Hier werden die verschiedenen Fälle in drei verschiedenen Zeilen geschrieben, während die Werte und Bedingungen auf zwei verschiedenen Spalten platziert werden.

Warnung: Der <mtable>-Artikel bietet weitere Optionen für erweitertes Layout über spezielle Attribute wie Ausrichtung oder Abstand. Diese entstanden vor den CSS-Äquivalenten und waren ursprünglich für Renderer gedacht und entworfen, die nicht CSS-bewusst waren. Diese Attribute sind jedoch möglicherweise nicht in allen Browsern implementiert. In der Zukunft ist es wahrscheinlich, dass Verwendungen von <mtable> für rein layoutbezogene Zwecke (d.h. nicht echte matrixartige Objekte) durch CSS-basierte Alternativen ersetzt werden können.

Zusammenfassung

In diesem Artikel haben wir die <mtable>, <mtr> und <mtd>-Elemente besprochen, die den HTML-Tabellenelementen entsprechen. Wir haben gesehen, wie man sie zur Darstellung von matrixartigen Objekten verwendet und wie sie manchmal für erweitertes Layout eingesetzt werden.

Sie haben dieses Modul fast abgeschlossen — wir haben nur noch eine Sache zu tun. In der Bewertung der drei berühmten mathematischen Formeln werden Sie Ihr neues Wissen nutzen, um einen kleinen mathematischen Artikel mit HTML und MathML neu zu schreiben.

Siehe auch