MathML Brüche und Wurzeln

In Anlehnung an Textcontainer beschreibt dieser Artikel, wie Sie komplexere MathML-Ausdrücke durch das Verschachteln von Brüchen und Wurzeln erstellen können.

Teilbäume von <mfrac>, <msqrt> und <mroot>

Im Artikel Erste Schritte mit MathML haben wir bereits das <mfrac>-Element kennengelernt, um einen Bruch darzustellen. Betrachten wir ein grundlegendes Beispiel, das neue Elemente für Wurzeln (<msqrt> und <mroot>) hinzufügt:

html
<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 sehen Sie einen Screenshot, wie es von einem Browser gerendert wird:

Screenshot von mfrac, msqrt, mroot

  • Wir wissen bereits, dass das <mfrac>-Element als Bruch dargestellt wird: Das erste Kind (der Zähler) wird über dem zweiten Kind (dem Nenner) gezeichnet, getrennt durch einen horizontalen Strich.
  • Das <msqrt> wird als Quadratwurzel dargestellt: seine Kinder werden ähnlich einem <mrow> angeordnet, dem ein Wurzelsymbol √ vorangestellt ist und vollständig von einem Überstrich abgedeckt wird.
  • Schließlich wird das <mroot>-Element als n-te Wurzel gerendert: Das erste Element wird vom Radikalsymbol abgedeckt, während das zweite Element als Grad der Wurzel verwendet und als Präfix-Superskript dargestellt wird.

Aktives Lernen: Verschachteln verschiedener Elemente

Hier ist eine Übung, um zu überprüfen, ob Sie die Beziehung zwischen einem MathML-Teilbaum und dessen visueller Darstellung verstanden haben. Das Dokument enthält eine MathML-Formel und Sie müssen alle Teilbäume überprüfen, die einem Teilbaum in dieser MathML-Formel entsprechen. Sobald Sie fertig sind, können Sie den Quellcode der MathML-Formel inspizieren und überprüfen, ob er Ihren Erwartungen entspricht.

Streckbare Radikalsymbole

Wie bereits zu sehen war, dehnt sich der Überstrich der <msqrt>- und <mroot>-Elemente horizontal aus, um ihren Inhalt zu bedecken. Tatsächlich streckt sich das Wurzelsymbol √ auch, um so hoch wie ihr Inhalt zu sein.

html
<math display="block">
  <mroot>
    <msqrt>
      <mfrac>
        <mn>1</mn>
        <mn>2</mn>
      </mfrac>
    </msqrt>
    <mn>3</mn>
  </mroot>
</math>

Warnung: Besondere Mathe-Schriftarten sind in der Regel erforderlich, um dieses Strecken zu ermöglichen. Das vorherige Beispiel basiert auf Web-Schriftarten.

Brüche ohne Strich

Einige mathematische Konzepte werden manchmal unter Verwendung von bruchähnlichen Notationen geschrieben, wie beispielsweise Binomialkoeffizienten oder Legendre-Symbole. Es ist angemessen, ein <mfrac>-Element zu verwenden, um solche Notationen zu markieren. Für bruchähnliche Notationen, die keinen horizontalen Strich zeichnen, fügen Sie dem <mfrac>-Element das Attribut linethickness="0" hinzu:

html
<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 den in der Mathe-Schriftart angegebenen Parametern berechnet wird.

Zusammenfassung

In dieser Lektion haben wir gesehen, wie man Brüche und Wurzeln mit den <mfrac>, <msqrt> und <mroot>-Elementen erstellt. Wir haben einige spezielle Merkmale dieser Elemente bemerkt, nämlich das Bruch- und Radikalsymbol. Wir haben gesehen, wie man das linethickness-Attribut verwendet, um Brüche ohne Striche zu zeichnen. Im nächsten Artikel werden wir mit grundlegenden mathematischen Notationen fortfahren und Skripte betrachten.

Siehe auch