MathML skriptbasierte Elemente
Wir setzen die Überprüfung 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:
<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, dass:
- Das zweite Kind des
<msub>
-Elements als Index zu seinem ersten Kind angefügt wird. - Das zweite Kind des
<msup>
-Elements als Hochstellung zu seinem ersten Kind angefügt wird. - Die zweiten und dritten Kinder des
<msubsup>
-Elements werden entsprechend als Index und Hochstellung zu seinem ersten Kind angefügt. - Der Text innerhalb der Skripte wird verkleinert.
Unter- und Überschriften
Die <munder>
, <mover>
und <munderover>
Elemente sind sehr ähnlich, außer dass sie verwendet werden, um Unterschriften und Überschriften zu verknüpfen. Anstatt Details zu geben, lassen wir Sie ihre Definitionen selbst mit der folgenden Übung herausfinden.
Aktives Lernen: Erkennen von Unter-/Überschriften
Versuchen Sie im folgenden Beispiel, die Namen der mysteriösen Elemente (als Fragezeichen dargestellt) zu erraten und klicken Sie auf den Knopf, um die Lösung zu enthüllen:
Aktives Lernen: Erkennen von skriptbasierten 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 skriptbasierten Elementen <msub>
, <msup>
, <msubsup>
, <munder>
, <mover>
, <munderover>
aufgebaut sind. Jedes Mal, wenn Sie auf ein solches Element klicken, wird es hervorgehoben und eine Bestätigungsmeldung angezeigt. Lesen Sie schließlich die MathML-Quelle, um zu überprüfen, ob dies Ihrer Erwartung entspricht.
Weitere Eigenschaften von Operatoren
Wir haben zuvor einige Eigenschaften des <mo>
-Elements gesehen, nämlich Dehnung in vertikaler Richtung und Abstand. Jetzt, da Skriptelemente verfügbar sind, können wir diese Liste erweitern. Wir werden dies tun, indem wir unser vorheriges Beispiel anpassen.
Dehnung in horizontaler Richtung
Nehmen wir zuerst die Substitutionen und vor:
Wir erkennen nun, dass die untere Klammer "⎵" und der Pfeil nach rechts "→" horizontal gestreckt werden, um die Breite der substituierten Werte zu decken. Denken Sie daran, dass einige vertikale Operatoren gedehnt werden können, um die Höhe der nicht gedehnten Geschwister innerhalb eines <mrow>
abzudecken. Ebenso können einige horizontale Operatoren gedehnt werden, um die Breite der nicht gedehnten Geschwister in einem <munder>
, <mover>
oder <munderover>
-Element abzudecken.
Hinweis:
Dehnung kann für jedes Kind des <munder>
, <mover>
oder <munderover>
-Elements auftreten, 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 uns dasselbe Beispiel an, wie es ohne dieses Attribut gerendert wird:
Wie erwartet, ist die Formel nicht mehr zentriert und die Darstellung wurde so verändert, dass die Höhe minimiert wird. Konzentriert man sich auf das Summenzeichen, so kann man feststellen, dass das Sigma kleiner gezeichnet wird und dass die Skripte des <munderover>
-Elements jetzt als Index und Hochstellung angefügt sind! Dies liegt an zwei Eigenschaften des „∑“-Operators:
- largeop: Der Operator wird mit einem größeren Glyph gezeichnet, wenn das
<math>
-Tag eindisplay="block"
-Attribut hat. - movablelimits: Die an den Operator angefügten Unterschriften und Überschriften werden entsprechend als Index und Hochstellung gerendert, wenn das
<math>
-Tag nicht dasdisplay="block"
-Attribut hat.
Hinweis:
Die largeop-Eigenschaft hat tatsächlich keinen Bezug zu Skripten, obwohl Operatoren mit dieser Eigenschaft typischerweise geskriptet sind. Die movablelimits-Eigenschaft wird ebenfalls für <munder>
und <mover>
-Elemente berücksichtigt.
Zusammenfassung
In diesem Artikel haben wir die grundlegende Layout-Übersicht abgeschlossen, indem wir die Elemente <msub>
, <msup>
, <msubsup>
, <munder>
, <mover>
, <munderover>
für Tiefstellungen, Hochstellungen, Unterschriften und Überschriften eingeführt haben. Mithilfe dieser Elemente konnten wir kurz neue Eigenschaften des <mo>
-Elements vorstellen. Im nächsten Artikel werden wir uns weiterhin auf das tabellarische Layout konzentrieren.