Endelig \(\LaTeX\)-støtte
Jeg har tenkt i mange år at vi burde få på plass et eller annet for å vise matematikk her på bloggen. Å inkludere ligninger som bilder er ikke akkurat supersmooth med tanke på variabel skjermstørrelse og zoom og denslags, og dessuten slitsomt siden man må lage nye bilder om man skal endre på innholdet. Jeg har kikket litt på
MathML og denslags, men konklusjonen min har så langt vært at det virker for tungvint, og siden jeg antagelig er den eneste som savner denne funksjonaliteten har jeg latt det være. Her en dag oppdaget jeg imidlertid noe som ga meg håp.
Typisk tex-feilmelding på xkcd.com
Jeg leste
what if?, da jeg så en typisk tex-feilmelding. Hmzk, tenkte jeg, og kikket litt i kildekoden, og sannelig viste det seg ikke at den godeste Randall Munroe kjører noe javascript-greier for å produsere skikkelig matte. Jeg undersøkte nærmere, og fant ut at det dreier seg om
MathJax, som er et javascript-bibliotek som man kan laste inn uten noe særlig om & men, og som så leser gjennom hele nettsiden, identifiserer latex-kommandoer og gjør dem vakkert typesatte uttrykk. Jeg vet ikke helt hvordan det foregår, men det ser pent ut og inkluderer ikke bruk av bilder (i allefall ikke på moderne nettlesere), så jeg klager ikke.
MathJax er fra nå av tilgjengelig på Calcuttagutta, og her følger en kort introduksjon i fall noen andre skulle være interessert i å ta det i bruk. Det er kun math mode-kommandoer som er implementert, og for å få inline matte må man skrive
\(x\)
som produserer symbolet x, altså en x i kursiv: \(x\). Dette er det man vanligvis ville fått i tex om man hadde skrevet
$x$, men siden
$ er et passe vanlig tegn er det nok best å ikke bruke det til å indikere matte. Det var forøvrig nettopp dette som var årsaken til feilmeldingen i bildet over. Han ville gjengi en shell-kommando som inneholdt
$/\L$, som så ble tolket som latex-kode, hvilket resulterte i en feilmelding siden
\L ikke er en gyldig latex-kommand.
For å få ligninger som står på en egen linje kan man bruke align (eller andre latex environments):
<p>
\begin{align}
\int_0^\infty x^{z-1}e^{-x}\; \mathrm{d}x = \Gamma(z)
\end{align}
</p>
produserer for eksempel
\begin{align} \int_0^\infty x^{z-1}e^{-x}\; \mathrm{d}x = \Gamma(z) \end{align}
og det er visstnok mulig å få nummererte ligninger og alt mulig. Mer dokumentasjon på
mathjax.org for den som er interessert.
Jeg tenker vi tester dette en stund, og hvis det ikke dukker opp noen problemer blir det nok en fast funksjonalitet, og for å være helt ærlig synes jeg dette virker som en aldeles utmerket løsning på et problem som burde vært løst for lenge siden. Tenk bare hvor mye lengre verden kunne ha kommet om man enkelt kunne utveksle matematiske uttrykk på ethvert nettsted.
Comments