一、MathML简介
MathML指“数学标记语言”,是XML语言的一个子集,用来在web网页,甚至部分软件中显示数学公式。
简言之,就是使用特殊的类似HTML的标记在网页中显示数学公式。
因为有些数学公式很复杂,普通HTML根本没法驾驭,例如下面这个公式:
都有哪些MathML标记呢?可以看下面的定义列表说明(非原文访问会数学公式排版异常):
1. 按类别分类的MathML表现元素
顶级元素
<math>
用在最外部包裹,表示里面的都是数学公式。例如,就一个变量x
,则有:
<math><mi>x</mi></math>
效果是: x
记号元素
<mglyph>
有些现存的Unicode字符是不可用的,此时就可以使用<mglyph>
替换显示,可以理解为MathML世界中的图片元素,支持width
, height
以及alt
等属性。例如:
<math> <mi><mglyph src="my-glyph.png" alt="my glyph"/></mi> </math>
<mi>
mi
是’math identifier’的缩写,字面意思数学标识符,多指函数名,变量或者符号常量。示意(下面标识符之间无任何关联,仅仅示意语义):
<math> <mi> y </mi> <mi> sin </mi> <mi mathvariant="monospace"> x </mi> <mi mathvariant="bold"> π </mi> </math>
效果是: y sin x π
<mn>
mn
是’math number’的缩写,表示数值,支持各种数值。示意(仅示意,无关联):
<math> <mn> 0 </mn> <mn> 1.337 </mn> <mn> twelve </mn> <mn> XVI </mn> <mn> 2e10 </mn> </math>
效果是: 0 1.337 twelve XVI 2e10
<mo>
mn
是’math operators’的缩写,表示数学操作符,例如加减乘除,各种括号,分号等。示意:
<math> <mrow> <mn>5</mn> <mo>+</mo> <mn>5</mn> </mrow> <mrow> <mo> [ </mo> <mrow> <mn> 0 </mn> <mo> ; </mo> <mn> 1 </mn> </mrow> <mo> ) </mo> </mrow> </math>
效果是: 5 + 5 [ 0 ; 1 )
<ms>
ms
是’math string literal’的缩写,表示一个字符串文字,这个字符串需要由编程语言和计算机代数系统来解释。默认情况下,字符串文字显示为用双引号括起来("
); 通过使用lquote
和rquote
属性,您可以设置要显示的自定义字符。示意:
<math> <ms lquote="„" rquote="“"> abc </ms> </math>
效果是: abc
<mspace>
mspace
是’math space’的缩写,表示空白间距,其尺寸可以通过width
, height
以及depth
等尺寸控制。示意:
<math> <mi>x</mi> <mspace width="40px"></mspace> <mi>y</mi> </math>
效果是: xy
<mtext>
MathML <mtext>
元素用于呈现没有符号含义的任意文本,例如注释或注解。示意:
<math> <mtext> 毕达哥拉斯定理 </mtext> &l