MathML gescriptete Elemente
Wir setzen die Überprüfung der grundlegenden mathematischen Notationen fort und konzentrieren uns darauf, MathML-Elemente mit Skripten zu erstellen.
Voraussetzungen: | Grundlegende Software installiert, Grundkenntnisse im Umgang mit Dateien, und HTML-Grundlagen (studieren Sie die Einführung in HTML.) |
---|---|
Ziel: | Vertrautheit mit grundlegenden MathML-Elementen, die geskriptete Elemente erzeugen. |
Tief- und Hochstellungen
Ähnlich wie im vorherigen Artikel gesehen, haben die <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>
Nachfolgend ist die Darstellung des obigen Beispiels in Ihrem Browser zu sehen.
Sie sollten feststellen, dass:
- Das zweite Kind des
<msub>
-Elements als Tiefstellung an das erste Kind angehängt ist. - Das zweite Kind des
<msup>
-Elements als Hochstellung an das erste Kind angehängt ist. - Die zweiten und dritten Kinder des
<msubsup>
-Elements jeweils als Tiefstellung und Hochstellung an das erste Kind angehängt sind. - Der Text innerhalb der Skripte verkleinert dargestellt wird.
Unterschriften und Überschriften
Die <munder>
, <mover>
und <munderover>
-Elemente sind sehr ähnlich, außer dass sie verwendet werden, um Unterschriften und Überschriften anzubringen. Anstatt Details anzugeben, lassen wir Sie deren Definitionen selbst mit der folgenden Übung herausfinden.
Aktives Lernen: Erkennen Sie Unter-/Übersichten
Versuchen Sie im folgenden Beispiel, die Namen der mysteriösen Elemente (als Fragezeichen dargestellt) zu erraten und klicken Sie den Button, um die Lösung zu sehen:
Aktives Lernen: Erkennen Sie geskriptete Elemente
Die folgende MathML-Formel enthält einen komplexeren Ausdruck, der Brüche, Wurzeln und Skripte verschachtelt. Versuchen Sie, die mit geskripteten Elementen <msub>
, <msup>
, <msubsup>
, <munder>
, <mover>
, <munderover>
ausgelegten 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 dies Ihrer Erwartung entspricht.
Weitere Operator-Eigenschaften
Wir haben bereits einige Eigenschaften des <mo>
-Elements gesehen, nämlich das Strecken in vertikaler Richtung und den Abstand. Jetzt, da geskriptete Elemente verfügbar sind, können wir diese Liste erweitern. Wir werden dies tun, indem wir unser vorheriges Beispiel anpassen.
Strecken in horizontaler Richtung
Führen wir zunächst die Substitutionen und durch:
Wir erkennen jetzt, dass die untere Klammer "⎵" und der Pfeil nach rechts "→" sich horizontal strecken, um die Breite der ersetzten Werte abzudecken. Erinnern Sie sich daran, dass einige vertikale Operatoren gestreckt werden können, um die Höhe von nicht gestreckten Geschwistern innerhalb eines <mrow>
abzudecken. Ebenso können einige horizontale Operatoren sich strecken, um die Breite nicht gestreckter Geschwister in einem <munder>
, <mover>
oder <munderover>
-Element abzudecken.
Hinweis: Das Strecken kann für jedes Kind des <munder>
, <mover>
oder <munderover>
-Elements erfolgen, nicht nur für die Unterschrift oder Überschrift.
Großer Operator und Grenzen
Bisher wurde unser Beispiel tatsächlich mit dem display="block"
Attribut gerendert. Schauen wir uns das gleiche Beispiel an, wie es ohne dieses Attribut gerendert wird:
Wie erwartet ist die Formel nicht mehr zentriert und die Darstellung ist so geändert, dass die Höhe minimiert wird. Konzentriert man sich auf das Summationssymbol, kann man feststellen, dass das Sigma kleiner gezeichnet und die Skripte des <munderover>
-Elements nun als Tiefstellung und Hochstellung angehängt 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 Unterschriften und Überschriften, die dem Operator angehängt sind, werden als Tiefstellung und Hochstellung gerendert, wenn das
<math>
-Tag nicht dasdisplay="block"
Attribut hat.
Hinweis: Die largeop-Eigenschaft ist tatsächlich nicht mit Skripten verbunden, obwohl Operatoren mit dieser Eigenschaft typischerweise geskriptet werden. Die movablelimits-Eigenschaft wird auch für <munder>
und <mover>
-Elemente berücksichtigt.
Zusammenfassung
In diesem Artikel haben wir das grundlegende Layout abgeschlossen, indem wir die Elemente <msub>
, <msup>
, <msubsup>
, <munder>
, <mover>
, <munderover>
für Tief- und Hochstellungen, Unterschriften und Überschriften eingeführt haben. Mit diesen Elementen konnten wir kurz neue Eigenschaften des <mo>
-Elements einführen. Im nächsten Artikel werden wir uns weiterhin auf Tabellenlayout konzentrieren.