MathML: matematické vzorce v XML a HTML

MathML zapisuje matematické výrazy značkami. Presentation MathML popisuje sazbu, zatímco Content MathML zachycuje matematickou strukturu a význam operací.

Autor: Aktualizováno

Zlomek

Mi označuje identifikátor, mn číslo, mo operátor, mrow skupinu a mfrac zlomek se dvěma potomky. Namespace patří MathML. Ukázka prezentuje zlomek x + 1 děleno 2.

Zlomek
<math xmlns="http://www.w3.org/1998/Math/MathML">
 <mfrac><mrow><mi>x</mi><mo>+</mo><mn>1</mn></mrow><mn>2</mn></mfrac>
</math>

Textová a přístupná reprezentace

MathML zachovává strukturu lépe než samotný obrázek rovnice. Přesto testuj čitelnost, fonty, zoom a asistivní technologie v cílovém prostředí. Samotný XML validátor matematiku nevyrenderuje.

Verze a prohlížeče

MathML 3.0 (druhé vydání) je doporučení z roku 2014. MathML Core je užší profil pro implementace prohlížečů; ověřený publikovaný snapshot z 24. 6. 2025 má status Candidate Recommendation, ne hotové Recommendation. Nepředpokládej podporu všech prvků Content MathML podle podpory Core.

Časté chyby

HTML entity nejsou všechny předdefinované v samostatném XML; matematický znak použij přímo nebo číselným odkazem. Latex není MathML: převod vyžaduje nástroj a kontrolu výsledku. Nezaměňuj syntaktickou validaci s matematickou správností výrazu.

Živý výsledek a dvě vrstvy významu

Prezentovaný zlomek může prohlížeč vykreslit přímo; stejné značky z ukázky dávají tento výsledek:

x+12

Pokud se vzorec nezobrazí jako zlomek, ověř podporu MathML a fonty cílového prostředí. Značky mfrac/mrow popisují prezentaci: čitatel je skupina x+1 a jmenovatel 2. Mfrac vyžaduje dva argumenty; vynechaný jmenovatel není jen stylistická odchylka.

Další prezentace: x na druhou plus jedna
<math xmlns="http://www.w3.org/1998/Math/MathML"><msup><mi>x</mi><mn>2</mn></msup><mo>+</mo><mn>1</mn></math>

Msup má základ a exponent. Presentation MathML určuje uspořádání notace, Content MathML se zaměřuje na operace a matematický význam. Z prezentace nelze vždy automaticky odvodit jediné algebraické vyjádření. Pro matematický výpočet proto potřebuješ aplikaci a její model; XML parser žádnou rovnici nevyřeší.

V HTML vlož math přímo do obsahu a používej podporované konstrukce MathML Core. V samostatném XML dodej namespace a XML syntaxi. Přístupnost ověř skutečným čtením a zvětšením v cílovém prohlížeči. Verze a elementy dokumentuje MathML 3 a profil implementace MathML Core.