MathML Brüche und Wurzeln
Aufbauend auf Textcontainern, beschreibt dieser Artikel, wie komplexere MathML-Ausdrücke durch Verschachtelung von Brüchen und Wurzeln erstellt werden können.
Unterbäume von <mfrac>, <msqrt> und <mroot>
Im Artikel Einstieg in MathML haben wir bereits das <mfrac>
-Element kennengelernt, um einen Bruch zu beschreiben. Lassen Sie uns ein einfaches Beispiel betrachten, das neue Elemente für Wurzeln (<msqrt>
und <mroot>
) hinzufügt:
<math>
<mfrac>
<mtext>child1</mtext>
<mtext>child2</mtext>
</mfrac>
</math>
<br />
<math>
<msqrt>
<mtext>child1</mtext>
<mtext>child2</mtext>
<mtext>...</mtext>
<mtext>childN</mtext>
</msqrt>
</math>
<br />
<math>
<mroot>
<mtext>child1</mtext>
<mtext>child2</mtext>
</mroot>
</math>
Unten ist ein Screenshot, wie es von einem Browser gerendert wird:
- Wir wissen bereits, dass das
<mfrac>
-Element als Bruch gerendert wird: Das erste Kind (der Zähler) wird über dem zweiten Kind (dem Nenner) gezeichnet und durch einen horizontalen Balken getrennt. - Das
<msqrt>
wird als Quadratwurzel gerendert: seine Kinder werden wie ein<mrow>
angeordnet, dem ein Wurzelsymbol √ vorangestellt ist und das vollständig von einem Überstrich bedeckt wird. - Schließlich wird das
<mroot>
-Element als n-te Wurzel gerendert: Das erste Element ist vom Radikalsymbol bedeckt, während das zweite Element als Grad der Wurzel verwendet wird und als Präfix-Superskript gerendert wird.
Aktives Lernen: Verschachtelung verschiedener Elemente
Hier ist eine Übung, um zu überprüfen, ob Sie die Beziehung zwischen einem MathML-Unterbaum und seiner visuellen Darstellung verstanden haben. Das Dokument enthält eine MathML-Formel, und Sie müssen alle Unterbäume überprüfen, die einem Unterbaum in dieser MathML-Formel entsprechen. Sobald Sie fertig sind, können Sie den Quellcode der MathML-Formel überprüfen und sehen, ob er Ihren Erwartungen entspricht.
Stretchy-Radikalsymbole
Wie zuvor gesehen, dehnt sich der Überstrich der <msqrt>
- und <mroot>
-Elemente horizontal aus, um ihren Inhalt zu bedecken. Tatsächlich dehnt sich das Wurzelsymbol √ auch, um so hoch wie ihr Inhalt zu sein.
<math display="block">
<mroot>
<msqrt>
<mfrac>
<mn>1</mn>
<mn>2</mn>
</mfrac>
</msqrt>
<mn>3</mn>
</mroot>
</math>
Warnung: Spezielle Math-Schriftarten sind im Allgemeinen erforderlich, um diese Dehnung zu ermöglichen, das vorherige Beispiel basiert auf Web Fonts.
Brüche ohne Balken
Einige mathematische Konzepte werden manchmal mit bruchähnlichen Notationen geschrieben, wie Binomialkoeffizienten oder Legendresymbole. Es ist angebracht, ein <mfrac>
-Element zu verwenden, um solche Notationen zu markieren. Für bruchähnliche Notationen, die keinen horizontalen Balken zeichnen, fügen Sie dem <mfrac>
-Element ein linethickness="0"
-Attribut hinzu:
<math display="block">
<mrow>
<mo>(</mo>
<mfrac linethickness="0">
<mn>3</mn>
<mn>2</mn>
</mfrac>
<mo>)</mo>
</mrow>
<mo>=</mo>
<mn>3</mn>
<mo>≠</mo>
<mfrac>
<mn>3</mn>
<mn>2</mn>
</mfrac>
</math>
Hinweis:
Obwohl das linethickness
-Attribut verwendet werden kann, um eine beliebige Dicke anzugeben, ist es besser, den Standardwert beizubehalten, der aus in der Math-Schriftart angegebenen Parametern berechnet wird.
Zusammenfassung
In dieser Lektion haben wir gesehen, wie man Brüche und Wurzeln mithilfe der <mfrac>
, <msqrt>
und <mroot>
Elemente erstellt. Wir haben einige besondere Merkmale dieser Elemente bemerkt, nämlich das Bruch- und Radikalsymbol. Wir haben gesehen, wie man das linethickness
-Attribut verwendet, um Brüche ohne Balken zu zeichnen. Im nächsten Artikel werden wir mit grundlegenden mathematischen Notationen fortfahren und Skripte betrachten.