MathML是一种基于XML的语义化数学标记语言,分为Presentation MathML(控制显示)和Content MathML(表达含义),支持可缩放、可访问、可计算的公式描述,原生兼容Firefox/Safari,Chrome/Edge需借助MathJax等库。MathML 是一种专为网页设计的数学表达标准,本质是基于 XML 的标记语言,用来结构化描述数学符号和公式。它不是图片、不是纯文本拼凑,而是用语义化标签把公式拆解成可读、可缩放、可访问、可计算的机器友好格式。
MathML 的两种核心形式
它分为两类,用途不同但常配合使用:
-
Presentation MathML(表现型):专注“怎么显示”,用
(变量)、(数字)、(运算符)、(上标)、(分数)等标签控制视觉布局。例如a² + b² = c²要写成嵌套的 XML 结构。 -
Content MathML(内容型):专注“是什么意思”,用
、(content identifier)、等表达数学逻辑,便于计算机解析或代入计算,但浏览器原生支持极少,多用于专业工具链。
为什么用 XML 格式写公式
XML 提供了严格的层级结构和明确的语义标签,让每个数学成分都有身份:
- 公式不再是“一张图”,而是由
根元素包裹的树状结构; - 每个符号或操作都被赋予类型含义,比如
表示变量 x,x 表示数字 2;2 - 嵌套关系自然反映数学优先级与分组,如
明确表示“a 加 b”是一组。a + b
在 HTML 中怎么写 MathML
直接嵌入即可,无需额外编译:
- 必须以
开头声明命名空间; - 支持
display="inline"(行内)或display="block"(块级)控制排版; - Firefox 和 Safari 原生支持较好;Chrome 和 Edge 目前仅实验性支持,生产环境建议搭配 MathJax 或 KaTeX 渲染库保障一致性。
它解决了哪些实际问题
相比截图或 LaTeX 渲染图,MathML 带来的是底层能力升级:
- 公式随字体缩放不失真,适配高分屏和无障碍阅读;
- 屏幕阅读器能逐个朗读变量和运算,对视障用户友好;
- 搜索引擎可识别并索引公式语义,提升教育类内容可见性;
- 与 CSS 联动可统一调整颜色、间距、字体,维护成本低。









