ASCII Math ML

Per scriver le formule su una pagina HTML il metodo piu' semplice e' usare la notazione ASCII, ecco un esempio (date il tempo al plugin javascript di riscrivere il tutto):

Risultato

Codice sorgente HTML

Risoluzione di un'equazione di secondo grado: supponiamo ax2+bx+c=0 con a0. Prima dividiamo per a: x2+bax+ca=0.

Poi completiamo lo sviluppo di un binomio cosi': x2+bax+(b2a)2-(b2a)2+ca=0. I primi tre termini danno (x+b2a)2=b24a2-ca. Adesso mettiamo tutto sotto radice quadrata x+b2a=±b24a2-ca.

Spostiamo b2a a destra e semplifichiamo, ottenendo le due soluzioni:x1,2=-b±b2-4ac2a

Risoluzione di un'equazione di secondo grado: supponiamo a x^2+b x+c=0 con a!=0 . Prima dividiamo per a: x^2+b/a x+c/a=0.

Poi completiamo lo sviluppo di un binomio cosi': x^2+b/a x+(b/(2a))^2-(b/(2a))^2+c/a=0 . I primi tre termini danno (x+b/(2a))^2=(b^2)/(4a^2)-c/a . Adesso mettiamo tutto sotto radice quadrata x+b/(2a)=+-sqrt((b^2)/(4a^2)-c/a) .

Spostiamo b/(2a) a destra e semplifichiamo, ottenendo le due soluzioni: x_(1,2)=(-b+-sqrt(b^2-4a c))/(2a)

La ASCII Math e' stata inventata da un professore Universitario di nome Peter Jipsen, qui trovate il sito ufficiale: http://www1.chapman.edu/~jipsen/mathml/asciimath.html

Per farla funzionare potete utilizzare vari metodi, per esempio potete scaricare dalla pagina di ASCII Math il file ASCIIMathML.js e inserire nel head della vostra pagina HTML la seguente riga di codice:

 <script type="text/javascript" src="ASCIIMathML.js"></script>

Ma esistono tanti altri modi: PHP, MathJax e tanti altri.

Il mio preferito e' MathJax e alla seguente pagina potete scaricare un plugin per PMWiki: http://www.pmwiki.org/wiki/Cookbook/AMmathjax

Qui di seguito vi mostro molti altri esempi:

RisultatoCodiceCommento
x2+y1+z1234x^2+y_1+z_12^34Esponenti e pedici
sin-1(x)sin^-1(x)I nomi delle funzioni (in inglese) sono considerati come le costanti
ddxf(x)=limh0f(x+h)-f(x)hd/dxf(x)=lim_(h->0)(f(x+h)-f(x))/hPer apici e pedici complessi e' meglio usare le parentesi
f(x)=n=0f(n)(a)n!(x-a)nf(x)=sum_(n=0)^oo(f^((n))(a))/(n!)(x-a)^nIn questo caso e' meglio mettere tutto in numeratore fra parentesi, altrimenti rimane solo a
01f(x)dxint_0^1f(x)dxI pedici vanno prima degli apici
[abcd](nk)[[a,b],[c,d]]((n),(k))E' facilissimo scrivere matrici e vettori
xx={1ifx0undefinedifx=0x/x={(1,if x!=0),(text{undefined},if x=0):} E' possibile sfruttare la notazione con le opzioni
a/b a//b Cosi' rimane il segno di divisione obliquo
abcd(a/b)/(c/d)Frazioni su frazioni
ab/cda/b/c/dSenza parentesi e' il programma che sceglie come apparira', anche se il significato matematico e' invariato
(ab)c((a*b))/cPer forzare le parentesi basta metterne due, l'asterisco e' il simbolo della moltiplicazione
x3sqrt sqrt root3xper le funzioni gli spazi sono opzionali, ma usateli lo stesso
a,bandxyuv << a,b >> and {:(x,y),(u,v):} Parantesi angolati e invisibili
(a,b]={xa<xb}(a,b]={x in RR | a < x <= b}Le parentesi non devono per forza combaciare, potete aprire una tonda e chiuderla con una quadrata
abc-123.45-1.1abc-123.45^-1.1non-tokens are split into single characters, but decimal numbers are parsed with possible sign
ab^xy¯A̲vx.y..hat(ab) bar(xy) ulA vec v dotx ddot yAccenti
AB3.AB.AB.AB.AB.ABbb{AB3}.bbb(AB].cc(AB).fr{AB}.tt[AB].sf(AB)Caratteri particolari
=defor=Δ (or :=)stackrel"def"= or \stackrel{\Delta}{=}" "("or ":=)I simboli possono essere impilati
 92238U{::}_(\ 92)^238UMettere un carattere invisibile puo' essere utile per simulare preapici e prepedici

Qui trovate la lista dei simboli e delle funzioni: http://www1.chapman.edu/~jipsen/mathml/asciimathsyntax.html

Qui potete divertirvi a fare delle prove: http://www1.chapman.edu/~jipsen/mathml/asciimatheditor/