MathML 表格

在瞭解了所有基礎數學符號後,接下來需要考慮表格佈局,這可用於類似矩陣的表示式和其他高階數學佈局。

MathML 表格元素

MathML 表格元素與 HTML 表格 相似:<mtable> 元素代表一個數學表格,它的子元素是 <mtr> 元素(代表行),而每一行又包含 <mtd> 元素作為子元素(代表單元格)。<mtable> 元素可以插入到 MathML 公式中的任何位置。<mtd> 元素可以包含任意數量的 MathML 子元素,並將它們佈局為一個 <mrow> 容器。

表格通常用於類似矩陣的表示式(包括向量)。以下是一個取自關於 CSS matrix() 函式的文章中的基本示例:

html
<math display="block">
  <mrow>
    <mo>(</mo>
    <mtable>
      <mtr>
        <mtd>
          <mi>a</mi>
        </mtd>
        <mtd>
          <mi>c</mi>
        </mtd>
        <mtd>
          <mn>0</mn>
        </mtd>
        <mtd>
          <msub>
            <mi>t</mi>
            <mi>x</mi>
          </msub>
        </mtd>
      </mtr>
      <mtr>
        <mtd>
          <mi>b</mi>
        </mtd>
        <mtd>
          <mi>d</mi>
        </mtd>
        <mtd>
          <mn>0</mn>
        </mtd>
        <mtd>
          <msub>
            <mi>t</mi>
            <mi>y</mi>
          </msub>
        </mtd>
      </mtr>
      <mtr>
        <mtd>
          <mn>0</mn>
        </mtd>
        <mtd>
          <mn>0</mn>
        </mtd>
        <mtd>
          <mn>1</mn>
        </mtd>
        <mtd>
          <mn>0</mn>
        </mtd>
      </mtr>
      <mtr>
        <mtd>
          <mn>0</mn>
        </mtd>
        <mtd>
          <mn>0</mn>
        </mtd>
        <mtd>
          <mn>0</mn>
        </mtd>
        <mtd>
          <mn>1</mn>
        </mtd>
      </mtr>
    </mtable>
    <mo>)</mo>
  </mrow>
</math>

允許單元格跨越多行和多列

這同樣與 HTML 表格 類似。<mtd> 元素接受 columnspanrowspan 屬性,用於指示單元格跨越多個行和列。下方內部矩陣跨越了外部矩陣的兩列。

注意: 出於歷史原因,MathML 中用於列跨越的屬性名為 columnspan,而不是 colspan

用於高階佈局的用法

除了表示類似矩陣的物件外,MathML 表格有時也用於數學公式內的複雜佈局,例如在 維基百科的勒讓德符號定義 中。在此,不同的情況寫在三行中,而值和條件則放置在兩列中。

警告: <mtable> 文章 透過特殊屬性(如對齊或間距)提供了更高階的佈局選項。這些屬性起源於 CSS 等效項之前,最初是為非 CSS 感知的渲染器設計的。但是,這些屬性可能並未在所有瀏覽器中實現。未來,<mtable> 用於純佈局目的(即非實際的類似矩陣的物件)很可能被基於 CSS 的替代方案取代。

總結

在本篇文章中,我們回顧了 <mtable><mtr><mtd> 元素,它們是 HTML 中表格元素的對應項。我們瞭解瞭如何使用它們來表示類似矩陣的物件,以及它們有時如何用於複雜的佈局。

您幾乎完成了本模組的學習——我們只剩最後一件事要做。在 三個著名的數學公式評估 中,您將運用新知識,使用 HTML 和 MathML 重寫一篇小數學文章。

另見