나무모에 미러 (일반/밝은 화면)
최근 수정 시각 : 2026-10-28 11:12:03

MathML


이 문서는 토막글입니다.

토막글 규정을 유의하시기 바랍니다.


1. 개요2. 역사
2.1. MathML 3.02.2. MathML Core2.3. MathML 4.0
3. scheme
3.1. Presentation markup
3.1.1. 태그
3.2. Content markup
4. combined markup
4.1. mixed markup4.2. parallel markup
5. 팁

1. 개요

수학·과학 표기 및 그 의미론을 전산 환경에서 표현하기 위한 W3C 표준.

2. 역사

2.1. MathML 3.0

흔히 망했다고 놀림받는 바로 그 표준으로, 보통 2014년의 3.0 2판 스펙을 말한다.

2.2. MathML Core

w3.org/TR/mathml-core

MathML 3.0의 presentation markup을 기반으로 구체적인 렌더링 스펙이나 현대적인 DOM 처리 등 구현 지침을 대거 추가해 개편한 경량 스펙. 여기서 경량이라 한 이유는 content markup의 의미론은 포함하지 않는 스펙이기 때문이다. 실질적으로 웹 브라우저에서 실용적으로 구현할 수 있을 만큼만 잘라내고 개선한 표준인 것.

덕분에 욕만 처먹던 MathML 3.0에 비해 2026년 현재는 나름 메이저 브라우저에서 지원되고 있다.

mathvariants가 deprecated되었다. 아예 다 나간 건 아닌데 사실상 <mi>에만 남고 그마저도 normal만 지원하면서# 사실상 사라졌다. 현재 최신 Chrome에서는 깨지고 Firefox에서는 deprecation log가 출력되는 상황. 그 대안이랍시고 MathML Core 스펙에서 권장하는 것은 Mathematical Alphanumeric Symbols나 유니코드의 Variantion selector를 쓰라는 것.강요받고 있는 거다! 참고로 예전 MathML 3 스펙#에서는 "normal" | "bold" | "italic" | "bold-italic" | "double-struck" | "bold-fraktur" | "script" | "bold-script" | "fraktur" | "sans-serif" | "bold-sans-serif" | "sans-serif-italic" | "sans-serif-bold-italic" | "monospace" | "initial" | "tailed" | "looped" | "stretched"와 같은 variant가 내장 지원되었다.

2.3. MathML 4.0

w3.org/TR/mathml4

아직 W3C WD 상태. 사실상 MathML Core와 함께 디자인되었으며 궁극적으로는 content markup 등까지 포괄하는 full spec이자 MathML Core의 superset 격이라고 할 수 있다.

3. scheme

3.1. Presentation markup

MathML Core 기준.

3.1.1. 태그

3.2. Content markup

4. combined markup

4.1. mixed markup

4.2. parallel markup

<semantics /> 태그를 사용한다. 정말 쉽게 생각하면 HTML과 CSS의 관계처럼 parallel하게 inject했다고 생각하면 좋은 편.

5. 팁

폰트가 안 예쁘다고 느껴지면 STIX two를 써보자. TeX 내장 폰트도 기본적인 presentation 지원은 되지만 <mfenced />나 <munder />에 &UnderBrace;를 쓰는 등 조금만 레이아웃이 복잡해져도 수준이 확 떨어진다.