MathML 分數和根

本文介紹如何透過巢狀分數和根來構建更復雜的 MathML 表示式,這依賴於文字容器。

先決條件 已安裝基本軟體,瞭解檔案操作的基礎知識,以及 HTML 基礎知識(學習HTML 簡介)。
目標 熟悉用於編寫分數和平方根的 MathML 元素。

<mfrac>、<msqrt> 和 <mroot> 的子樹

MathML 入門文章中,我們已經瞭解了<mfrac> 元素來描述分數。讓我們考慮一個基本示例,該示例添加了用於根的新元素(<msqrt><mroot>)。

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>

以下是瀏覽器渲染方式的螢幕截圖

Screenshot of mfrac, msqrt, mroot

  • 我們已經知道<mfrac> 元素被渲染為分數:第一個子元素(分子)繪製在第二個子元素(分母)之上,並用水平線隔開。
  • <msqrt> 被渲染為平方根:它的子元素像一個<mrow>一樣佈局,前面帶有根號 √,並完全覆蓋在一個橫線上。
  • 最後,<mroot> 元素被渲染為 n 次根:第一個元素被根號覆蓋,而第二個元素用作根的次數,並作為字首上標渲染。

主動學習:巢狀不同的元素

這是一個簡單的練習,用於驗證您是否理解了 MathML 子樹與其視覺渲染之間的關係。該文件包含一個 MathML 公式,您必須檢查該 MathML 公式中子樹的所有對應子樹。完成後,您可以檢查 MathML 公式的原始碼,並驗證它是否符合您的預期。

可伸縮的根號

如前所述,<msqrt><mroot> 元素的橫線水平延伸以覆蓋其內容。但實際上,根號 √ 也延伸以與它們的內容一樣高。

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

警告:通常需要特殊的數學字型才能使這種拉伸成為可能,前面的示例依賴於網路字型

沒有橫線的分數

有些數學概念有時使用分數式表示法來書寫,例如二項式係數勒讓德符號。使用<mfrac> 元素來標記此類表示法是合適的。對於沒有繪製水平線的分數式表示法,請將linethickness="0" 屬性附加到<mfrac> 元素。

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>

注意:雖然linethickness 屬性可用於指定任意厚度,但最好保留預設值,該值根據數學字型中指定的引數計算得出。

總結

在本課中,我們瞭解瞭如何使用<mfrac><msqrt><mroot> 元素來構建分數和根。我們注意到這些元素的一些特殊功能,即分數和根號。我們瞭解瞭如何使用linethickness 屬性來繪製沒有橫線的分數。在下一篇文章中,我們將繼續討論基本數學符號,並考慮指令碼

另請參閱