MathML
보이기
MathML(Mathematical Markup Language)은 XML 응용 중 하나로 수학 수식을 표현하기 위한 마크업 언어이다. 수식을 월드 와이드 웹에서 표현하기 위해 만들어졌다. MathML은 단순한 수식의 표기 뿐 아니라 수식의 의미를 표현할 수도 있다.
예
이차 방정식의 근의 공식
은 LaTeX 문법으로는 다음처럼 나타낸다.
x = \frac{-b \pm \sqrt{b^2 - 4ac}}{2a}
또다른 문서 마크업 언어인 troff/eqn에서는 다음처럼 나타낸다.
x={-b +- sqrt{b sup 2 - 4ac}} over 2a
오픈오피스 수식편집에서는 다음 두 가지 방법으로 나타낸다.
x={-b plusminus sqrt {b^2 - 4 ac}} over {2 a} x={-b +- sqrt {b^2 - 4ac}} over 2a
이 수식을 표현 MathML로는 다음처럼 나타낼 수 있다.
<math xmlns="http://www.w3.org/1998/Math/MathML">
<mi>x</mi>
<mo>=</mo>
<mfrac>
<mrow>
<mrow>
<mo>-</mo>
<mi>b</mi>
</mrow>
<mo>±</mo>
<msqrt>
<msup>
<mi>b</mi>
<mn>2</mn>
</msup>
<mo>-</mo>
<mrow>
<mn>4</mn>
<mo>⁢</mo>
<mi>a</mi>
<mo>⁢</mo>
<mi>c</mi>
</mrow>
</msqrt>
</mrow>
<mrow>
<mn>2</mn>
<mo>⁢</mo>
<mi>a</mi>
</mrow>
</mfrac>
</math>
콘텐츠 MathML로는 다음과 같다.
<apply>
<eq/>
<ci>x</ci>
<apply>
<divide/>
<apply>
<csymbol>±</csymbol>
<apply>
<minus/>
<ci>b</ci>
</apply>
<apply>
<root/>
<degree><cn>2</cn></degree>
<apply>
<minus/>
<apply>
<power/>
<ci>b</ci>
<cn>2</cn>
</apply>
<apply>
<times/>
<cn>4</cn>
<ci>a</ci>
<ci>c</ci>
</apply>
</apply>
</apply>
</apply>
<apply>
<times/>
<cn>2</cn>
<ci>a</ci>
</apply>
</apply>
</apply>
지원 소프트웨어
편집기
최근에 발표된 마이크로소프트 워드, 오픈오피스 워드프로세서, HWP 등의 여러 문서 편집기에서 MathML을 지원하고 있다.
수식 입력 및 편집 전문 소프트웨어인 매스매직, MathType, 매스매티카, 메이플 등에서도 입력된 수식을 MathML 포맷으로 저장하거나, MathML 수식을 읽어들여 편집할 수 있도록 지원한다.
웹 브라우저
주요 웹 브라우저 중에서 최신 버전의 게코 엔진을 사용하는 브라우저(파이어폭스나 카미노 등)와 오페라 9.5 이상에서 지원하고 있다.
게코 엔진을 쓰는 브라우저에서 현재 제대로 기능을 지원받으려면 특별한 글꼴을 따로 다운로드받아야 한다.
오페라 브라우저에서느 MathML for CSS profile 기능을 지원하고 있다.