MathML-Tabellen

Sobald alle grundlegenden mathematischen Notationen bekannt sind, bleibt es, den tabellarischen Aufbau zu betrachten, der für matrixähnliche Ausdrücke und andere fortgeschrittene mathematische Layouts verwendet werden kann.

MathML-Tabellenelemente

Die MathML-Tabellenelemente ähneln denen für HTML-Tabellen: Das <mtable>-Element repräsentiert eine mathematische Tabelle, es hat <mtr>-Elemente als Kindelemente (die Reihen repräsentieren), die jeweils <mtd>-Elemente als Kindelemente haben (die Zellen repräsentieren). Ein <mtable>-Element kann an jeder Stelle in einer MathML-Formel eingefügt werden. Das <mtd>-Element kann eine beliebige Anzahl von MathML-Kindelementen enthalten und wird sie als <mrow>-Container anordnen.

Tabellen werden typischerweise für matrixähnliche Ausdrücke (einschließlich Vektoren) verwendet. Hier ist ein grundlegendes Beispiel, das aus dem Artikel über die CSS-Funktion matrix() entnommen ist:

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>

Zellen erlauben, mehrere Reihen und Spalten zu umfassen

Auch dies ist ähnlich wie bei HTML-Tabellen. Das <mtd>-Element akzeptiert die Attribute columnspan und rowspan, um anzuzeigen, dass die Zelle mehrere Reihen 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 Spaltenübergreifung columnspan und nicht colspan genannt.

Verwendung für fortgeschrittene Layouts

Neben der Darstellung von matrixähnlichen Objekten werden MathML-Tabellen manchmal für fortgeschrittene Layouts innerhalb mathematischer Formeln verwendet, zum Beispiel in Wikipedias Definition des Legendre-Symbols. Hierbei werden die verschiedenen Fälle auf drei verschiedenen Reihen geschrieben, während die Werte und Bedingungen auf zwei verschiedenen Spalten platziert werden.

Warnung: Der Artikel über <mtable> bietet fortgeschrittene Layout-Optionen über spezielle Attribute wie Ausrichtung oder Abstände. Diese entstanden vor den CSS-Äquivalenten und wurden ursprünglich für Renderer entworfen, die CSS-unbewusst waren. Diese Attribute werden jedoch möglicherweise nicht in allen Browsern implementiert. In Zukunft ist es wahrscheinlich, dass die Verwendung von <mtable> nur für Layout-Zwecke (d.h. keine tatsächlichen matrixähnlichen Objekte) durch CSS-basierte Alternativen ersetzt werden kann.

Zusammenfassung

In diesem Artikel haben wir die Elemente <mtable>, <mtr> und <mtd> betrachtet, die den HTML-Elementen für Tabellen entsprechen. Wir haben gesehen, wie sie zur Darstellung von matrixähnlichen Objekten verwendet werden und wie sie manchmal für fortgeschrittene Layouts eingesetzt werden.

Sie haben dieses Modul fast abgeschlossen – es bleibt nur noch eine Sache zu tun. In der Bewertung zu den 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