// LIBRERIA DI FUNZIONI E COSTANTI PER USARE SIMBOLOGIA MATEMATICA // IN UNA PAGINA WEB. // a cura di Giovanni Nicco // USO: // la funzione ww() ammette un numero qualsiasi di stringhe-argomento // esempio ww("ciao"," come ", "stai?"); viene stampato "ciao come stai?" // al fine di usare particolari caratteri, questi sono stati memorizzati in alcune // variabili il cui nome si richiama vagamente al linguaggio latex // es. ww(exist,"x",inset,"A",bar,"x",ge,"1") // consente di scrivere : simbolo di esistenza x incluso in A tale che x >= 1 // in particolare per risparmiare virgolette, simboli quali x,y,z,a,b,c con // relative maiuscole sono state dichiarate con un valore uguale al loro // nome in modo che si puo' anche scrivere: // es. ww(exist,x,inset,A,bar,x,ge,1) // wlc() ha uso analogo ma forza la scrittura in una unica linea (necessaria a // causa del rimando a capo automatico che html impone all'apertura di una tabella // usata per costruzioni grafiche come le frazioni. // esempio la somma di due frazioni: // wlc(frac(1,2),frac(1,3)) // wl() è simile ma forza l'allineamento in basso (utile per le potenze) // es wl(pow("a+b",2),eq,pow(a,2),p,2,a,b,p,pow(b,2)) // // Le funzioni l, lc non stampano ma costruiscono una stringa in linea contenente gli // argomenti: possono servire nel caso si vada costruendo una espressione che solo // alla fine andrà stampata. // es ww(l(agBig,mat31(lc(x,p,y,eq,frac(1,3),p,frac(2,3))," ",lc(x,m,y,eq,frac(1,3),t,frac(2,3)) ) function fontChar(f,c){ return ""+String.fromCharCode(c)+""} var part=0; var chapter=0; var subchapter=0; var subsubchapter=0; var section=0; var atUP = fontChar("Symbol",230);var atMIDDLE = fontChar("Symbol",231); var atBOTTOM = fontChar("Symbol",232);var ctUP = fontChar("Symbol",246); var ctMIDDLE = fontChar("Symbol",247);var ctBOTTOM = fontChar("Symbol",248); var atBig= mat31(atUP,atMIDDLE,atBOTTOM) var atBigBig= mat31(atUP,atMIDDLE+"
"+atMIDDLE,atBOTTOM) var ctBig= mat31(ctUP,ctMIDDLE,ctBOTTOM) var aqUP = fontChar("Symbol",233);var aqMIDDLE = fontChar("Symbol",234); var aqBOTTOM = fontChar("Symbol",235);var cqUP = fontChar("Symbol",249); var cqMIDDLE = fontChar("Symbol",250);var cqBOTTOM = fontChar("Symbol",251); var aqBig = mat31(aqUP,aqMIDDLE,aqBOTTOM) var cqBig = mat31(cqUP,cqMIDDLE,cqBOTTOM) var agUP = fontChar("Symbol",236);var agMIDDLE = fontChar("Symbol",237); var agBOTTOM = fontChar("Symbol",238);var cgUP = fontChar("Symbol",252); var cgMIDDLE = fontChar("Symbol",253);var cgBOTTOM = fontChar("Symbol",254); var agBig = mat31(agUP,agMIDDLE,agBOTTOM) var agBigBigBig= mat31(agUP,atMIDDLE+"
"+agMIDDLE+"
"+atMIDDLE,atBOTTOM) var cgBig = mat31(cgUP,cgMIDDLE,cgBOTTOM) // ********************************************** function pow(a,b){ return a+""+b+"" } function w(x){ if(typeof(x)=='object'){ for(var j=0;j")} // FUNZIONI A NUMERO DI ARGOMENTI VARIABILE function compatta(x){var s="";for(var i=0;i","",arguments,"")} // compatta con prefisso, infisso e suffisso function mat31(a,b,c){ // restituisce 3 dati incolonnati return "
"+a+ "
"+b+ "
"+c+"
" } function mat31left(a,b,c){ // restituisce 3 dati incolonnati return "
"+a+ "
"+b+ "
"+c+"
" } function red(){return compattaABvC("","",arguments,"")} function green(){return compattaABvC("","",arguments,"")} function blue(){return compattaABvC("","",arguments,"")} function ww(){w(compattaABvC("","",arguments,""))}// stampa tutte le stringhe-argomenti passate function join(){ return(compattaABvC("","",arguments,""))}// stampa tutte le stringhe-argomenti passate function wl(){w(l(arguments))}; // idem ma forzatamente in linea function wlc(){w(lc(arguments))};// idem ma centrata (utile per le frazioni) function l(){return compattaABvC("","
",arguments,"
")} //restituisce in linea function lc(){return compattaABvC("","
",arguments,"
")}// idem centrata var at="("; var ct=")"; var p="+"; var t="*"; var m="-"; var d=":"; var x="x"; var y="y"; var z="z"; var a="a"; var b="b";c="c",e="e",o="o";A="A",B="B",C="C"; // variabili var sx=" x ",sy=" y ",sz=" z ",sa=" a ",sb=" b ",sc=" c ",se=" e ",so=" o ";sA=" A ",sB=" B ",sC=" C "; // variabili con spazio var comma=",";eq="=";bar="|"; // simboli comunque accessibili da tastiera var ag="{",cg="}",aq="[",cq="]",at="(",ct=")"; // parentesi (a)perte e (c)hiuse var s=" ",sp=s+s;spa=s+s+s;spac=s+s+s+s;space=s+s+s+s+s; // spazi più o meno lunghi m="-"; slash="/" var AA =fontChar("Tahoma",197); var aa =fontChar("Tahoma",229); var Abar =fontChar("Arial",256); var ac ="
"; // a capo var addcontentsline ="t"; var AE =fontChar("Tahoma",198); var ae =fontChar("Tahoma",230); //var agBig ="agBig"; //var aleph =fontChar("Tahoma",0x05D0); var aleph =fontChar("Symbol",192); var alpha =fontChar("Symbol",97); var amalg ="t"; var and ="t"; var angle =fontChar("Symbol",208); var appendix ="t"; var approx =fontChar("Symbol",187); //var aq ="aq"; //var aqBig ="aqBig"; var arccos ="arccos"; var arcsin ="arcsin"; var arctan ="arctan"; var arg ="arg"; var ast =fontChar("Symbol",42); var asymp ="t"; //var atBig ="atBig"; var author ="t"; var backslash ="\\"; var beta =fontChar("Symbol",98); var bfseries ="t"; var bibitem ="t"; var bibliography="t"; var bibliographystyle ="t"; var bigcup ="t"; var bigcirc ="t"; var bigcup ="t"; var bigodot ="t"; var bigotimes ="t"; var bigskip ="t"; var bigsqcup ="t"; var bigtriangledown =fontChar("Symbol",209); var bigtriangleup="t"; var biguplus ="t"; var bigvee ="t"; var bigwedge ="t"; var biimp =fontChar("Symbol",219); var bmod ="t"; var bot ="t"; var bowtie ="t"; var Box ="t"; var br ="
" var bullet =fontChar("Symbol",83); var cap =fontChar("Symbol",199); var caption ="t"; var cdot =fontChar("Symbol",215); var cdots ="t"; //var cgBig ="cgBig"; var chapter ="t"; var chi =fontChar("Symbol",99); var circ =fontChar("Symbol",176); var cite ="t"; var clearpage ="t"; var cline ="t"; var clubsuite =fontChar("Symbol",167); var cong =fontChar("Symbol",64); var coprod ="t"; var copypright ="t"; var cos ="cos"; var cosh ="t"; var cot ="t"; var coth ="t"; //var cq ="cq"; //var cqBig ="cqBig"; var cross =fontChar("Symbol",180); var csc ="t"; //var ctBig ="ctBig"; var cup =fontChar("Symbol",200); var dag ="t"; var dagger ="t"; var dashv ="t"; var date ="t"; var ddag ="t"; var ddagger ="t"; var ddots ="t"; var deg ="t"; var Delta =fontChar("Symbol",68); var delta =fontChar("Symbol",100); var det ="t"; var Diamond ="t"; var diamond =fontChar("Symbol",224); var diamondsuit ="t"; var dim ="t"; var displaystyle="t"; var div =fontChar("Symbol",184); var documentstyle="t"; var dot =fontChar("Symbol",215); var doteq =fontChar("Symbol",215); var Downarrow ="t"; var downarrow ="t"; var ell ="t"; var emph ="t"; var empty =fontChar("Symbol",198); var emptyset =fontChar("Symbol",198); var epsilon =fontChar("Symbol",101); var eq ="="; var eqnarray ="t"; var equation ="t"; var equiv ="t"; var eta =fontChar("Symbol",104); var exists =fontChar("Symbol",36); var exp ="t"; var flat ="t"; var footnote ="t"; var footnotesize="t"; var forall =fontChar("Symbol",34); function frac(num,den){ return mat31(num,"
",den)} // frazione var frown ="t"; var Gamma =fontChar("Symbol",71); var gamma =fontChar("Symbol",103); var gcd ="t"; var geq ="t"; var gg ="t"; var gt =">"; var hbar ="t"; var heartsuit ="t"; var hline ="t"; var hom ="t"; var hookleftarrow="t"; var hookrightarrow="t"; var hr ="
"; var hspace ="t"; var Huge ="t"; var huge ="t"; var i ="t"; var Im ="t"; var imath ="t"; var inset ="t"; var includegraphics ="t"; var index ="t"; var inf ="t"; var infty =fontChar("Symbol",165); var inset =fontChar("Symbol",206); function int() {return fontChar("",0x222B)+" "+compatta(arguments)}; function intdef(a,b,c) {return mat31left('   '+b +'',' '+fontChar("",0x222B)+c,''+a+'') }; var iota =fontChar("Symbol",105); var item ="t"; var itshape ="t"; var j ="t"; var jmath ="t"; var Join ="t"; var kappa =fontChar("Symbol",107); var ker ="t"; var kill ="t"; var L ="t"; var label ="t"; var label ="t"; var Lambda =fontChar("Symbol",76); var lambda =fontChar("Symbol",108); var langle ="t"; var LARGE ="t"; var Large ="t"; var large ="t"; var lceil ="t"; var ldots ="t"; var leadsto ="t"; var left ="t"; var LeftArrow =fontChar("Symbol",220); var leftarrow =fontChar("Symbol",172); var leftharpoondown ="t"; var leftharpoondown ="t"; var Leftrightarrow ="t"; var leftrightarrow ="t"; var leq =fontChar("Symbol",163); var lfloor ="t"; var lg ="t"; var lhd ="t"; var lim ="t"; var liminf ="t"; var limsup ="t"; var listoffigures ="t"; var listoftables="t"; var ll ="t"; var ln ="t"; var log ="t"; var Longleftarrow="t"; var longleftarrow="t"; var Longleftrightarrow="t"; var longleftrightarrow="t"; var longmapsto ="t"; var Longrightarrow="t"; var longrightarrow="t"; var m = "-"; var makeindex ="t"; var maketitle ="t"; var mapsto ="t"; var marginpar ="t"; var mathbf ="t"; var mathcal ="t"; var mathit ="t"; var mathrm ="t"; var mathsf ="t"; var mathtt ="t"; var max ="t"; var mbox ="t"; var mdseries ="t"; var medskip ="t"; var mho ="t"; var mid =fontChar("Symbol",239); var min ="t"; var models ="t"; var mp =fontChar("Symbol",177); var mu =fontChar("Symbol",109); var multicolumn ="t"; var nabla =fontChar("Symbol",209); var natural ="t"; var nearrow ="t"; var neq =fontChar("Symbol",185); var newcommand ="t"; var newenviroment ="t"; var newline ="t"; var newpage ="t"; var newtheorem ="t"; var ni ="t"; var nocite ="t"; var nonumber ="t"; var normalsize ="t"; var notinset =fontChar("Symbol",207); var znot ="t"; var nu =fontChar("Symbol",110); var nwarrow ="t"; var O =fontChar("Symbol",198); var o ="t"; var odot ="t"; var OE ="t"; var oe ="t"; var oint ="t"; var Omega =fontChar("Symbol",87); var omega =fontChar("Symbol",119); var ominus ="t"; var oplus ="t"; var oslash ="t"; var otimes ="t"; var overbrace ="t"; var hbox ="t"; function overline(){ return ""+ "
"+ "
"+ compatta(arguments)+"
" } var overrightarrow ="t"; var P ="t"; var pageref ="t"; var parallel ="t"; var part ="t"; var partial ="t"; var pc =".
"; // punto e a capo var perp ="t"; var Phi =fontChar("Symbol",70); var phi =fontChar("Symbol",106); var Pi =fontChar("Symbol",80); var pi =fontChar("Symbol",112); var pm =fontChar("Symbol",177); var pmod ="t"; var pounds ="t"; function pow(a,b){ return a+""+b+"" } var pp =".
"; // punto e a capo var Pr ="t"; var prec ="t"; var preceq ="t"; var prime ="t"; var printindex ="t"; var prod ="t"; var propto ="t"; var Psi =fontChar("Symbol",89); var psi =fontChar("Symbol",102); var rangle ="t"; var rceil ="t"; var Re =fontChar("Symbol",194); var ref ="t"; var rflor ="t"; var rhd ="t"; var rho =fontChar("Symbol",114); var right ="t"; var Rightarrow =fontChar("Symbol",222); var rightarrow =fontChar("Symbol",174); var rightharpoondown ="t"; var rightharpoonup ="t"; var rightleftharpoon ="t"; var root =fontChar("Symbol",214); var rmfamily ="t"; var S ="t"; var scriptscriptstyle ="t"; var scriptsize ="t"; var scriptstyle ="t"; var scshape ="t"; var searrow ="t"; var sec ="t"; var section ="t"; var setminus ="t"; var sffamily ="t"; var sharp =fontChar("Symbol",35); var Sigma =fontChar("Symbol",115); var sigma =fontChar("Symbol",115); var sim ="t"; var simeq ="t"; var sin ="t"; var sinh ="t"; var slash = "/" var slshape ="t"; var small ="t"; var smallskip ="t"; var smile =fontChar("",0x263A); var spadesuit ="t"; var sq =fontChar("Tahoma",178); var sqcap ="t"; var sqcup ="t"; var sqrt ="t"; var sqsubset ="t"; var sqsupset ="t"; var sqsupseteq ="t"; var ss ="t"; var stackrel ="t"; var star =fontChar("Symbol",42); var subsection ="t"; var subset =fontChar("Symbol",204); var subseteq =fontChar("Symbol",205); var subsubsection="t"; var succ ="t"; var succeq ="t"; var sum =fontChar("Symbol",229); function sumdef(a,b,c) {return mat31left('  '+b +'',' '+fontChar("Symbol",229)+c,''+a+'') }; var sup ="t"; var supset ="t"; var subseteq =fontChar("Symbol",205); var surd ="t"; var swarrow ="t"; var t =fontChar("Symbol",215); var tableofcontents ="t"; var tan ="t"; var tanh ="t"; var tau =fontChar("Symbol",116); function textbf() {return ""+compatta(arguments)+"" }; function textit() {return ""+compatta(arguments)+"" }; var textmd ="t"; var textrm ="t"; var textsc ="t"; var textsf ="t"; var textstyle ="t"; var texttt ="t"; var textup ="t"; var thanks ="t"; var Theta =fontChar("Symbol",81); var theta =fontChar("Symbol",113); var times =fontChar("Symbol",180); var tiny ="t"; var title ="t"; var top ="t"; var triangle ="t"; var triangleleft="t"; var triangleright="t"; var ttfamily ="t"; var underbrace ="t"; var underline ="t"; var unlhd ="t"; var unrhd ="t"; var Uparrow ="t"; var uparrow ="t"; var Updownarrow ="t"; var updownarrow ="t"; var uplus ="t"; var upshape ="t"; var Upsilon =fontChar("Symbol",161); var upsilon =fontChar("Symbol",117); var varepsilon =fontChar("Symbol",101); var varphi =fontChar("Symbol",106); var varpi =fontChar("Symbol",118); var varrho =fontChar("Symbol",114); var varsigma ="t"; var vartheta ="t"; var vdash ="t"; var vdots ="t"; var vee =fontChar("Symbol",218); var vspace ="t"; var wedge =fontChar("Symbol",217); var widehat ="t"; var widetilde ="t"; var wp ="t"; var wr ="t"; var Xi =fontChar("Symbol",88); var xi =fontChar("Symbol",121); var zeta =fontChar("Symbol",86); function tex(x){ while(x.match(/(!overline{)([^}]*)(})/)){x=x.replace(/(!overline{)([^}]*)(})/g,""+ "

$2
")} while(x.match(/(!frac{)([^}]*)(}{)([^}]*)(})/)){x=x.replace(/(!frac{)([^}]*)(}{)([^}]*)(})/g,"
$2

$4
")} while(x.match(/([^\^])(\^)(\{)(\w*)(\})/)!=null){x=x.replace(/([^\^])(\^)(\{)(\w*)(\})/,"$1$4")}//exp{}{} while(x.match(/([^\^])(\^)(\w*)/)!=null) {x=x.replace(/([^\^])(\^)(\w*)/,"$1$3")}//exp 1 chr while(x.match(/([^\_])(\_)(\{)(\w*)(\})/)!=null){x=x.replace(/([^\_])(\_)(\{)(\w+)(\})/,"$1$4")}//ped {}{} while(x.match(/([^\_])(\_)(\w)([^\{])/)!=null){x=x.replace(/([^\_])(\_)(\w)([^\{])/,"$1 $3 $4")}// ped 1 chr x=x.replace(/\/\//g,"
");// "//" break line x=x.replace(/!Abar/g,""+String.fromCharCode(256)+""); x=x.replace(/!alpha/g,alpha); x=x.replace(/!beta/g,beta); x=x.replace(/!cap/g,cap); x=x.replace(/!chi/g,chi); x=x.replace(/!delta/g,delta); x=x.replace(/!epsilon/g,epsilon); x=x.replace(/!gamma/g,gamma); x=x.replace(/!eta/g,eta); x=x.replace(/!iota/g,iota); x=x.replace(/!phi/g,phi); x=x.replace(/!kappa/g,kappa); x=x.replace(/!lambda/g,lambda); x=x.replace(/!mu/g,mu); x=x.replace(/!nu/g,nu); x=x.replace(/!pi/g,pi); x=x.replace(/!psi/g,psi); x=x.replace(/!theta/g,theta); x=x.replace(/!rho/g,rho); x=x.replace(/!sigma/g,sigma); x=x.replace(/!tau/g,tau); x=x.replace(/!omega/g,omega); // simboli matematici x=x.replace(/!biimp/g,biimp); x=x.replace(/!cong/g,cong); x=x.replace(/!cross/g,cross); x=x.replace(/!cup/g,cup); x=x.replace(/!empty/g,empty); x=x.replace(/!forall/g,forall); x=x.replace(/!exists/g,exists); x=x.replace(/!notinset/g,notinset); x=x.replace(/!inset/g,inset); x=x.replace(/!leq/g,leq); x=x.replace(/!neq/g,neq); x=x.replace(/!root/g,root); x=x.replace(/!subset/g,subset); x=x.replace(/!subseteq/g,subseteq); x=x.replace(/!wedge/g,wedge); x=x.replace(/!dot/g,dot); return(x); }