Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

MathML-Tabellen

Sobald alle grundlegenden mathematischen Notationen bekannt sind, bleibt noch die tabellarische Anordnung in Betracht zu ziehen, die für matrixähnliche Ausdrücke und andere fortgeschrittene mathematische Anordnungen verwendet werden kann.

MathML-Tabellenelemente

Die MathML-Tabellenelemente ähneln denen von 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 ordnet sie als <mrow>-Container an.

Tabellen werden typischerweise für matrixähnliche Ausdrücke (einschließlich Vektoren) verwendet. Hier ist ein grundlegendes 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>

Zulassen, dass Zellen mehrere Zeilen und Spalten umfassen

Dies ist wieder ä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 erstreckt sich die innere Matrix über zwei Spalten der äußeren Matrix:

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

Verwendung für fortgeschrittene Anordnung

Neben der Darstellung von matrixähnlichen Objekten werden MathML-Tabellen manchmal für fortgeschrittene Anordnungen 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 in zwei verschiedenen Spalten angeordnet sind.

Warnung: Der <mtable>-Artikel bietet mehr Möglichkeiten für fortgeschrittene Anordnungen über spezielle Attribute wie Ausrichtung oder Abstand. Diese entstanden vor den CSS-Äquivalenten und waren ursprünglich für Renderer gedacht, die CSS-unabhängig waren. Diese Attribute sind jedoch möglicherweise nicht in allen Browsern implementiert. In Zukunft wird es wahrscheinlich sein, dass die Verwendung von <mtable> nur zu Layout-Zwecken (d.h. nicht tatsächliche matrixähnliche Objekte) durch CSS-basierte Alternativen ersetzt werden kann.

Zusammenfassung

In diesem Artikel haben wir die <mtable>, <mtr> und <mtd>-Elemente untersucht, die den HTML-Elementen für Tabellen entsprechen. Wir haben gesehen, wie man sie zur Darstellung matrixähnlicher Objekte verwendet und wie sie manchmal für fortgeschrittene Anordnungen 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 nutzen, um einen kleinen mathematischen Artikel mit HTML und MathML neu zu schreiben.

Siehe auch