MathML
MathML eli matemaattinen kuvauskieli (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.
Sisällysluettelo
Historia[muokkaa | muokkaa wikitekstiä]
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.
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[muokkaa | muokkaa wikitekstiä]
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).
Esimerkki[muokkaa | muokkaa wikitekstiä]
Tunnettu toisen asteen yhtälön ratkaisukaava
merkittäisiin TeX-syntaksilla näin:
x = \frac{-b \pm \sqrt{b^2 - 4ac}}{2a}
Ja MathML:llä näin:
<math>
<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>
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[muokkaa | muokkaa wikitekstiä]
Editorit[muokkaa | muokkaa wikitekstiä]
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 OpenOffice ja KOffice ja matemaattisista ohjelmistoista Mathematica.
Muunto[muokkaa | muokkaa wikitekstiä]
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[muokkaa | muokkaa wikitekstiä]
Yleisimmistä selaimista vain Gecko-moottoria käyttävät selaimet (esimerkiksi Firefox ja Camino) osaavat sellaisinaan esittää MathML:ää. Muut selaimet tarvitsevat lisäosia MathML:n sisällön näyttämiseen.
Muita standardeja[muokkaa | muokkaa wikitekstiä]
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.
Aiheesta muualla[muokkaa | muokkaa wikitekstiä]
- W3C Math Home -sisältää määrittelyn ja listan MathML:ää tukevista ohjelmista (englanniksi)
- Viimeisimmät MathML suositukset (englanniksi)
- Zvon MathML Reference (englanniksi)
- MathML Mozillassa (englanniksi)
- GNU TeXmacs -ilmainen wysiswyg editori (englanniksi)
- MathType (englanniksi)
- MathPlayer — Design Sciensen plugin, jolla Internet Explorer pystyy näyttämään MathML:llä muodostetun kaavan (englanniksi)
- MathFlow XML workflow tools to interpret, create, edit, and export MathML. (englanniksi)
- MathML Central (englanniksi)
- OpenMath-standardi (englanniksi)
- GtkMathView — renderöintimoottori MathML:lle (englanniksi)
- Itex - LaTeX:n kaltainen kieli MathML:n (englanniksi)
- itexToMML (englanniksi)
- SciWriter — Tieteellinen XML:n pohjautuva editori natiivilla MathML tuella; tukee myös vientiä LaTeXinä (englanniksi)
- ASCIIMath — JavaScript kirjasto wiki-tyypisen syntaksin muuntamiseksi MathML:ksi (englanniksi)
- LaTeXMathML —JavaScript ohjelma, joka dynaamisesti muuttaa LaTeX matematiikka notaation MathML:ksi(englanniksi)