MathJax

Julkaistu

Tämän sivun ohjeet koskevat MathJaxin versiota 2.7.

MathJax on JavaScript-kirjasto, jolla voi esittää matemaattisia kaavoja verkkosivuilla. Kaavat kirjoitetaan LaTeX- tai MathML-koodina, ja MathJax esittää ne ensisijaisesti aitoina fontteina – ei siis kuvatiedostoina.

Esimerkiksi kirjoittamalla sivun muokkaustilassa \(\sin^2\alpha+\cos^2\alpha=1\) saadaan tulokseksi yhtälö \sin^2\alpha+\cos^2\alpha=1.

Numeroituja kaavarivejä voi tehdä LaTeXin ympäristöllä equation:

(1)   \begin{equation*} \oint_C(L\,dx+M\,dy) = \iint_D\left(\frac{\partial M}{\partial x} - \frac{\partial L}{\partial y}\right)\,dx\,dy. \end{equation*}

Myös viittaukset kaavariveihin komennoilla \label, \ref ja \eqref toimivat. MathJax tekee viittauksesta automaattisesti linkin kuten LaTeXin makropaketti hyperref. Esimerkiksi viittaus yhtälöön (1).

Suunnilleen kaikki LaTeXin matematiikkatilan sekä makropakettien amsmath ja amssymb komennot ja ympäristöt ovat käytettävissä MathJaxissa. Täydellinen lista löytyy MathJaxin käyttöohjeista.

Käyttöönotto

MathJax otetaan käyttöön lisäämällä seuraavat määritykset HTML-dokumentin head-elementtiin:

<script type="text/x-mathjax-config">
MathJax.Hub.Config({
  TeX: { 
    equationNumbers: { autoNumber: "AMS" },
    TagSide: "left",
    TagIndent: "0em"
  }
});
</script>
<script type="text/javascript" async
 src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/MathJax.js?
 config=TeX-AMS-MML_HTMLorMML"></script>

Yleensä MathJax ladataan osoitteesta https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/MathJax.js, mutta sen voi asentaa myös paikalliselle palvelimelle.

Ratkaisuja ongelmiin

MathJax ei oletusarvoisesti käytä dollarin merkkejä matematiikkatilan merkkeinä. Tarvittaessa ne saa käyttöön seuraavilla asetuksilla:

<script type="text/x-mathjax-config">
MathJax.Hub.Config({
  tex2jax: {
    inlineMath: [['$','$'],['\(','\)']],
    processEscapes: true
  }
});
</script>

Jos dollarin merkkiä tarvitaan tämän jälkeen muussa merkityksessä, sen voi kirjoittaa muodossa \$. Ongelmia voivat aiheuttaa lisäksi merkit <, > ja &, joilla on erityismerkitys HTML:ssä. Nämä voi tarvittaessa korvata HTML-entiteeteillä &lt;, &gt; ja &amp;. Myös komentoja \lt ja \gt voi käyttää.

Pitkien kaavojen automaattinen rivitys ei ole MathJaxissa oletusarvoisesti käytössä. Automaattisen rivityksen toiminta on vielä sen verran puutteellista, että suositeltavampi tapa on jakaa pitkät kaavat osiin tai katkoa ne LaTeXin rivinvaihtokomennolla \\. Komennot \allowbreak ja \linebreak eivät toimi MathJaxissa.

MathJax lataa matemaattisissa kaavoissa käytettävät fontit palvelimelta, kun niitä tarvitaan. Sivujen avautumista voi nopeuttaa ja kaavojen ulkoasua joissain tapauksissa parantaa, jos fontit on asennettu valmiiksi sille tietokoneelle, jolla sivuja luetaan. Katso ohjeet.