Skriptelemente in MathML
Wir setzen die Überprüfung grundlegender mathematischer Notationen fort und konzentrieren uns auf den Aufbau von MathML-Elementen mit Skripts.
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 Tiefstellung an das erste Kind angehängt wird. - Das zweite Kind des
<msup>
-Elements als Hochstellung an das erste Kind angehängt wird. - Die zweiten und dritten Kinder des
<msubsup>
-Elements werden jeweils als Tiefstellung und Hochstellung ihres ersten Kindes angehängt. - Der Text innerhalb der Skripts wird verkleinert.
Unter- und Überschriften
Die <munder>
, <mover>
und <munderover>
-Elemente sind sehr ähnlich, außer dass sie zum Anfügen von Unter- und Überschriften verwendet werden. Anstatt Details zu geben, lassen wir Sie ihre Definitionen selbst mit der folgenden Übung herausfinden.
Aktives Lernen: Erkennen von Unter-/Über-Schriften
Versuchen Sie im folgenden Beispiel, die Namen der geheimnisvollen Elemente (als Fragezeichen dargestellt) zu erraten und klicken Sie auf die Schaltfläche, um die Lösung anzuzeigen:
Aktives Lernen: Erkennen von Skriptelementen
Die folgende MathML-Formel enthält einen komplexeren Ausdruck, der Brüche, Wurzeln und Skripte verschachtelt. Versuchen Sie, die mit Skriptelementen <msub>
, <msup>
, <msubsup>
, <munder>
, <mover>
, <munderover>
angelegten Elemente zu erraten. 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 diese Ihrer Erwartung entspricht.
Weitere Eigenschaften von Operatoren
Wir haben zuvor einige Eigenschaften des <mo>
-Elements gesehen, nämlich das Strecken in vertikaler Richtung und das Abstandhalten. Jetzt, da Skriptelemente verfügbar sind, können wir diese Liste erweitern. Das werden wir tun, indem wir unser vorheriges Beispiel anpassen.
Strecken in horizontaler Richtung
Lassen Sie uns zunächst die Substitutionen und durchführen:
Wir bemerken nun, dass die untere Klammer "⎵" und der nach rechts gerichtete Pfeil "→" sich horizontal dehnen, um die Breite der Ersatzwerte abzudecken. Denken Sie daran, dass einige vertikale Operatoren sich strecken können, um die Höhe nicht dehnbarer Geschwister innerhalb eines <mrow>
abzudecken. Ebenso können sich einige horizontale Operatoren strecken, um die Breite nicht dehnbarer Geschwister in einem <munder>
, <mover>
oder <munderover>
-Element abzudecken.
Hinweis:
Das Strecken kann für jedes Kind des <munder>
, <mover>
oder <munderover>
-Elements auftreten, nicht nur für die Unter- oder Überschrift.
Große Operatoren und Grenzen
Bisher wurde unser Beispiel tatsächlich mit dem Attribut display="block"
gerendert. Schauen Sie sich das gleiche Beispiel an, wie es ohne dieses Attribut gerendert wird:
Wie erwartet ist die Formel nicht mehr zentriert und die Darstellung ist so verändert, dass die Höhe minimiert wird. Konzentrieren Sie sich auf das Summationssymbol, dann werden Sie bemerken, dass das Sigma kleiner gezeichnet ist und dass die Skripts des <munderover>
-Elements nun als Tiefstellung und Hochstellung angefügt sind! Dies ist aufgrund zweier Eigenschaften des "∑"-Operators:
- largeop: Der Operator wird mit einem größeren Glyph dargestellt, wenn das
<math>
-Tag eindisplay="block"
-Attribut hat. - movablelimits: Wenn das
<math>
-Tag keindisplay="block"
-Attribut hat, werden die Unter- und Überschriften des Operators als Tiefstellung und Hochstellung dargestellt.
Hinweis:
Die largeop-Eigenschaft ist eigentlich nicht mit Skripts verwandt, obwohl Operatoren, die diese Eigenschaft haben, typischerweise Skriptunterstützung anbieten. Die movablelimits-Eigenschaft wird auch bei <munder>
- und <mover>
-Elementen berücksichtigt.
Zusammenfassung
In diesem Artikel haben wir die Überprüfung des grundlegenden Layouts abgeschlossen und die Elemente <msub>
, <msup>
, <msubsup>
, <munder>
, <mover>
, <munderover>
für Tiefstellungen, Hochstellungen, Unter- und Überschriften eingeführt. Mit diesen Elementen konnten wir kurz neue Eigenschaften des <mo>
-Elements vorstellen. Im nächsten Artikel werden wir uns auf den tabellarischen Layout konzentrieren.