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-Skript-Elemente

Wir setzen die Übersicht der grundlegenden mathematischen Notationen fort und konzentrieren uns auf den Aufbau von MathML-Elementen mit Skripten.

Tief- und Hochstellungen

Ähnlich wie im vorherigen Artikel gesehen, haben <msub>, <msup> und <msubsup> eine spezielle Struktur, die genau zwei Elemente (für <msub>, <msup>) oder drei Elemente (für <msubsup>) erwartet:

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>

Unten sehen Sie die Darstellung des obigen Beispiels in Ihrem Browser.

Sie sollten bemerken:

  • Das zweite Kind des <msub>-Elements ist als Tiefstellung an sein erstes Kind angefügt.
  • Das zweite Kind des <msup>-Elements ist als Hochstellung an sein erstes Kind angefügt.
  • Die zweiten und dritten Kinder des <msubsup>-Elements sind als Tief- und Hochstellung an sein erstes Kind angefügt.
  • Der Text innerhalb von Skripten ist verkleinert.

Hinweis: Die MathML-Elemente <msub> und <msup> unterscheiden sich von den HTML-Elementen <sub> und <sup>. Sie ermöglichen Autoren, beliebige MathML-Teilbäume als Skripte bereitzustellen, nicht nur Text.

Unter- und Überschriften

Die <munder>, <mover> und <munderover>-Elemente sind sehr ähnlich, außer dass sie verwendet werden, um Unterschriften und Überschriftungen anzufügen. Anstatt Details zu geben, lassen wir Sie ihre Definitionen selbst herausfinden mit der folgenden Übung.

Erkennen von Unter-/Überschriften

Versuchen Sie im folgenden Beispiel, die Namen der geheimnisvollen Elemente (als Fragezeichen geschrieben) zu erraten und klicken Sie auf die Schaltfläche, um die Lösung zu enthüllen:

Erkennen von Skript-Elementen

Die folgende MathML-Formel enthält einen komplexeren Ausdruck, der Brüche, Wurzeln und Skripte verschachtelt. Versuchen Sie, die Elemente zu erraten, die mit den Skript-Elementen <msub>, <msup>, <msubsup>, <munder>, <mover>, <munderover> ausgelegt sind. Jedes Mal, wenn Sie auf ein solches Element klicken, wird es hervorgehoben und eine Bestätigungsnachricht angezeigt. Lesen Sie schließlich die MathML-Quelle, um zu überprüfen, ob dies Ihrer Erwartung entspricht.

Weitere Operator-Eigenschaften

Wir haben zuvor einige Eigenschaften des <mo>-Elements gesehen, nämlich das Strecken in vertikaler Richtung und den Abstand. Da nun Skript-Elemente verfügbar sind, können wir diese Liste erweitern. Wir werden dies tun, indem wir unser vorheriges Beispiel anpassen.

Strecken in horizontaler Richtung

Lassen Sie uns zunächst die Substitutionen βz1+z2\beta := z*{1} + z*{2} und αv1+v2\alpha := v*{1} + v*{2} durchführen:

Wir erkennen nun, dass die untere Klammer "⎵" und der Rechtspfeil "→" sich horizontal strecken, um die Breite der substituierten Werte abzudecken. Erinnern Sie sich daran, dass einige vertikale Operatoren sich strecken können, um die Höhe nicht-streckbarer Geschwister innerhalb eines <mrow> abzudecken. Ähnlich können einige horizontale Operatoren sich strecken, um die Breite nicht-streckbarer Geschwister in einem <munder>, <mover> oder <munderover>-Element abzudecken.

Hinweis: Das Strecken kann für jedes Kind des <munder>, <mover> oder <munderover>-Elements geschehen, nicht nur für die Unterschrift oder Überschrift.

Großer Operator und Grenzwerte

Bisher wurde unser Beispiel tatsächlich mit dem Attribut display="block" gerendert. Schauen wir das gleiche Beispiel an, wie es ohne dieses Attribut gerendert wird:

Wie erwartet, ist die Formel nicht mehr zentriert und die Darstellung wird geändert, um die Höhe zu minimieren. Blickt man auf das Summenzeichen, kann man feststellen, dass das Sigma kleiner gezeichnet ist und dass die Skripte des <munderover>-Elements jetzt als Tief- und Hochstellung angefügt sind! Dies liegt an zwei Eigenschaften des „∑“-Operators:

  • largeop: Der Operator wird mit einem größeren Glyph dargestellt, wenn das <math>-Tag ein display="block"-Attribut hat.
  • movablelimits: Die Unterschriften und Überschriften, die am Operator angehängt sind, werden als Tief- und Hochstellungen dargestellt, wenn das <math>-Tag nicht das display="block"-Attribut hat.

Hinweis: Die largeop-Eigenschaft ist eigentlich unabhängig von Skripten, obwohl Operatoren, die diese Eigenschaft haben, typischerweise geskriptet sind. Die movablelimits-Eigenschaft wird auch für <munder> und <mover>-Elemente berücksichtigt.

Zusammenfassung

In diesem Artikel haben wir die grundlegende Layout-Überprüfung abgeschlossen und die Elemente <msub>, <msup>, <msubsup>, <munder>, <mover>, <munderover> für Tiefstellungen, Hochstellungen, Unterschriften und Überschriften eingeführt. Mit diesen Elementen konnten wir kurz neue Eigenschaften des <mo>-Elements einführen. Im nächsten Artikel werden wir uns weiter auf das tabellarische Layout konzentrieren.

Siehe auch