MathML Brüche und Wurzeln

Basierend auf Textcontainern beschreibt dieser Artikel, wie man komplexere MathML-Ausdrücke erstellt, indem Brüche und Wurzeln geschachtelt werden.

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

Im Artikel Einführung in MathML haben wir bereits das <mfrac>-Element kennengelernt, um einen Bruch darzustellen. 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 ist ein 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 Balken.
  • Das <msqrt> wird als Quadratwurzel dargestellt: seine Kinder werden wie ein <mrow> angeordnet, wobei sie von einem Wurzelsymbol √ und vollständig von einem Überbalken bedeckt werden.
  • Schließlich wird das <mroot>-Element als n-te Wurzel dargestellt: Das erste Element wird vom Radikalsymbol bedeckt, während das zweite Element als Grad der Wurzel verwendet wird und als Präfix-Superskript dargestellt 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. Wenn Sie fertig sind, können Sie den Quelltext der MathML-Formel inspizieren und überprüfen, ob er Ihren Erwartungen entspricht.

Dehnbare Radikalsymbole

Wie zuvor gesehen, dehnt sich der Überbalken der <msqrt>- und <mroot>-Elemente horizontal aus, um ihren Inhalt zu bedecken. Tatsächlich dehnt sich jedoch auch das Wurzelsymbol √, um ebenso 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: Spezielle Mathematik-Schriftarten sind in der Regel erforderlich, um dieses Dehnen zu ermöglichen. Das vorherige Beispiel basiert auf Web-Schriftarten.

Brüche ohne Balken

Einige mathematische Konzepte werden manchmal mit bruchähnlichen Notationen geschrieben, wie 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 Balken 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 Attribut linethickness verwendet werden kann, um eine beliebige Dicke festzulegen, ist es besser, den Standardwert beizubehalten, der aus in der Mathe-Schriftart festgelegten Parametern berechnet wird.

Zusammenfassung

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

Siehe auch