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 `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) `

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
` x^2+y_1+z_12^34 `x^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
` d/dxf(x)=lim_(h->0)(f(x+h)-f(x))/h `d/dxf(x)=lim_(h->0)(f(x+h)-f(x))/hPer apici e pedici complessi e' meglio usare le parentesi
` f(x)=sum_(n=0)^oo(f^((n))(a))/(n!)(x-a)^n `f(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
` int_0^1f(x)dx `int_0^1f(x)dxI pedici vanno prima degli apici
` [[a,b],[c,d]]((n),(k)) `[[a,b],[c,d]]((n),(k))E' facilissimo scrivere matrici e vettori
` x/x={(1,if x!=0),(text{undefined},if x=0):} `x/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
` (a/b)/(c/d) `(a/b)/(c/d)Frazioni su frazioni
` a/b/c/d `a/b/c/dSenza parentesi e' il programma che sceglie come apparira', anche se il significato matematico e' invariato
` ((a*b))/c `((a*b))/cPer forzare le parentesi basta metterne due, l'asterisco e' il simbolo della moltiplicazione
` sqrt sqrt root3x `sqrt sqrt root3xper le funzioni gli spazi sono opzionali, ma usateli lo stesso
` << a,b >> and {:(x,y),(u,v):} ` << a,b >> and {:(x,y),(u,v):} Parantesi angolati e invisibili
` (a,b]={x in RR | a < x <= b} `(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.1 `abc-123.45^-1.1non-tokens are split into single characters, but decimal numbers are parsed with possible sign
` hat(ab) bar(xy) ulA vec v dotx ddot y `hat(ab) bar(xy) ulA vec v dotx ddot yAccenti
` bb{AB3}.bbb(AB].cc(AB).fr{AB}.tt[AB].sf(AB) `bb{AB3}.bbb(AB].cc(AB).fr{AB}.tt[AB].sf(AB)Caratteri particolari
` stackrel"def"= or \stackrel{\Delta}{=}" "("or ":=) `stackrel"def"= or \stackrel{\Delta}{=}" "("or ":=)I simboli possono essere impilati
` {::}_(\ 92)^238U `{::}_(\ 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/