MathML 快速指南



MathML - 概述

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

网络上的数学

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

各种应用程序(如代数系统、打印排版程序)可以使用 MathML 编码高质量视觉显示的数学符号和数学内容,以及科学软件、语音合成器可以使用 MathML 进行语义处理。

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

  • **表示方式 (Presentational Way)** − 它使用诸如 mrow、mi、mo 等标记标签以及数学运算符等。

  • **语义方式 (Semantic Way)** − 它使用诸如 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> 标记中。它可以包含任意数量的子元素。一个 math 元素不能包含另一个 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> − 用于附加表达式的上方的重音符号或限制。

  • <mpadded> − 用于添加额外的填充,并设置封闭内容的位置和大小的一般调整。

  • <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> 标记中。它可以包含任意数量的子元素。一个 math 元素不能包含另一个 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 + b

步骤 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 + b = 5

MathML - 进位

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

语法

以下是使用此标签的简单语法:

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

参数

以下是此标签所有参数的描述:

  • 表达式 (expression) − 应用进位/借位的表达式。

  • mscarry − 进位标签。

属性

以下是此标签所有属性的描述:

  • position − 指定此组内行相对于包含 msgroup 确定的位置的水平位置。

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

  • crossout − 指定下方每个进位的列内容如何 **划掉**;可以给出多个值,所有值都会绘制。值为 none、updiagonalstrike、downdiagonalstrike、verticalstrike、horizontalstrike。默认为 none。

  • 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> 标签用于根据其 notation 属性指定的符号呈现封闭符号内的内容。它接受单个参数作为多个子元素的推断 mrow。

语法

以下是使用此标签的简单语法:

<menclose> expression </menclose>

参数

以下是此标签所有参数的描述:

  • 表达式 (expression) − 表达式。

属性

以下是此标签所有属性的描述:

  • notation − 指定要用于封闭子元素的空间分隔符号列表。有效值为 longdiv、actuarial、phasorangle、radical、box、roundedbox、circle、left、right、top、bottom、updiagonalstrike、downdiagonalstrike、verticalstrike、horizontalstrike、northeastarrow、madruwb、text。默认为 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>

参数

以下是此标签所有参数的描述:

  • 表达式 (expression) − 表达式。

属性

以下是此标签所有属性的描述:

  • open − 指定起始定界符。默认为 '('。

  • close − 指定结束定界符。默认为 ')'。

  • separators − 指定零个或多个分隔符字符的序列,这些字符可以由空格分隔。默认为 ','。

示例

示例 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 + b

示例 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>

参数

以下是此标签所有参数的描述:

  • 分子 (numerator) − 分数的分子。

  • 分母 (denominator) − 分数的分母。

属性

以下是此标签所有属性的描述:

  • linethickness − 指定分数线的笔划宽度。值以 px、pt、em 等为单位测量。

  • numalign − 指定分子的对齐方式。值为 left、right 或 center。

  • denomalign − 指定分母的对齐方式。值为 left、right 或 center。

  • 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>

参数

以下是此标签所有参数的描述:

  • 除数 (divisor) − 长除法的除数。

  • 被除数 (dividend) − 长除法的被除数。

  • 结果 (result) − 长除法的结果。

  • 表达式 (expression) − 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 − 指定表格的垂直对齐方式。有效值为:axis、baseline、bottom、center、top。默认值为 axis。

  • class、id、style − 用于样式表。

  • columnalign − 指定单元格的水平对齐方式。有效值为:left、center 和 right。默认值为 center。

  • columnlines − 指定列边框。有效值为:none、solid 和 dashed。默认值为 none。

  • columnspacing − 指定表格列之间的间距。

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

  • frame − 指定整个表格的边框。有效值为:none、solid 和 dashed。默认值为 none。

  • framespacing − 指定表格和边框之间添加的额外空间。

  • href − 指定指向指定 URI 的超链接。

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

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

  • rowalign − 指定单元格的垂直对齐方式。有效值为 axis、baseline、bottom、center 和 top。默认值为 baseline

  • rowlines − 指定行边框。有效值为:none、solid 和 dashed。默认值为 none。

  • 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>

参数

以下是此标签所有参数的描述:

  • 表达式 (expression) − 表达式。

属性

以下是此标签所有属性的描述:

  • position − 指定组内行相对于包含 msgroup(根据其 position 和 shift 属性)控制的位置的水平位置。默认值为 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 − 绘制上标的基表达式。

  • overscript − 上标。

属性

以下是此标签所有属性的描述:

  • accent − 如果为 true,则上标为重音符号,并绘制得更靠近基表达式。如果为 false,则上标为基表达式的限制。默认值为 false。

  • align − 指定上标的对齐方式。有效值为:left、center 和 right。

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

语法

以下是使用此标签的简单语法:

<mpadded> expression </mpadded>

参数

以下是此标签所有参数的描述:

  • expression − 推断的包含多个子元素的 mrow。

属性

以下是此标签所有属性的描述:

  • height − 设置或增加 mpadded 元素的高度。

  • depth − 设置或增加 mpadded 元素的深度。

  • width − 设置或增加 mpadded 元素的宽度。

  • 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>

参数

以下是此标签所有参数的描述:

  • expression − 推断的包含多个子元素的 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>

参数

以下是此标签所有参数的描述:

  • expression − 推断的 mrow 元素。

属性

以下是此标签所有属性的描述:

  • scriptlevel − 指定子元素的 scriptlevel。无符号时,它将 scriptlevel 设置为指定值;有符号时,它会增加 ("+") 或减少 ("-") 当前值。

  • displaystyle − 指定 displaystyle。

  • scriptsizemultiplier − 指定要用于调整字体大小的乘数,以应对 scriptlevel 的变化。

  • scriptminsize − 指定由于 scriptlevel 的变化而允许的最小字体大小。

  • infixlinebreakstyle − 指定用于中缀运算符的默认 linebreakstyle。

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

示例

示例 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 b )

示例 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 b )

MathML - 下标

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

语法

以下是使用此标签的简单语法:

<msub> base subscript </msub>

参数

以下是此标签所有参数的描述:

  • base − 绘制下标的基表达式。

  • subscript − 下标。

属性

以下是此标签所有属性的描述:

  • 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 − 绘制下标和上标的基表达式。

  • subscript − 下标。

  • superscript − 上标。

属性

以下是此标签所有属性的描述:

  • 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 − 绘制上标的基表达式。

  • superscript − 上标。

属性

以下是此标签所有属性的描述:

  • 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 − 绘制下标的基表达式。

  • underscript − 下标。

属性

以下是此标签所有属性的描述:

  • accentunder − 如果为 true,则下标为重音符号,并绘制得更靠近基表达式。如果为 false,则下标为基表达式的限制。默认值为 false。

  • align − 指定下标的对齐方式。有效值为:left、center 和 right。

  • 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 − 绘制下标的基表达式。

  • underscript − 下标。

  • overscript − 上标。

属性

以下是此标签所有属性的描述:

  • accent − 如果为 true,则上标为重音符号,并绘制得更靠近基表达式。如果为 false,则上标为基表达式的限制。默认值为 false。

  • accentunder − 如果为 true,则下标为重音符号,并绘制得更靠近基表达式。如果为 false,则下标为基表达式的限制。默认值为 false。

  • align − 指定下标的对齐方式。有效值为:left、center 和 right。默认值为 center。

示例

让我们绘制一个下标。

<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 中可用的代数符号列表。

MathML 符号 HTML 实体 十六进制代码 描述
- &minus; &#x2212; 指定减法
× &times; &#x00d7; 指定乘法
÷ &divide; &#x00f7; 指定除法
&ne; &#x2260; 指定不相等
&asymp; &#x2248; 指定近似相等
< &lt; &#x003c; 指定小于
&le; &#x2264; 指定小于或等于
> &gt; &#x003e; 指定大于
&ge; &#x2265; 指定大于或等于
± &plusmn; &#x00b1; 指定正负
&prop; &#x221d; 指定正比于
&sum; &#x2211; 指定求和
&prod; &#x220f; 指定乘积
&lfloor; &#x230a; 指定左下括号
&rfloor; &#x230b; 指定右下括号
&lceil; &#x2308; 指定左上括号
&rceil; &#x2309; 指定右上括号

MathML - 微积分符号

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

MathML 符号 HTML 实体 十六进制代码 描述
&prime; &#x2032; 撇号(一阶导数)
&prime; &#x2033; 双撇号(二阶导数)
&tprime; &#x2034; 三撇号(三阶导数)
&part; &#x2202; 指定偏微分
δ &delta; &#x0394; 指定增量
&del; &#x2207; 指定梯度
&int; &#x222b; 指定积分
&int; &#x222c; 指定二重积分
&tint; &#x222d; 指定三重积分
&qint; &#x2a0c; 指定四重积分
&conint; &#x222e; 指定轮廓积分
&cwconint; &#x2232; 指定顺时针轮廓积分
&awconint; &#x2233; 指定逆时针轮廓积分
&conint; &#x222f; 指定曲面积分
&cconint; &#x2230; 指定体积分
&infin; &#x221e; 指定无穷大

MathML - 省略号符号

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

MathML 符号 HTML 实体 十六进制代码 描述
&hellip; &#x2026; 指定水平省略号
&vellip; &#x22ee; 指定垂直省略号
&ctdot; &#x22ef; 指定中间水平省略号
&utdot; &#x22f0; 指定对角省略号
&dtdot; &#x22f1; 指定右下对角省略号

MathML - 函数符号

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

MathML 符号 HTML 实体 十六进制代码 描述
&sdot; &#x22c5; 指定点积
&cross; &#x2a2f; 指定叉积
&vert; &#x2016; 指定范数(大小)条
&lang; &#x27e8; 指定左角括号
&rang; &#x27e9; 指定右角括号
&compfn; &#x2218; 指定函数复合
&rarr; &#x2192; 指定一般函数映射
&mapsto; &#x21a6; 指定具体函数映射
ı &imath; &#x0131; 指定无点的 i
ȷ &jmath; &#x0237; 指定无点的 j

MathML - 几何符号

以下是 MathML 中可用的几何符号列表。

MathML 符号 HTML 实体 十六进制代码 描述
° &deg; &#x00b0; 指定度数
&ang; &#x2220; 指定角度
&angmsd; &#x2221; 指定测量角度
&angrt; &#x221f; 指定直角
&vangrt; &#x299c; 指定带正方形的直角
&lrtri; &#x22bf; 指定直角三角形
&cir; &#x25cb; 指定圆形
&xutri; &#x25b3; 指定三角形
&squ; &#x25a1; 指定正方形
&fltns; &#x25b1; 指定平行四边形
&spar; &#x2225; 指定平行
&npar; &#x2226; 指定不平行
&perp; &#x22a5; 指定垂直
&cong; &#x2245; 指定全等
&rarr; &#x2192; 指定射线 (与<mover>一起使用)
&harr; &#x2194; 指定直线 (与<mover>一起使用)
- (不适用) &#x002d; 指定线段 (与<mover>一起使用)

MathML - 希腊字母

以下是MathML中可用的希腊字母列表。

大写字母 (C) 小写字母 (S) 实体(C) 实体(S) 十六进制代码(C) 十六进制代码(S)
Α α &alpha; &alpha; &#x0391; &#x03b1;
Β β &beta; &beta; &#x0392; &#x03b2;
Γ γ &gamma; &gamma; &#x0393; &#x03b3;
Δ δ &delta; &delta; &#x0394; &#x03b4;
Ε ε &epsilon; &epsilon; &#x0395; &#x03b5;
Ζ ζ &zeta; &zeta; &#x0396; &#x03b6;
Η η &eta; &eta; &#x0397; &#x03b7;
Θ θ &theta; &theta; &#x0398; &#x03b8;
Ι ι &iota; &iota; &#x0399; &#x03b9;
Κ κ &kappa; &kappa; &#x039a; &#x03ba;
Λ λ &lambda; &lambda; &#x039b; &#x03bb;
Μ μ &mu; &mu; &#x039c; &#x03bc;
Ν ν &nu; &nu; &#x039d; &#x03bd;
Ξ ξ &xi; &xi; &#x039e; &#x03be;
Ο ο &omicron; &omicron; &#x039f; &#x03bf;
Π π &pi; &pi; &#x03a0; &#x03c0;
Ρ ρ &rho; &rho; &#x03a1; &#x03c1;
Σ σ &sigma; &sigma; &#x03a3; &#x03c3;
Τ τ &tau; &tau; &#x03a4; &#x03c4;
Υ υ &upsilon; &upsilon; &#x03a5; &#x03c5;
Φ φ &phi; &phi; &#x03a6; &#x03c6;
Χ χ &chi; &chi; &#x03a7; &#x03c7;
Ψ ψ &psi; &psi; &#x03a8; &#x03c8;
Ω ω &omega; &omega; &#x03a9; &#x03c9;

MathML - 无形运算符

以下是MathML中可用的不可见运算符列表。

实体 简写实体 十六进制 描述
&applyfunction; &af; &#x2061; 用于指定函数应用
&invisibletimes; &it; &#x2062; 用于指定隐式乘法
&invisiblecomma; &ic; &#x2063; 用于指定隐式分隔符
(不适用) (不适用) &#x2064; 用于指定隐式加法

MathML - 逻辑符号

以下是MathML中可用的逻辑符号列表。

MathML 符号 HTML 实体 十六进制代码 描述
¬ &not; &#x00ac; 指定否定
&and; &#x2227; 指定逻辑合取
&or; &#x2228; 指定逻辑析取
&veebar; &#x22bb; 指定异或
&forall; &#x2200; 指定全称量词
&exist; &#x2203; 指定存在量词
&rarr; &#x21d2; 指定蕴含
&harr; &#x21d4; 指定等价
&emptysmallsquare; &#x25fb; 指定必然性
&loz; &#x25ca; 指定可能性
&vdash; &#x22a2; 指定可证明性
&vdash; &#x22a8; 指定蕴含
&there4; &#x2234; 指定因此

MathML - 集合符号

以下是MathML中可用的集合符号列表。

MathML 符号 HTML 实体 十六进制代码 描述
&empty; &#x2205; 指定空集
&isin; &#x2208; 指定集合的元素
&notin; &#x2209; 指定不是集合的元素
&sube; &#x2286; 指定子集
&nsube; &#x2288; 指定不是子集
&sub; &#x2282; 指定真子集
&nsub; &#x2284; 指定不是真子集
&supe; &#x2287; 指定超集
&nsupe; &#x2289; 指定不是超集
&sup; &#x2283; 指定真超集
&nsup; &#x2285; 指定不是真超集
&cap; &#x2229; 指定交集
&cup; &#x222a; 指定并集
&ssetmn; &#x2216; 指定补集
广告