MathML 表格

一旦掌握所有基本数学符号,就需要考虑表格布局,它可用于矩阵式表达式和其他高级数学布局。

先决条件 已安装基本软件,具备文件操作的基本知识,以及 HTML 基础(学习HTML 简介HTML 表格)。
目标 熟悉 MathML 表格元素并了解一些用例。

MathML 表格元素

MathML 表格元素与HTML 表格元素类似:<mtable> 元素代表数学表格,它的子元素是 <mtr> 元素(代表行),每个 <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 重写一篇简短的数学文章。

另请参阅