Novinky v HTML5: úvod do specifikace MathML 3.0

7. 11. 2012
Doba čtení: 2 minuty

Sdílet

Nejen textem živ je člověk, někdy je potřeba víc než jen napsat prostý odstavec. Specifikace na zápis a vykreslování matematických rovnic a výpočtů MathML 3.0 je již nějakou dobu na světě, do širšího povědomí se začíná dostávat až v současné době, kdy pomalu začíná zesilovat jeho podpora v prohlížečích.

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 = lyr2 * cos α

  • Nyní se nám nabízí možnost použít MathML:

E = ly r2 * cos α

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.

bitcoin_skoleni

<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ů.

Autor článku

Martin Smola je studentem ČVUT, věnuje se programování, web-designu, grafice a psaní článků. Pracuje na vlastním projektu 4dgraph.com, který umožňuje sdílet fotky, grafiku a textury.