MathML - 快速指南


MathML - 概述

MathML 代表数学标记语言,是一个基于 XML 的应用程序。它用于描述数学和科学符号。它的第 1 版和第 2 版由数学工作组创建和开发,数学工作组是最古老的 W3C 工作组之一,于 1996 年至 2004 年期间创建和开发。MathML 版本 3 是在数学工作组的第二个活动期间(2006-2016)创建的,是一个 ISO 标准。

网络数学

MathML 基于 XML,具有有限数量的标签,可用于根据格式及其语义来标记数学方程。MathML 旨在捕获语法的含义以及方程的格式。考虑到数学方程通常对许多应用程序都有意义,因此使用 MathML 编写数学方程可以处理方程的格式和含义。MathML 提供低级格式来描述数学,作为机器对机器通信的基础。

代数系统、印刷排字机等各种应用程序可以使用 MathML 来编码数学符号以实现高质量的视觉显示,而数学内容和科学软件、语音合成器可以使用 MathML 来实现语义。

MathML 提供了两种表示数学符号的方法。

  • 演示方式- 它使用 mrow、mi、mo 等标记标签以及数学运算符等。

  • 语义方式- 它使用标记标签,如 apply、eq、power 等。

我们使用 MathJax 库来呈现 MathML 语法,以便它可以在所有主要浏览器上运行。目前它仅支持演示方式。

示例:演示方式

句法

<math xmlns = "http://www.w3.org/1998/Math/MathML">
   <mrow>
      <mrow>
         <msup> <mi>x</mi> <mn>2</mn> </msup> <mo>+</mo>
         <mrow>
            <mn>4</mn>
            <mo>⁢</mo>
            <mi>x</mi>
         </mrow>
         <mo>+</mo>
         <mn>4</mn>
      </mrow>
      
      <mo>=</mo>
      <mn>0</mn>
   </mrow>
</math>

输出

X 2 + 4 X + 4 = 0

MathML - 所有元素

  • <maction> - 提供将操作绑定到子表达式/表达式的选项。

  • <math> - 它是顶级或根级元素,用于封装 MathML 实例的每个实例。每个有效的 MathML 表达式都应包含在外部 <math> 标记中。它可以包含任意数量的子元素。一个数学元素不能包含另一个数学元素标签。

  • <menclose> - 将其内容呈现在由 notation 属性指定的封闭符号内。

  • <merror> - 用于将内容显示为错误消息。

  • <mfenced> - 提供向表达式添加自定义左括号和右括号以及分隔符的选项。

  • <mfrac> - 用于显示分数。

  • <mglyph> - 用于显示现有 Unicode 字符不可用的非标准符号。

  • <mi> - 用于指定标识符,例如变量、函数或常量的名称等。例如, <mi>PI</mi> 。

  • <mlabeledtr> - 用于使用 mtable 的 side 属性表示行中左侧或右侧的标签。mlabeledtr 的子元素必须是 mtd 元素。

  • <mmultiscripts> - 提供创建类似张量对象的选项。

  • <mn> - 用于指定数字文字,如 3.14 等。例如,<mn>3.14</mn>。

  • <mo> - 用于指定 +、- 等运算符。例如,<mo>+</mo>。

  • <mover> - 用于在表达式上附加重音或限制。

  • <mppped> - 用于添加额外的填充并设置所包含内容的位置和大小的常规调整。

  • <mphantom> - 用于创建不可见渲染的空间,保持高度、宽度和基线位置不变。

  • <mroot> - 用于显示具有显式索引的根。

  • <mrow> - 用于以水平方式对任意数量的子表达式进行分组。

  • <ms> - 用于表示由编程语言和计算机代数系统解释的字符串文字。

  • <mspace> - 用于显示空白空间,其大小是使用其属性设置的。

  • <msqrt> - 用于显示平方根。

  • <mstyle> - 用于将样式应用于其子项。

  • <msub> - 用于将下标附加到表达式。它使用以下语法:<msub>基下标</msub>。

  • <msubsup> - 用于将下标和上标一起附加到表达式。它使用以下语法:<msubsup> 基下标上标 </msubsup>。

  • <msup> - 用于将上标附加到表达式。它使用以下语法:msup 基上标 </msup>。

  • <mtable> - 提供创建表或矩阵的选项。

  • <mtd> - 表示表或矩阵中的单元格。

  • <mtext> - 用于呈现没有符号含义的文本,例如注释或注释。

  • <mtr> - 表示表或矩阵中的一行。

  • <munder> - 提供在表达式下附加重音或限制的选项。它使用以下语法:<munder> 基本下标 </munder>

  • <munderover> - 提供在表达式下方和上方附加重音或限制的选项。它使用以下语法: </munderover> 基下标 上标 </munderover>

  • <semantics> - <semantics>、<annotation> 和 <annotation-xml> 用于添加表示和内容标记,并提供布局信息和数学表达式的语义。

MathML - 基本元素

MathML 表达式有五个基本元素。

  • <math> 元素- 它是顶级或根级元素,用于封装 MathML 实例的每个实例。每个有效的 MathML 表达式都应包含在外部 <math> 标记中。它可以包含任意数量的子元素。一个数学元素不能包含另一个数学元素标签。

  • <mrow> 元素- 用于以水平方式对任意数量的子表达式进行分组。

  • <mi> 元素- 用于指定标识符,例如变量、函数或常量的名称等。例如, <mi>PI</mi> 。

  • <mo> 元素- 用于指定 +、- 等运算符。例如,<mo>+</mo>。

  • <mn> 元素- 用于指定数字文字,如 3.14 等。例如,<mn>3.14</mn>。

例子

让我们使用 MathML 表示法构建一个简单的数学方程 a + b = 5。

第 1 步:识别

这里a、b是变量。+ 是运算符,5 是数字。我们将它们封装为 <mi>a</mi> 、 <mi>b</mi> 、 <mo>+</mo> 和 <mn>+</mn>

第 2 步:构建表达式,a + b。

句法

<math xmlns = "http://www.w3.org/1998/Math/MathML">
   <mrow>  
      <mi>a</mi>  
      <mo>+</mo>  
      <mi>b</mi>  
   </mrow>
</math>

输出

A +

第 3 步:构建表达式,a + b = 5。

<math xmlns = "http://www.w3.org/1998/Math/MathML">
   <mrow> 
      <mrow>  
         <mi>a</mi>  
         <mo>+</mo>  
         <mi>b</mi>  
      </mrow>
      <mo>=</mo>  
      <mn>5</mn>  
   </mrow>
</math>

输出

A + = 5

MathML - 进位

<mscarries> 元素可用于创建初等数学中出现的进位、借位和划掉。mscarries 的子级与 mstack 的下一行中的元素相关联。mscarries 的每个子级(<mscarry> 或 <none> 除外)均被视为被 mscarry 隐式包围。当特定列不需要进位时使用 <none>。mscarries 元素将 displaystyle 设置为false,并将scriptlevel加 1,因此子项通常以较小的字体显示。

句法

这是使用此标签的简单语法 -

<mscarries> expression <mscarry> <none/> </mscarry> </mscarries>

参数

这是该标签所有参数的描述 -

  • 表达式- 要应用进位/借位的表达式。

  • mscarry - 携带标签。

属性

这是该标签所有属性的描述 -

  • position - 指定该组中行相对于包含的 msgroup 确定的位置的水平位置。

  • location - 指定进位或借位相对于相关列中其下方字符的位置。值为 w、nw、n、ne、e、se、s、sw。

  • crossout - 指定如何划掉每个进位下面的列内容;可以给出一个或多个值并且绘制所有值。值为无、向上对角线打击、向下对角线打击、垂直打击、水平打击。默认为无。

  • scriptsizemultiplier - 指定更改字体大小的因子。

例子

<math xmlns = "http://www.w3.org/1998/Math/MathML">
   <mstack>
      <mscarries crossout='updiagonalstrike'>
         <mn>2</mn>
         <mn>12</mn>  
         <mscarry crossout='none'>
            <none/> 
         </mscarry>
      </mscarries>
      <mn>2,327</mn>
      
      <msrow>
         <mo>-</mo> 
         <mn> 1,156</mn> 
      </msrow>
      <msline/>
      <mn>1,171</mn>
   </mstack>
</math>

输出

2 12 2,327 - 1,156 1,171

MathML - 封闭

<menclose> 标签用于呈现由其符号属性指定的封闭符号内的内容。它接受单个参数作为多个子项的推断。

句法

这是使用此标签的简单语法 -

<menclose> expression </menclose>

参数

这是该标签所有参数的描述 -

  • 表达式- 表达式。

属性

这是该标签所有属性的描述 -

  • notation - 指定用于包围子项的空格分隔的符号列表。有效值为 longdiv、精算、相角、根式、box、roundedbox、circle、left、right、top、bottom、updiagonalstrike、downdiagonalstrike、verticalstrike、horizo​​ntalstrike、northarrow、madruwb、文本。默认为 longdiv。

例子

<math xmlns = "http://www.w3.org/1998/Math/MathML">
   <mi>C</mi>
   <mrow>
      <menclose notation = 'phasorangle'>
         <mrow>
            <mo>−</mo>
            <mfrac>
               <mi>π</mi>
               <mn>2</mn>
            </mfrac>
         </mrow>
      </menclose>
   </mrow>
</math>

输出

C - π 2

MathML - 击剑

<mfenced> 标签是使用大括号、方括号和括号等屏蔽运算符的便捷方法,而不是使用 <mo> 标签。

句法

这是使用此标签的简单语法 -

<mfenced> expression </mfenced>

参数

这是该标签所有参数的描述 -

  • 表达式- 表达式。

属性

这是该标签所有属性的描述 -

  • open - 指定开始分隔符。默认为“(”。

  • close - 指定结束分隔符。默认为“)”。

  • 分隔符- 指定零个或多个分隔符字符的序列,可以选择用空格分隔。默认为“,”。

例子

示例 1:没有 <mfenced> 标签

<math xmlns = "http://www.w3.org/1998/Math/MathML">
   <mrow>
      <mo>(</mo>
      <mi>x</mi>
      <mo>)</mo>
   </mrow>
</math>

输出

X

示例 2:使用 <mfenced> 标签

<math xmlns = "http://www.w3.org/1998/Math/MathML">
   <mfenced>
      <mi>x</mi>
   </mfenced>
</math>

输出

X

示例 3:f(x,y)

<math xmlns = "http://www.w3.org/1998/Math/MathML">
   <mrow>
      <mi> f </mi>
      <mo> ⁡</mo>
      <mfenced>
         <mi> x </mi>
         <mi> y </mi>
      </mfenced>
   </mrow>
</math>

输出

F X y

示例 4:(a+b)

<math xmlns = "http://www.w3.org/1998/Math/MathML">
   <mfenced>
      <mrow>
         <mi> a </mi>
         <mo> + </mo>
         <mi> b </mi>
      </mrow>
   </mfenced>
</math>

输出

A +

示例 5:[0,1)

<math xmlns = "http://www.w3.org/1998/Math/MathML">
   <mfenced open="[">
      <mn> 0 </mn>
      <mn> 1 </mn>
   </mfenced>
</math>

输出

0 1

MathML - 分数

<mfrac> 标签用于绘制分数。

句法

这是使用此标签的简单语法 -

<mfrac> numerator denominator </mfrac>

参数

这是该标签所有参数的描述 -

  • 分子- 分数的分子。

  • 分母- 分数的分母。

属性

这是该标签所有属性的描述 -

  • linethickness - 指定分数条的笔画宽度。值以 px、pt、em 等为单位进行测量。

  • numalign - 指定分子的对齐方式。值是左、右或中心。

  • denomalign - 指定分母的对齐方式。值是左、右或中心。

  • bevelled - 指定分数是垂直显示还是内嵌显示。值是 true 或 false。

例子

让我们画一个简单的分数 1/x。

<math xmlns = "http://www.w3.org/1998/Math/MathML">
   <mfrac>
      <mn>1</mn>
      <mi>x</mi>
   </mfrac>
</math>

输出

1 X

让我们构建一个复数分数。

<math xmlns = "http://www.w3.org/1998/Math/MathML">
   <mfrac linethickness = '3px'>
      <mfrac bevelled = 'true'>
         <mn>1</mn>
         <mi>x</mi>
      </mfrac>
      
      <mrow>
         <mi>y</mi>
         <mo>-</mo>
         <mn>2</mn>
      </mrow>
   </mfrac>
</math>

输出

1 X y - 2

MathML - 长除法

<mlongdiv> 标签用于绘制长除法。

句法

这是使用此标签的简单语法 -

<mlongdiv> divisor dividend result expression </mlongdiv>

参数

这是该标签所有参数的描述 -

  • 除数- 长除法的除数。

  • 红利- 长除法的红利。

  • result - 长除法的结果。

  • 表达式- mstack 元素或 mstack 的子元素。

属性

这是该标签所有属性的描述 -

  • longdivstyle - 控制长除法布局的样式。有效值为 lefttop、stackedrightright、mediumstackedrightright、shortstackedrightright、righttop、left/\right、left)(right、:right=right、stackedleftleft、stackedleftlinetop。默认值为 lefttop。

例子

让我们画一个简单的分数 1/x。

<math xmlns = "http://www.w3.org/1998/Math/MathML">
   <mlongdiv longdivstyle = "lefttop">
      <mn> 3 </mn>
      <mn> 435.3</mn>
      <mn> 1306</mn>
      <msgroup position = "2" shift = "-1">
         <msgroup>
            <mn> 12</mn>
            <msline length = "2"/>
         </msgroup>
         
         <msgroup>
            <mn> 10</mn>
            <mn> 9</mn>
            <msline length = "2"/>
         </msgroup>
         
         <msgroup>
            <mn> 16</mn>
            <mn> 15</mn>
            <msline length = "2"/>
            <mn> 1.0</mn>           
         </msgroup>   
         
         <msgroup position='-1'>   
            <mn> 9</mn>
            <msline length = "3"/>
            <mn> 1</mn>
         </msgroup>
      </msgroup>
   </mlongdiv>
</math>

输出

3 435.3 1306 12 10 9 16 15 1.0 9 1

MathML - 矩阵

<mtable>标签用于绘制矩阵。

句法

mtable 类似于 HTML 的 table 标签,该标签使用 mtr、mtd 元素,类似于 HTML 的 tr 和 td 标签。

<mtable> <mtr> <mtd></mtd></mtr></mfrac>

属性

这是该标签所有属性的描述 -

  • align - 指定表格的垂直对齐方式。有效值为:轴、基线、底部、中心、顶部。默认为轴。

  • class, id, style - 与样式表一起使用。

  • columnalign - 指定单元格的水平对齐方式。有效值为:左、中、右。默认为中心。

  • columnlines - 指定列边框。有效值为:无、实线和虚线。默认为无。

  • columnspacing - 指定表列之间的空间。

  • displaystyle - 如果为 true,则使用更多垂直空间来显示方程,如果为 false,则使用更紧凑的布局来显示公式。

  • 框架- 指定整个表格的边框。有效值为:无、实线和虚线。默认为无。

  • 框架间距- 指定在表格和框架之间添加的额外空间。

  • href - 指定指向指定 uri 的超链接。

  • mathbackground - 指定背景颜色。有效格式为 #rgb、#rrggbb 和 html 颜色名称。

  • mathcolor - 指定文本颜色。有效格式为 #rgb、#rrggbb 和 html 颜色名称。

  • rowalign - 指定单元格的垂直对齐方式。有效值为轴、基线、底部、中心和顶部。默认为基线

  • rowlines - 指定行边框。有效值为:无、实线和虚线。默认为无。

  • width - 指定整个表格的宽度。

例子

让我们画一个 3 x 3 的度量。

<math xmlns = "http://www.w3.org/1998/Math/MathML">
   <mrow>
      <mo>[</mo>
      <mtable>
         <mtr>
            <mtd><mn>1</mn></mtd>
            <mtd><mn>0</mn></mtd>
            <mtd><mn>0</mn></mtd>
         </mtr>
         
         <mtr>
            <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>1</mn></mtd>
         </mtr>
      </mtable>
      <mo>]</mo>
   </mrow>
</math> 

输出

[ 1 0 0 0 1 0 0 0 1 ]

MathML - 乘法

<msgroup> 用于对 <mstack> 元素和 <mlongdiv> 元素内的行进行分组,以具有相对于堆栈对齐的位置。具有shift属性的<msgroup>元素可用于创建简单的乘法。

句法

这是使用此标签的简单语法 -

<msgroup> expression </msgroup>

参数

这是该标签所有参数的描述 -

  • 表达式- 表达式。

属性

这是该标签所有属性的描述 -

  • position - 指定组内行相对于包含的 msgroup 控制的位置的水平位置(根据其位置和移位属性)。默认值为 0。

  • shift - 指定组内连续子项(行或组)的位置增量移动。默认值为 0。

例子

<math xmlns = "http://www.w3.org/1998/Math/MathML">
   <mstack>
      <msgroup>
         <mn>123</mn>
         <msrow>
            <mo>×</mo>
            <mn>321</mn>
         </msrow>
      </msgroup>
      <msline/>
      
      <msgroup shift = "1">
         <mn>123</mn>
         <mn>246</mn>
         <mn>369</mn>
      </msgroup>
      <msline/>
      <mn>39483</mn>
   </mstack>
</math>

输出

123 × 321 123 246 第369章 39483

MathML - 上标

<mover>标签用于绘制上标。它在表达式上添加重音或限制。

句法

这是使用此标签的简单语法 -

<mover> base overscript </mover>

参数

这是该标签所有参数的描述 -

  • base - 要在其上绘制上标的基本表达式。

  • 上标- 上标。

属性

这是该标签所有属性的描述 -

  • 重音- 如果为 true,则上方脚本是重音,并且更接近基本表达式。如果为 false,则覆盖脚本是对基本表达式的限制。默认为 false。

  • 对齐- 指定上方脚本的对齐方式。有效值为:左、中、右。

  • class, id, style - 与样式表一起使用。

  • href - 指定指向指定 uri 的超链接。

  • mathbackground - 指定背景颜色。有效格式为 #rgb、#rrggbb 和 html 颜色名称。

  • mathcolor - 指定文本颜色。有效格式为 #rgb、#rrggbb 和 html 颜色名称。

例子

我们来画一个上标吧。

<math xmlns = "http://www.w3.org/1998/Math/MathML">
   <mover accent = "true">    
     <mrow>    
       <mi> x </mi>    
       <mo> + </mo>    
       <mi> y </mi>    
       <mo> + </mo>    
       <mi> z </mi>    
     </mrow>    
     <mo>&#x23DE;</mo>    
   </mover>
</math>

输出

X + y + z

MathML - 填充

<mpadded> 元素用于在其内容周围添加填充或额外空间。它可用于调整大小和定位,例如负填充,这可能会导致 mplated 的内容与相邻内容的渲染重叠。

句法

这是使用此标签的简单语法 -

<mpadded> expression </mpadded>

参数

这是该标签所有参数的描述 -

  • 表达式- 推断多个子项的 mrow。

属性

这是该标签所有属性的描述 -

  • height - 设置或增加 mppped 元素的高度。

  • 深度- 设置或增加 mppped 元素的深度。

  • width - 设置或增加 mppped 元素的宽度。

  • lspace - 设置子内容的水平空间。

  • voffset - 设置子内容的垂直空间。

例子

实施例1

<math xmlns = "http://www.w3.org/1998/Math/MathML">
   <mrow>
      <mi>x</mi>
      <mpadded lspace = "0.2em" voffset = "0.3ex">
         <mi>y</mi>
      </mpadded>
      <mi>z</mi>
   </mrow>
</math>

输出

X y z

实施例2

<math xmlns = "http://www.w3.org/1998/Math/MathML">
   <mrow>
      <mi>x</mi>
      <mpadded width = "+90%width" height = "+0.3ex" depth = "+0.3ex">
         <mi>y</mi>
      </mpadded>
      <mi>z</mi>
   </mrow>
</math>

输出

X y z

实施例3

<math xmlns = "http://www.w3.org/1998/Math/MathML">
   <mrow>
      <mi>x</mi>
      <mpadded lspace = "0.3em" width = "+0.6em">
         <mi>y</mi>
      </mpadded>
      <mi>z</mi>
   </mrow>
</math>

输出

X y z

MathML - 幻影

<mphantom> 元素以不可见方式呈现,保持相同的大小和其他尺寸(包括基线位置),就像其内容正常呈现时一样。它用于通过不可见的重复子表达式来对齐表达式的各个部分。

句法

这是使用此标签的简单语法 -

<mphantom> expression </mphantom>

参数

这是该标签所有参数的描述 -

  • 表达式- 推断多个子项的 mrow。

属性

这是该标签所有属性的描述 -

  • mathbackground - 指定背景颜色。有效格式为 #rgb、#rrggbb 和 html 颜色名称。

例子

<math xmlns = "http://www.w3.org/1998/Math/MathML">
   <mfrac>
      <mrow>
         <mi> x </mi>
         <mo> + </mo>
         <mi> y </mi>
         <mo> + </mo>
         <mi> z </mi>
      </mrow>
      
      <mrow>
         <mi> x </mi>
         <mphantom>
            <mo> + </mo>
         </mphantom>
         
         <mphantom>
            <mi> y </mi>
         </mphantom>
         <mo> + </mo>
         <mi> z </mi>
      </mrow>
   </mfrac>
</math>  

输出

X + y + z X + y + z

MathML - 根式

msqrt 和 mroot 元素构造部首。msqrt 元素构造平方根,而 mroot 元素构造带索引的根式,例如立方根。

<msqrt> 元素

<msqrt> 标签用于计算平方根。

句法

这是使用此标签的简单语法 -

<msqrt> base </msqrt>

参数

这是该标签所有参数的描述 -

  • base - 要绘制平方根的基表达式。

属性

这是该标签所有属性的描述 -

  • mathbackground - 指定背景颜色。有效格式为 #rgb、#rrggbb 和 html 颜色名称。

  • mathcolor - 指定文本颜色。有效格式为 #rgb、#rrggbb 和 html 颜色名称。

例子

我们来画一个平方根。

<math xmlns = "http://www.w3.org/1998/Math/MathML">
   <msqrt>  
      <mn>4</mn>  
   </msqrt>
</math>

输出

4

<mroot> 元素

<mroot> 标签用于绘制带有索引的部首。

句法

这是使用此标签的简单语法 -

<mroot> base index </mroot>

参数

这是该标签所有参数的描述 -

  • base - 要绘制平方根的基表达式。

  • index - 要绘制的根的索引。

属性

这是该标签所有属性的描述 -

  • mathbackground - 指定背景颜色。有效格式为 #rgb、#rrggbb 和 html 颜色名称。

  • mathcolor - 指定文本颜色。有效格式为 #rgb、#rrggbb 和 html 颜色名称。

例子

我们来画一个立方根。

<math xmlns = "http://www.w3.org/1998/Math/MathML">
   <mroot>  
      <mn>8</mn>  
      <mn>3</mn>  
   </mroot>
</math> 

输出

8 3

MathML - 重复小数

具有无限重复数字的十进制数(例如 1/3 (.3333...))通过在重复数字上方或下方放置一条水平线来表示。<mstack> 、 <msrow> 和 <msline> 元素可用于创建具有重复数字的十进制数字,如下所示。

例子

实施例1

<math xmlns = "http://www.w3.org/1998/Math/MathML">
   <mstack stackalign = "right">
      <msline length = "1"/>
      <mn> 0.3333 </mn>
   </mstack>
</math>

输出

0.3333

实施例2

<math xmlns = "http://www.w3.org/1998/Math/MathML">
   <mstack stackalign="right">
      <msline length="6"/>
      <mn> 0.142857 </mn>
   </mstack>
</math> 

输出

0.142857

实施例3

<math xmlns = "http://www.w3.org/1998/Math/MathML">
   <mstack stackalign="right">   
      <mn> 0.142857 </mn>
      <msline length="6"/>
   </mstack>
</math> 

输出

0.142857

MathML - 风格

<mstyle> 标签用于进行影响其内容呈现的样式更改。

句法

这是使用此标签的简单语法 -

<mstyle> expression </mstyle>

参数

这是该标签所有参数的描述 -

  • 表达式- 推断的 mrow 元素。

属性

这是该标签所有属性的描述 -

  • scriptlevel - 指定子级的脚本级别。如果没有符号,则将 scriptlevel 设置为指定值;使用符号可增加(“+”)或减少(“-”)当前值。

  • displaystyle - 指定显示样式。

  • scriptsizemultiplier - 指定由于脚本级别的变化而用于调整字体大小的乘数。

  • scriptminsize - 指定由于脚本级别更改而允许的最小字体大小。

  • infixlinebreakstyle - 指定用于中缀运算符的默认换行样式。

  • decimalpoint - 当“decimalpoint”值用于指定对齐时,指定用于确定 <mstack> 和 <mtable> 列中的对齐点的字符。默认为“.”。

例子

示例 1:没有 <mstyle> 标签

<math xmlns = "http://www.w3.org/1998/Math/MathML">
   <mrow>
      <mo maxsize = "100%"> ( </mo>
      <mfrac> 
         <mi> a </mi> 
         <mi> b </mi> 
      </mfrac>
      <mo maxsize = "100%"> ) </mo>
   </mrow>
</math>

输出

A

示例 2:使用 <mstyle> 标签

<math xmlns = "http://www.w3.org/1998/Math/MathML">
   <mstyle maxsize = "100%">
      <mrow>
         <mo> ( </mo>
         <mfrac> 
            <mi> a </mi> 
            <mi> b </mi> 
         </mfrac>
         <mo> ) </mo>
      </mrow>
   </mstyle>
</math>

输出

A

MathML - 下标

<msub> 标签用于绘制表达式的下标。

句法

这是使用此标签的简单语法 -

<msub> base subscript </msub>

参数

这是该标签所有参数的描述 -

  • base - 要绘制下标的基本表达式。

  • 下标- 下标。

属性

这是该标签所有属性的描述 -

  • subscriptshift - 指定将下标移动到表达式基线下方的最小空间。

  • class, id, style - 与样式表一起使用。

  • href - 指定指向指定 uri 的超链接。

  • mathbackground - 指定背景颜色。有效格式为 #rgb、#rrggbb 和 html 颜色名称。

  • mathcolor - 指定文本颜色。有效格式为 #rgb、#rrggbb 和 html 颜色名称。

例子

我们来画一个下标。

<math xmlns = "http://www.w3.org/1998/Math/MathML">
   <msub>  
      <mi>x</mi>  
      <mn>1</mn>  
   </msub>
</math> 

输出

X 1

MathML - 下标-上标

<msubsup> 标签用于将下标和上标附加到表达式。

句法

这是使用此标签的简单语法 -

<msubsup> base subscript superscript</msubsup>

参数

这是该标签所有参数的描述 -

  • base - 要绘制下标和上标的基本表达式。

  • 下标- 下标。

  • 上标- 上标。

属性

这是该标签所有属性的描述 -

  • subscriptshift - 指定将下标移动到表达式基线下方的最小空间。

  • superscriptshift - 指定将上标移动到表达式基线上方的最小空间。

例子

让我们画一个下标和上标。

<math xmlns = "http://www.w3.org/1998/Math/MathML">
   <mrow>
      <msubsup>
         <mo> ∫</mo>
         <mn> 0 </mn>
         <mn> 1 </mn>
      </msubsup>
      
      <mrow>
         <msup>
            <mi> e</mi>
            <mi> x </mi>
         </msup>
         <mo> ⁢</mo>
         
         <mrow>
            <mi> d</mi>
            <mi> x </mi>
         </mrow>
      </mrow>
   </mrow>
</math> 

输出

0 1 e X d X

MathML - 上标

<msup> 标签用于将上标绘制到表达式中。

句法

这是使用此标签的简单语法 -

<msup> base superscript </msup>

参数

这是该标签所有参数的描述 -

  • base - 要绘制上标的基本表达式。

  • 上标- 上标。

属性

这是该标签所有属性的描述 -

  • superscriptshift - 指定将上标移动到表达式基线上方的最小空间。

  • class, id, style - 与样式表一起使用。

  • href - 指定指向指定 uri 的超链接。

  • mathbackground - 指定背景颜色。有效格式为 #rgb、#rrggbb 和 html 颜色名称。

  • mathcolor - 指定文本颜色。有效格式为 #rgb、#rrggbb 和 html 颜色名称。

例子

我们来画一个上标。

<math xmlns = "http://www.w3.org/1998/Math/MathML">
   <msup>  
      <mi>x</mi>  
      <mn>1</mn>  
   </msup>
</math> 

输出

X 1

对子表达式进行分组

使用 mrow 可以在上标中添加子表达式。

<math xmlns = "http://www.w3.org/1998/Math/MathML">
   <msup>  
      <mi>e</mi>  
      <mrow>  
         <mn>2</mn>  
         <mi>x</mi>  
         <mo>+</mo>  
         <mn>1</mn>  
      </mrow>   
   </msup>
</math>   

输出

e 2 X + 1

MathML - 下标

<munder> 标签用于绘制下标。它在表达式下添加重音或限制。

句法

这是使用此标签的简单语法 -

<munder> base underscript </munder>

参数

这是该标签所有参数的描述 -

  • base - 要绘制下标的基本表达式。

  • 下标- 下标。

属性

这是该标签所有属性的描述 -

  • accentunder - 如果为 true,则下标是重音,并且更接近基本表达式。如果为 false,则下标是对基本表达式的限制。默认为 false。

  • align - 指定下标的对齐方式。有效值为:左、中、右。

  • class, id, style - 与样式表一起使用。

  • href - 指定指向指定 uri 的超链接。

  • mathbackground - 指定背景颜色。有效格式为 #rgb、#rrggbb 和 html 颜色名称。

  • mathcolor - 指定文本颜色。有效格式为 #rgb、#rrggbb 和 html 颜色名称。

例子

我们来画一个下标。

<math xmlns = "http://www.w3.org/1998/Math/MathML">
   <munder accent="true">    
     <mrow>    
       <mi> x </mi>    
       <mo> + </mo>    
       <mi> y </mi>    
       <mo> + </mo>    
       <mi> z </mi>    
     </mrow>    
     <mo>&#x23F;</mo>    
   </munder>
</math>

输出

X + y + z ſ

MathML - 下标-上标

<munderover> 标签用于在下标上方和下方绘制。它在表达式之上和之下添加重音或限制。

句法

这是使用此标签的简单语法 -

<munderover> base underscript overscript </munderover>

参数

这是该标签所有参数的描述 -

  • base - 要绘制下标的基本表达式。

  • 下标- 下标。

  • 上标- 上标。

属性

这是该标签所有属性的描述 -

  • 重音- 如果为 true,则上方脚本是重音,并且更接近基本表达式。如果为 false,则覆盖脚本是对基本表达式的限制。默认为 false。

  • accentunder - 如果为 true,则下标是重音,并且更接近基本表达式。如果为 false,则下标是对基本表达式的限制。默认为 false。

  • align - 指定下标的对齐方式。有效值为:左、中、右。默认为中心。

例子

我们来画一个下标。

<math xmlns = "http://www.w3.org/1998/Math/MathML">
   <mrow>
      <munderover>
         <mo> &#x222B;</mo>
         <mn> 0 </mn>
         <mi> &#x221E;</mi>
      </munderover>
   </mrow>
</math>

输出

0 无穷大

MathML - 代数符号

以下是 MathML 中可用的代数符号列表。

数学符号 HTML实体 十六进制代码 描述
- &减; 指定减法
× × × 指定乘法
÷ &划分; ÷ 指定划分
指定不等于
指定约等于
< < < 指定小于
指定小于或等于
> > > 指定大于
指定大于或等于
± + ± 指定加号或减号
&支柱; 指定比例为
Σ &和; 指定求和
&产品; 指定产品
<地板; 指定左楼层
&r地板; 指定正确楼层
指定左上限
指定右上限

MathML - 微积分符号

以下是 MathML 中可用的微积分符号列表。

数学符号 HTML实体 十六进制代码 描述
&主要的; 素数(一阶导数)
&主要的; 双素数(二阶导数)
三素数(三阶导数)
&部分; 指定偏微分
δ &三角洲; Δ 指定增量
&del; 指定渐变
指定积分
指定二重积分
&着色; 指定三重积分
指定四重积分
&继续; 指定轮廓积分
指定顺时针轮廓积分
指定逆时针轮廓积分
&继续; 指定曲面积分
…… 指定体积积分
无穷大 指定无穷大

MathML - 省略号

以下是 MathML 中可用的省略号符号的列表。

数学符号 超文本标记语言