MathML-Tabellen

Sobald alle grundlegenden mathematischen Notationen bekannt sind, bleibt die Betrachtung des tabellarischen Layouts, das für matrixartige Ausdrücke und andere erweiterte mathematische Layouts verwendet werden kann.

Voraussetzungen: Grundlegende Software installiert, Grundkenntnisse im Umgang mit Dateien und HTML-Grundlagen (siehe Einführung in HTML und HTML-Tabellen)
Zielsetzung: Vertrautheit mit MathML-Tabellenelementen erlangen und auf einige Anwendungsfälle aufmerksam werden.

MathML-Tabellenelemente

Die MathML-Tabellenelemente sind ähnlich wie die für HTML-Tabellen: 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 diese als <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öglichung, dass Zellen mehrere Zeilen und Spalten überspannen

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

Hinweis: Aus historischen Gründen heißt das MathML-Attribut für das Überspannen von Spalten columnspan und nicht colspan.

Verwendung für erweiterte Layouts

Neben der Darstellung matrixartiger Objekte werden MathML-Tabellen manchmal für erweiterte Layouts in mathematischen Formeln verwendet, beispielsweise in Wikipedias Definition des Legendre-Symbols. Hier sind die verschiedenen Fälle auf drei unterschiedlichen Zeilen geschrieben, während die Werte und Bedingungen in zwei unterschiedlichen Spalten platziert sind.

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

Zusammenfassung

In diesem Artikel haben wir die <mtable>, <mtr> und <mtd>-Elemente besprochen, die die Entsprechungen der HTML-Elemente für Tabellen sind. Wir haben gesehen, wie man sie zur Darstellung matrixartiger Objekte verwenden kann und wie sie manchmal für erweiterte Layouts verwendet werden.

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

Siehe auch