MathML

MathML eli matemaattinen merkintäkieli (sanoista Mathematical Markup Language) on XML:n sovellus, jolla voidaan esittää matemaattisia symboleja ja kaavoja. Tarkoituksena on sisällyttää verkkosivuihin matemaattisia kaavoja. MathML on W3C:n suositus. Viimeisin virallinen versio on MathML 3, mutta se on todettu hankalaksi tukea, joten sen tilalle on kehitetty MathML Core, joka keskittyy olennaisiin osiin MathML-koodia. Se on vasta luonnosvaiheessa. Seuraava luonnosvaiheessa oleva laaja standardi tulee olemaan MathML 4. ==Historia== Ensimmäinen määrittelyversio 1.01 julkaistiin heinäkuussa 1999 ja versio 2.0 ilmestyi helmikuussa 2001. Lokakuussa 2003 MathML:n versio 2.0 julkaistiin lopullisena versiona. Tällä hetkellä viimeisin voimassa oleva suositus on MathML 3, joka julkaistiin vuonna 2014. MathML kehitettiin ennen XML:n nimiavaruuksia. Siksi MathML ei usein käytä nimiavaruuksia ja ohjelmat, jotka käsittelevät MathML:ää, kuten Mozilla-selain, eivät vaadi nimiavaruuksien määrittämistä. Ohjelmissa, jotka käyttävät nimiavaruuksia MathML:ssä, suositeltu nimiavaruus-URI on http://www.w3.org/1998/Math/MathML. ==Esitys ja merkitys== XML:n tavoin MathML ei kuvaa ainoastaan esitysmuotoa, vaan se voi myös sisältää kaavojen osien merkityksen. Tämä jälkimmäinen osa tunnetaan nimellä MathML-Content (content tarkoittaa sisältöä). Koska laskua tai kaavaa säilytetään erillään esityksestä se, miten sisällyksen tarkoitus kerrotaan, jätetään käyttäjälle. Esimerkiksi nettisivut, jotka sisältävät MathML:llä toteutetun kaavan, voidaan näyttää normaaleina sivuina monilla eri selaimilla, mutta ruudunlukuohjelma voi lukea näkövammaiselle käyttäjälle saman MathML:n ääneen. Esimerkiksi käyttäen MathPlayer-lisäosaa Internet Explorerissa tai lataamalla MathCAT-lisäosan ruudunlukijaansa (tällä hetkellä saatavilla NVDA- ruudunlukijalle). ==Esimerkki== Tunnettu toisen asteen yhtälön ratkaisukaava :x = \frac{-b \pm \sqrt{b^2 - 4ac}}{2a} merkittäisiin TeX-syntaksilla näin: x = \frac{-b \pm \sqrt{b^2 - 4ac}}{2a} Ja MathML:llä näin: x = - b ± b 2 - 4 ⁢ a ⁢ c 2 ⁢ a Vaikka MathML-merkintä on TeX-esitystä pidempi, XML-muotoilu laajentaa merkinnän käsittelyä ohjelmallisesti ja mahdollistaa tulostuksen erilaisissa ohjelmissa kuten esimerkiksi selaimessa. MathML-koodia ei ole tarkoitettu suoraan ihmisen muokattavaksi. ==Ohjelmistotuki== ===Editorit=== Suoran MathML tuki (mm. MathML:n leikkauksen ja liimauksen) sisältäviä editoreja ovat julkaisseet Wolfram Research (Publicon) ja Soft4science (SciWriter). MathML:ää tukevia toimisto-ohjelmistoja ovat muun muassa LibreOffice ja KOffice ja matemaattisista ohjelmistoista Mathematica. ===Muunto=== Monia muunto-ohjelmia matemaattisen ilmaisun muuntamiseen MathML:ksi on markkinoilla, sisältäen muuntajia TeXin ja MathML:n välillä. ConTeXt kääntää MathML:n TeXiin (käyttökohteena pdf-tiedostot). Design Sciencen MathTypellä voi WYSIWYG- editorissa käsiteltyjä kaavoja muuntaa MathML:ksi. Wolfram Research tarjoaa nettisivun kirjoitettujen kaavojen kääntämiseksi MathML:ksi. GNU TeXmacs on WYSIWYG-editori, joka luotu matematiikan esitystä silmällä pitäen. MathML- muuntajia on kumpaankin suuntaan. TeXmacsia voidaan käyttää kirjoittamaan matemaattisia XHTML-artikkeleita, jotka sisältävät MathML:ää. Amaya, W3C:n selain-editori voidaan myös mainita wysiwyg-MathML-editorina. ===Selaimet=== Tammikuusta 2023 lähtien yleisimmät selaimet, kuten Mozilla Firefox, Google Chrome ja Microsoft Edge tukevat MathML-koodin esittämistä. Visuaalinen esitys kuitenkin vaihtelee näiden selainten välillä. ==Muita standardeja== OpenMath on standardi, joka on pikemminkin suunniteltu sisältämään kaavan tarkoituksen, mutta sitä voidaan käyttää myös MathML:n lisänä. OpenMathin suunnittelijat ovat suurimmaksi osaksi osallistuneet MathML-Contentin suunnitteluun. == Lähteet == ==Aiheesta muualla == * W3C Math Home -sisältää määrittelyn ja listan MathML:ää tukevista ohjelmista * Viimeisimmät MathML suositukset * Zvon MathML Reference * GNU TeXmacs -ilmainen wysiswyg editori * MathType * MathPlayer – Design Sciensen plugin, jolla Internet Explorer pystyy näyttämään MathML:llä muodostetun kaavan * MathCAT-lisäosa NVDA-ruudunlukijalle, jolla voi kuunnella ja lukea MathML-koodilla muodostetun kaavan . * MathFlow XML workflow tools to interpret, create, edit, and export MathML. * MathML Central * Native MathML lisäosa Mozilla Firefox verkkoselaimeen. * itexToMML * ASCIIMath – JavaScript kirjasto wiki-tyypisen syntaksin muuntamiseksi MathML:ksi * LaTeXMathML – JavaScript ohjelma, joka dynaamisesti muuttaa LaTeX matematiikka notaation MathML:ksi Luokka:W3C-standardit Luokka:XML Luokka:Matemaattiset merkintäkielet