MathML 是基于 XML 的数学标记语言,用于在网页中准确显示并语义化描述数学公式;分为呈现型(控制外观)和语义型(表达含义)两类,HTML5 原生支持,常借助 LaTeX 转换工具简化编写。

MathML 是“Mathematical Markup Language”的缩写,是一种基于 XML 的标准语言,用来在网页和其它文档中描述数学表达式。它的目标是让数学公式能在 浏览器 中正确显示,同时支持语义和结构信息,便于辅助技术(如读屏软件)理解内容。
MathML 的基本结构
MathML 使用 XML 的语法规则,所有标签都必须正确嵌套和闭合。它主要分为两类表达方式:
- 呈现型 MathML(Presentation MathML):关注公式如何显示,比如符号的位置和排版。
- 语义型 MathML(Content MathML):强调公式的意义,比如“x 加 2 等于 5”中的运算关系。
大多数实际应用中使用的是呈现型 MathML,因为它能精确控制公式的外观。
用 XML 表示数学公式的例子
以简单的数学公式“a + b”为例,其 Presentation MathML 代码如下:
说明:
- 是根元素,所有 MathML 公式都要包裹在其中,并声明命名空间。
-
表示标识符(identifier),通常用于变量,如 a、b、x 等。 -
表示操作符(operator),如 +、−、×、= 等。
MathML 与 HTML 的结合
现代 HTML5 原生支持 MathML,可以直接在网页中嵌入。例如:
a >html>
这段代码表示公式 x² + 1。其中:
-
用于上标,第一个子元素是底数,第二个是指数。 -
表示数字(number),如 2、1 等。
基本上就这些。MathML 通过定义一套标准的 XML 标签来描述数学符号和结构,使得公式既能被机器解析,也能在支持的环境中良好显示。虽然编写起来略显繁琐,但可通过 LaTeX 转换 工具(如 MathJax 或 KaTeX)自动生成,提升效率。