MathML-Brüche und -Wurzeln

Unter Verwendung von Textcontainern beschreibt dieser Artikel, wie man komplexere MathML-Ausdrücke erstellt, indem man Brüche und Wurzeln verschachtelt.

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

Im Artikel Erste Schritte mit MathML haben wir bereits das <mfrac>-Element kennengelernt, um einen Bruch zu beschreiben. Betrachten wir ein einfaches 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 gerendert wird: Das erste Kind (der Zähler) wird über dem zweiten Kind (der Nenner) gezeichnet, getrennt durch einen horizontalen Strich.
  • Das <msqrt> wird als Quadratwurzel gerendert: seine Kinder werden wie ein <mrow> angeordnet, vorangestellt von einem Wurzelsymbol √ und vollständig von einer Überline bedeckt.
  • Schließlich wird das <mroot>-Element als n-te Wurzel gerendert: Das erste Element wird vom Radikalsymbol bedeckt, während das zweite Element als Grad der Wurzel verwendet und als Präfix-Superscript gerendert wird.

Aktives Lernen: Verschachtelung 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 Quelltext der MathML-Formel inspizieren und überprüfen, ob er Ihrer Erwartung entspricht.

Dehnbare Radikalsymbole

Wie zuvor gesehen, dehnt sich die Überlinie der <msqrt>- und <mroot>-Elemente horizontal aus, um ihren Inhalt abzudecken. Tatsächlich dehnt sich auch das Wurzelsymbol √ aus, um so hoch wie der Inhalt zu sein.

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

Warnung: Spezielle Mathe-Fonts sind in der Regel erforderlich, um diese Dehnung zu ermöglichen, das vorherige Beispiel basiert auf Web-Fonts.

Brüche ohne Strich

Einige mathematische Konzepte werden manchmal mit bruchähnlichen Notationen geschrieben, wie zum Beispiel 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 ein 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 in der Mathe-Font angegebenen Parametern berechnet wird.

Zusammenfassung

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

Siehe auch