MathML 3.0 bylo vydáno jako doporučení konsorcia W3C v roce 2010. V podstatě jde o přepracování a dopracování MathML 2.0, které vyšlo již před lety. MathML je specifikace malého rozsahu, která umožňuje zapisovat matematické výrazy, vzorce apod. do webového dokumentu. Specifikace je důležitá především k publikování technických nebo výzkumných materiálů, skript a učebnic.
Tento díl seriálu bude sloužit především jako úvod do MathML.
S podporou v prohlížečích se to má následovně: (3.11.2012)
- Mozilla Firefox od verze 2.0 podporuje Math ML
- Internet Explorer nepodporuje, ani verze 10.0
- Google Chrome od verze 24
- Opera podporuje od verze 9.5, ale pouze částečně
- iOS Safari od verze 5.0
- Opera Mini ani Mobile nepodporují
- Chrome pro Android nepodporuje
- Firefox pro Android podporuje od verze 15.0
Ze současné podpory je viditelné, že pro řádné využití specifikace bude třeba si ještě nějakou chvíli počkat. Podpora postupně roste a vše napovídá tomu, že bude možno ji v budoucnu využít na všech známých prohlížečích.
Podle mého názoru jde o jednu z dlouho postrádaných možností webové publikace. Do doby před MathML a dá se říct, že i do dnes, pokud bychom chtěli podporu ve všech prohlížečích, bylo by nutné jakýkoli publikovaný vzorec buďto přepsat do formy, kterou nám umožňuje naše znaková sada, nebo vytvořit vzorec v jiném programu a do webového dokumentu ho vložit jako obrázek. Což však znesnadňuje jak jeho vytváření, tak jeho další využití.
Od vydání specifikace MathML 3.0 vzniklo několik Open Source programů, které slouží k vytváření matematických vzorců i přes neznalost MathML sémantiky.
Způsoby zápisu matematického vzorce do webového dokumentu:
- Vytvořením obrázku v nějakém editoru, tento příklad byl vytvořen například v MS Word
- Přepsáním do znaků, které nám dává k dispozici sada.
E = ly / r2 * cos α
- Další možnost, je simulovat vzorec, několikanásobným použitím značky <sub> a <sup>. Sub pro dolní index a sup pro horní.
E = ly ⁄ r2 * cos α
- Nyní se nám nabízí možnost použít MathML:
První značky:
MathML je v zásadě značkovací jazyk, jehož elementy obalujeme do značek pro ně určené, čímž definujeme jejich význam a způsob, jakým je prohlížeč vykreslí.
<math></math> Tímto tagem obalujeme celý matematický kód, který ho HTML vpisujeme.
<mi></mi> - Mathematics Identifier, neboli matematický identifikátor, slouží k definování proměnných
<mn></mn> - Math. Number - matematická číslice, obalujeme jím čísla v rovnicích.
<mo><mo> - Math. Operator - matematický operátor slouží k definici znamének +,-,*, =, (, ), apod...
Tohle je pouze ochutnávka a naznačení, jak vlastně jazyk vypadá a jak se s MathML zahází. V dalším díle se podíváme na celou řadu dalších tagů a na zápisy jednotlivých příkladů.