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-Elemente mit Indizes

Wir setzen die Betrachtung grundlegender mathematischer Notationen fort und konzentrieren uns auf MathML-Elemente mit Indizes.

Tiefgestellte und hochgestellte Indizes

Ähnlich wie im vorherigen Artikel haben <msub>, <msup> und <msubsup> eine besondere Struktur: Sie erwarten genau zwei Elemente (bei <msub> und <msup>) beziehungsweise drei Elemente (bei <msubsup>):

html
<p>
  msub:
  <math>
    <msub>
      <mtext>child1</mtext>
      <mtext>child2</mtext>
    </msub>
  </math>
</p>

<p>
  msup:
  <math>
    <msup>
      <mtext>child1</mtext>
      <mtext>child2</mtext>
    </msup>
  </math>
</p>
<p>
  msubsup:
  <math>
    <msubsup>
      <mtext>child1</mtext>
      <mtext>child2</mtext>
      <mtext>child3</mtext>
    </msubsup>
  </math>
</p>

So wird das obige Beispiel in Ihrem Browser dargestellt.

Beachten Sie Folgendes:

  • Das zweite Kindelement von <msub> wird als tiefgestellter Index an das erste Kindelement angefügt.
  • Das zweite Kindelement von <msup> wird als hochgestellter Index an das erste Kindelement angefügt.
  • Das zweite und dritte Kindelement von <msubsup> werden als tiefgestellter beziehungsweise hochgestellter Index an das erste Kindelement angefügt.
  • Text innerhalb von Indizes wird verkleinert.

Hinweis: Die MathML-Elemente <msub> und <msup> unterscheiden sich von den HTML-Elementen <sub> und <sup>. Sie ermöglichen es, beliebige MathML-Teilbäume statt nur Text als Indizes zu verwenden.

Unter- und Überschriften

Die Elemente <munder>, <mover> und <munderover> sind sehr ähnlich, dienen aber dazu, Ausdrücke unter beziehungsweise über einem Basiselement anzubringen. Statt ihre Funktionsweise im Detail zu erklären, können Sie sie anhand der folgenden Übung selbst erschließen.

Unter- und Überschriften erkennen

Versuchen Sie im folgenden Beispiel, die Namen der unbekannten Elemente (durch Fragezeichen dargestellt) zu erraten. Klicken Sie anschließend auf die Schaltfläche, um die Lösung anzuzeigen:

Elemente mit Indizes erkennen

Die folgende MathML-Formel enthält einen komplexeren Ausdruck mit verschachtelten Brüchen, Wurzeln und Indizes. Versuchen Sie, die Elemente zu erkennen, die mit <msub>, <msup>, <msubsup>, <munder>, <mover> und <munderover> dargestellt werden. Wenn Sie auf eines dieser Elemente klicken, wird es hervorgehoben und eine Bestätigungsmeldung angezeigt. Lesen Sie abschließend den MathML-Quelltext, um Ihre Vermutungen zu überprüfen.

Weitere Eigenschaften von Operatoren

Wir haben bereits einige Eigenschaften des Elements <mo> kennengelernt, nämlich die vertikale Streckung und die Abstände. Mit den Elementen für Indizes können wir diese Liste nun erweitern. Dazu passen wir unser vorheriges Beispiel an.

Horizontale Streckung

Nehmen wir zunächst die Ersetzungen β≔z1+z2\beta := z*{1} + z*{2} und α≔v1+v2\alpha := v*{1} + v*{2} vor:

Nun ist zu erkennen, dass sich die untere Klammer „⎵“ und der nach rechts zeigende Pfeil „→“ horizontal strecken, um die Breite der eingesetzten Werte abzudecken. Wie bereits erläutert, können sich manche vertikalen Operatoren strecken, um die Höhe nicht streckbarer Geschwisterelemente innerhalb eines <mrow> abzudecken. Ebenso können sich manche horizontalen Operatoren strecken, um die Breite nicht streckbarer Geschwisterelemente innerhalb eines <munder>, <mover> oder <munderover> abzudecken.

Hinweis: Jedes Kindelement von <munder>, <mover> oder <munderover> kann gestreckt werden, nicht nur das Element unter oder über dem Basiselement.

Große Operatoren und Grenzen

Bisher wurde unser Beispiel mit dem Attribut display="block" dargestellt. Sehen wir uns dasselbe Beispiel ohne dieses Attribut an:

Wie erwartet ist die Formel nicht mehr zentriert, und die Darstellung wurde angepasst, um ihre Höhe zu verringern. Beim Summenzeichen fällt auf, dass das Sigma kleiner dargestellt wird und die Elemente unter und über dem Basiselement von <munderover> nun als tiefgestellter und hochgestellter Index erscheinen. Das liegt an zwei Eigenschaften des Operators „∑“:

  • largeop: Der Operator wird mit einem größeren Zeichen dargestellt, wenn das <math>-Tag das Attribut display="block" hat.
  • movablelimits: Die Elemente unter und über dem Operator werden als tiefgestellter beziehungsweise hochgestellter Index dargestellt, wenn das <math>-Tag nicht das Attribut display="block" hat.

Hinweis: Die Eigenschaft largeop hängt nicht unmittelbar mit Indizes zusammen, auch wenn Operatoren mit dieser Eigenschaft üblicherweise Indizes tragen. Die Eigenschaft movablelimits wird auch bei den Elementen <munder> und <mover> berücksichtigt.

Zusammenfassung

In diesem Artikel haben wir die Betrachtung grundlegender Layout-Elemente abgeschlossen und <msub>, <msup>, <msubsup>, <munder>, <mover> und <munderover> für tiefgestellte und hochgestellte Indizes sowie für Ausdrücke unter und über einem Basiselement kennengelernt. Anhand dieser Elemente konnten wir außerdem weitere Eigenschaften des Elements <mo> vorstellen. Im nächsten Artikel beschäftigen wir uns mit dem tabellarischen Layout.

Siehe auch