Merge 'htmlcss-fixes' into v2.0-candidate (after resolving conflicts)
This commit is contained in:
commit
a9b53b8bb7
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -12,5 +12,5 @@
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
*/
|
*/
|
||||||
|
|
||||||
(function(){var c="1.1.1";var a=MathJax.Hub.CombineConfig("TeX.noErrors",{multiLine:true,inlineDelimiters:["",""],style:{"font-size":"80%","text-align":"left",color:"black",padding:"1px 3px",border:"1px solid"}});var b="\u00A0";MathJax.Extension["TeX/noErrors"]={version:c,config:a};MathJax.Hub.Register.StartupHook("TeX Jax Ready",function(){MathJax.InputJax.TeX.Augment({formatError:function(f,e,g,d){var i=a.inlineDelimiters;var h=(g||a.multiLine);if(!g){e=i[0]+e+i[1]}if(h){e=e.replace(/ /g,b)}else{e=e.replace(/\n/g," ")}return MathJax.ElementJax.mml.merror(e).With({isError:true,multiLine:h})}})});MathJax.Hub.Register.StartupHook("HTML-CSS Jax Config",function(){MathJax.Hub.Config({"HTML-CSS":{styles:{".MathJax .merror":MathJax.Hub.Insert({"font-style":null,"background-color":null,"vertical-align":(MathJax.Hub.Browser.isMSIE&&a.multiLine?"-2px":"")},a.style)}}})})})();MathJax.Hub.Register.StartupHook("HTML-CSS Jax Ready",function(){var a=MathJax.ElementJax.mml;var b=MathJax.OutputJax["HTML-CSS"];var c=a.math.prototype.toHTML;a.math.Augment({toHTML:function(d,e){if(this.data[0]&&this.data[0].data[0]&&this.data[0].data[0].isError){return this.data[0].data[0].toHTML(d)}return c.call(this,d,e)}});a.merror.Augment({toHTML:function(j){if(!this.isError){return a.mbase.prototype.toHTML.call(this,j)}j=this.HTMLcreateSpan(j);if(this.multiLine){j.style.display="inline-block"}var l=this.data[0].data[0].data.join("").split(/\n/);for(var g=0,e=l.length;g<e;g++){b.addText(j,l[g]);if(g!==e-1){b.addElement(j,"br")}}var n=b.getHD(j.parentNode),d=b.getW(j.parentNode);if(e>1){var k=(n.h+n.d)/2,h=b.TeX.x_height/2;var f=b.config.styles[".MathJax .merror"]["font-size"];if(f&&f.match(/%/)){h*=parseInt(f)/100}j.parentNode.style.verticalAlign=b.Em(n.d+(h-k));n.h=h+k;n.d=k-h}j.bbox={h:n.h,d:n.d,w:d,lw:0,rw:d};return j}});MathJax.Hub.Startup.signal.Post("TeX noErrors Ready")});MathJax.Hub.Register.StartupHook("NativeMML Jax Ready",function(){var b=MathJax.ElementJax.mml;var a=MathJax.Extension["TeX/noErrors"].config;var c=b.math.prototype.toNativeMML;b.math.Augment({toNativeMML:function(d){if(this.data[0]&&this.data[0].data[0]&&this.data[0].data[0].isError){return this.data[0].data[0].toNativeMML(d)}return c.call(this,d)}});b.merror.Augment({toNativeMML:function(g){if(!this.isError){return b.mbase.prototype.toNativeMML.call(this,g)}g=g.appendChild(document.createElement("span"));var h=this.data[0].data[0].data.join("").split(/\n/);for(var f=0,e=h.length;f<e;f++){g.appendChild(document.createTextNode(h[f]));if(f!==e-1){g.appendChild(document.createElement("br"))}}if(this.multiLine){g.style.display="inline-block";if(e>1){g.style.verticalAlign="middle"}}for(var j in a.style){if(a.style.hasOwnProperty(j)){var d=j.replace(/-./g,function(i){return i.charAt(1).toUpperCase()});g.style[d]=a.style[j]}}return g}});MathJax.Hub.Startup.signal.Post("TeX noErrors Ready")});MathJax.Ajax.loadComplete("[MathJax]/extensions/TeX/noErrors.js");
|
(function(){var c="1.1.1";var a=MathJax.Hub.CombineConfig("TeX.noErrors",{multiLine:true,inlineDelimiters:["",""],style:{"font-size":"80%","text-align":"left",color:"black",padding:"1px 3px",border:"1px solid"}});var b="\u00A0";MathJax.Extension["TeX/noErrors"]={version:c,config:a};MathJax.Hub.Register.StartupHook("TeX Jax Ready",function(){MathJax.InputJax.TeX.Augment({formatError:function(f,e,g,d){var i=a.inlineDelimiters;var h=(g||a.multiLine);if(!g){e=i[0]+e+i[1]}if(h){e=e.replace(/ /g,b)}else{e=e.replace(/\n/g," ")}return MathJax.ElementJax.mml.merror(e).With({isError:true,multiLine:h})}})});MathJax.Hub.Register.StartupHook("HTML-CSS Jax Config",function(){MathJax.Hub.Config({"HTML-CSS":{styles:{".MathJax .merror":MathJax.Hub.Insert({"font-style":null,"background-color":null,"vertical-align":(MathJax.Hub.Browser.isMSIE&&a.multiLine?"-2px":"")},a.style)}}})})})();MathJax.Hub.Register.StartupHook("HTML-CSS Jax Ready",function(){var a=MathJax.ElementJax.mml;var b=MathJax.OutputJax["HTML-CSS"];var c=a.math.prototype.toHTML;a.math.Augment({toHTML:function(d,e){if(this.data[0]&&this.data[0].data[0]&&this.data[0].data[0].isError){d=this.HTMLcreateSpan(d);d.bbox=this.data[0].data[0].toHTML(d).bbox;return d}return c.call(this,d,e)}});a.merror.Augment({toHTML:function(j){if(!this.isError){return a.mbase.prototype.toHTML.call(this,j)}j=this.HTMLcreateSpan(j);if(this.multiLine){j.style.display="inline-block"}var l=this.data[0].data[0].data.join("").split(/\n/);for(var g=0,e=l.length;g<e;g++){b.addText(j,l[g]);if(g!==e-1){b.addElement(j,"br")}}var n=b.getHD(j.parentNode),d=b.getW(j.parentNode);if(e>1){var k=(n.h+n.d)/2,h=b.TeX.x_height/2;var f=b.config.styles[".MathJax .merror"]["font-size"];if(f&&f.match(/%/)){h*=parseInt(f)/100}j.parentNode.style.verticalAlign=b.Em(n.d+(h-k));n.h=h+k;n.d=k-h}j.bbox={h:n.h,d:n.d,w:d,lw:0,rw:d};return j}});MathJax.Hub.Startup.signal.Post("TeX noErrors Ready")});MathJax.Hub.Register.StartupHook("NativeMML Jax Ready",function(){var b=MathJax.ElementJax.mml;var a=MathJax.Extension["TeX/noErrors"].config;var c=b.math.prototype.toNativeMML;b.math.Augment({toNativeMML:function(d){if(this.data[0]&&this.data[0].data[0]&&this.data[0].data[0].isError){return this.data[0].data[0].toNativeMML(d)}return c.call(this,d)}});b.merror.Augment({toNativeMML:function(g){if(!this.isError){return b.mbase.prototype.toNativeMML.call(this,g)}g=g.appendChild(document.createElement("span"));var h=this.data[0].data[0].data.join("").split(/\n/);for(var f=0,e=h.length;f<e;f++){g.appendChild(document.createTextNode(h[f]));if(f!==e-1){g.appendChild(document.createElement("br"))}}if(this.multiLine){g.style.display="inline-block";if(e>1){g.style.verticalAlign="middle"}}for(var j in a.style){if(a.style.hasOwnProperty(j)){var d=j.replace(/-./g,function(i){return i.charAt(1).toUpperCase()});g.style[d]=a.style[j]}}return g}});MathJax.Hub.Startup.signal.Post("TeX noErrors Ready")});MathJax.Ajax.loadComplete("[MathJax]/extensions/TeX/noErrors.js");
|
||||||
|
|
||||||
|
|
File diff suppressed because one or more lines are too long
|
@ -12,5 +12,5 @@
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
*/
|
*/
|
||||||
|
|
||||||
MathJax.InputJax.TeX=MathJax.InputJax({id:"TeX",version:"1.1.7",directory:MathJax.InputJax.directory+"/TeX",extensionDir:MathJax.InputJax.extensionDir+"/TeX",config:{TagSide:"right",TagIndent:"0.8em",MultLineWidth:"85%"}});MathJax.InputJax.TeX.Register("math/tex");MathJax.InputJax.TeX.loadComplete("config.js");
|
MathJax.InputJax.TeX=MathJax.InputJax({id:"TeX",version:"1.1.8",directory:MathJax.InputJax.directory+"/TeX",extensionDir:MathJax.InputJax.extensionDir+"/TeX",config:{TagSide:"right",TagIndent:"0.8em",MultLineWidth:"85%"}});MathJax.InputJax.TeX.Register("math/tex");MathJax.InputJax.TeX.loadComplete("config.js");
|
||||||
|
|
||||||
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -12,5 +12,5 @@
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
*/
|
*/
|
||||||
|
|
||||||
MathJax.Hub.Register.StartupHook("HTML-CSS Jax Ready",function(){var c="1.1";var a=MathJax.ElementJax.mml,b=MathJax.OutputJax["HTML-CSS"];a.mglyph.Augment({toHTML:function(i,h){var k=i,f=this.getValues("src","width","height","valign","alt"),j;i=this.HTMLcreateSpan(i);if(f.src===""){var g=this.Get("index");if(g){h=this.HTMLgetVariant();var e=h.defaultFont;if(e){e.noStyleChar=true;e.testString=String.fromCharCode(g)+"ABCabc";if(b.Font.testFont(e)){this.HTMLhandleVariant(i,h,String.fromCharCode(g))}else{if(f.alt===""){f.alt="Bad font: "+e.family}j=a.merror(f.alt).With({mathsize:"75%"});this.Append(j);j.toHTML(i);this.data.pop();i.bbox=j.HTMLspanElement().bbox}}}}else{if(!this.img){this.img=a.mglyph.GLYPH[f.src]}if(!this.img){this.img=a.mglyph.GLYPH[f.src]={img:new Image(),status:"pending"};var d=this.img.img;d.onload=MathJax.Callback(["HTMLimgLoaded",this]);d.onerror=MathJax.Callback(["HTMLimgError",this]);d.src=f.src;MathJax.Hub.RestartAfter(d.onload)}if(this.img.status!=="OK"){j=a.merror("Bad mglyph: "+f.src).With({mathsize:"75%"});this.Append(j);j.toHTML(i);this.data.pop();i.bbox=j.HTMLspanElement().bbox}else{d=b.addElement(i,"img",{src:f.src,alt:f.alt,title:f.alt});if(f.width){if(String(f.width).match(/^\s*-?\d+\s*$/)){f.width+="px"}d.style.width=b.Em(b.length2em(f.width,this.img.img.width/b.em))}if(f.height){if(String(f.height).match(/^\s*-?\d+\s*$/)){f.height+="px"}d.style.height=b.Em(b.length2em(f.height,this.img.img.height/b.em))}i.bbox.w=i.bbox.rw=d.offsetWidth/b.em;i.bbox.h=d.offsetHeight/b.em;if(f.valign){if(String(f.valign).match(/^\s*-?\d+\s*$/)){f.valign+="px"}i.bbox.d=-b.length2em(f.valign,this.img.img.height/b.em);d.style.verticalAlign=b.Em(-i.bbox.d);i.bbox.h-=i.bbox.d}}}if(!k.bbox){k.bbox={w:i.bbox.w,h:i.bbox.h,d:i.bbox.d,rw:i.bbox.rw,lw:i.bbox.lw}}else{if(i.bbox){k.bbox.w+=i.bbox.w;if(k.bbox.w>k.bbox.rw){k.bbox.rw=k.bbox.w}if(i.bbox.h>k.bbox.h){k.bbox.h=i.bbox.h}if(i.bbox.d>k.bbox.d){k.bbox.d=i.bbox.d}}}this.HTMLhandleSpace(i);this.HTMLhandleColor(i);return i},HTMLimgLoaded:function(e,d){if(typeof(e)==="string"){d=e}this.img.status=(d||"OK")},HTMLimgError:function(){this.img.img.onload("error")}},{GLYPH:{}});MathJax.Hub.Startup.signal.Post("HTML-CSS mglyph Ready");MathJax.Ajax.loadComplete(b.autoloadDir+"/mglyph.js")});
|
MathJax.Hub.Register.StartupHook("HTML-CSS Jax Ready",function(){var c="1.1.1";var a=MathJax.ElementJax.mml,b=MathJax.OutputJax["HTML-CSS"];a.mglyph.Augment({toHTML:function(j,f){var i=j,k=this.getValues("src","width","height","valign","alt"),e;j=this.HTMLcreateSpan(j);if(k.src===""){var h=this.Get("index");if(h){f=this.HTMLgetVariant();var d=f.defaultFont;if(d){d.noStyleChar=true;d.testString=String.fromCharCode(h)+"ABCabc";if(b.Font.testFont(d)){this.HTMLhandleVariant(j,f,String.fromCharCode(h))}else{if(k.alt===""){k.alt="Bad font: "+d.family}e=a.merror(k.alt).With({mathsize:"75%"});this.Append(e);e.toHTML(j);this.data.pop();j.bbox=e.HTMLspanElement().bbox}}}}else{if(!this.img){this.img=a.mglyph.GLYPH[k.src]}if(!this.img){this.img=a.mglyph.GLYPH[k.src]={img:new Image(),status:"pending"};var g=this.img.img;g.onload=MathJax.Callback(["HTMLimgLoaded",this]);g.onerror=MathJax.Callback(["HTMLimgError",this]);g.src=k.src;MathJax.Hub.RestartAfter(g.onload)}if(this.img.status!=="OK"){e=a.merror("Bad mglyph: "+k.src).With({mathsize:"75%"});this.Append(e);e.toHTML(j);this.data.pop();j.bbox=e.HTMLspanElement().bbox}else{var l=this.HTMLgetMu(j);g=b.addElement(j,"img",{src:k.src,alt:k.alt,title:k.alt});if(k.width){if(String(k.width).match(/^\s*-?\d+\s*$/)){k.width+="px"}g.style.width=b.Em(b.length2em(k.width,l,this.img.img.width/b.em))}if(k.height){if(String(k.height).match(/^\s*-?\d+\s*$/)){k.height+="px"}g.style.height=b.Em(b.length2em(k.height,l,this.img.img.height/b.em))}j.bbox.w=j.bbox.rw=g.offsetWidth/b.em;j.bbox.h=g.offsetHeight/b.em;if(k.valign){if(String(k.valign).match(/^\s*-?\d+\s*$/)){k.valign+="px"}j.bbox.d=-b.length2em(k.valign,l,this.img.img.height/b.em);g.style.verticalAlign=b.Em(-j.bbox.d);j.bbox.h-=j.bbox.d}}}if(!i.bbox){i.bbox={w:j.bbox.w,h:j.bbox.h,d:j.bbox.d,rw:j.bbox.rw,lw:j.bbox.lw}}else{if(j.bbox){i.bbox.w+=j.bbox.w;if(i.bbox.w>i.bbox.rw){i.bbox.rw=i.bbox.w}if(j.bbox.h>i.bbox.h){i.bbox.h=j.bbox.h}if(j.bbox.d>i.bbox.d){i.bbox.d=j.bbox.d}}}this.HTMLhandleSpace(j);this.HTMLhandleColor(j);return j},HTMLimgLoaded:function(e,d){if(typeof(e)==="string"){d=e}this.img.status=(d||"OK")},HTMLimgError:function(){this.img.img.onload("error")}},{GLYPH:{}});MathJax.Hub.Startup.signal.Post("HTML-CSS mglyph Ready");MathJax.Ajax.loadComplete(b.autoloadDir+"/mglyph.js")});
|
||||||
|
|
||||||
|
|
|
@ -12,5 +12,5 @@
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
*/
|
*/
|
||||||
|
|
||||||
MathJax.Hub.Register.StartupHook("HTML-CSS Jax Ready",function(){var c="1.1";var a=MathJax.ElementJax.mml,b=MathJax.OutputJax["HTML-CSS"];a.mmultiscripts.Augment({toHTML:function(H,F,A){H=this.HTMLcreateSpan(H);var M=this.HTMLgetScale();var k=b.createStack(H),f;var j=b.createBox(k);this.HTMLmeasureChild(this.base,j);if(this.data[this.base]){if(A!=null){b.Remeasured(this.data[this.base].HTMLstretchV(j,F,A),j)}else{if(F!=null){b.Remeasured(this.data[this.base].HTMLstretchH(j,F),j)}}}var K=b.TeX.x_height*M,z=b.TeX.scriptspace*M*0.75;var y=this.HTMLgetScripts(k,z);var l=y[0],e=y[1],o=y[2],i=y[3];var g=(this.data[1]||this).HTMLgetScale();var C=b.TeX.sup_drop*g,B=b.TeX.sub_drop*g;var w=j.bbox.h-C,n=j.bbox.d+B,L=0,E;if(j.bbox.ic){L=j.bbox.ic}if(this.data[this.base]&&(this.data[this.base].type==="mi"||this.data[this.base].type==="mo")){if(this.data[this.base].data.join("").length===1&&j.bbox.scale===1&&!this.data[this.base].Get("largeop")){w=n=0}}var G=this.getValues("subscriptshift","superscriptshift");G.subscriptshift=(G.subscriptshift===""?0:b.length2em(G.subscriptshift));G.superscriptshift=(G.superscriptshift===""?0:b.length2em(G.superscriptshift));var m=0;if(o){m=o.bbox.w+L}else{if(i){m=i.bbox.w-L}}if(m<0){m=0}b.placeBox(j,m,0);if(!e&&!i){n=Math.max(n,b.TeX.sub1*M,G.subscriptshift);if(l){n=Math.max(n,l.bbox.h-(4/5)*K)}if(o){n=Math.max(n,o.bbox.h-(4/5)*K)}if(l){b.placeBox(l,m+j.bbox.w+z-L,-n)}if(o){b.placeBox(o,0,-n)}}else{if(!l&&!o){f=this.getValues("displaystyle","texprimestyle");E=b.TeX[(f.displaystyle?"sup1":(f.texprimestyle?"sup3":"sup2"))];w=Math.max(w,E*M,G.superscriptshift);if(e){w=Math.max(w,e.bbox.d+(1/4)*K)}if(i){w=Math.max(w,i.bbox.d+(1/4)*K)}if(e){b.placeBox(e,m+j.bbox.w+z,w)}if(i){b.placeBox(i,0,w)}}else{n=Math.max(n,b.TeX.sub2*M);var x=b.TeX.rule_thickness*M;var I=(l||o).bbox.h,J=(e||i).bbox.d;if(o){I=Math.max(I,o.bbox.h)}if(i){J=Math.max(J,i.bbox.d)}if((w-J)-(I-n)<3*x){n=3*x-w+J+I;C=(4/5)*K-(w-J);if(C>0){w+=C;n-=C}}w=Math.max(w,G.superscriptshift);n=Math.max(n,G.subscriptshift);if(e){b.placeBox(e,m+j.bbox.w+z,w)}if(i){b.placeBox(i,m+L-i.bbox.w,w)}if(l){b.placeBox(l,m+j.bbox.w+z-L,-n)}if(o){b.placeBox(o,m-o.bbox.w,-n)}}}this.HTMLhandleSpace(H);this.HTMLhandleColor(H);return H},HTMLgetScripts:function(p,q){var o,d,e=[];var n=1,g=this.data.length,f=0;for(var h=0;h<4;h+=2){while(n<g&&this.data[n].type!=="mprescripts"){for(var l=h;l<h+2;l++){if(this.data[n]&&this.data[n].type!=="none"){if(!e[l]){e[l]=b.createBox(p);e[l].bbox=this.HTMLemptyBBox({});if(f){b.createBlank(e[l],f);e[l].bbox.w=e[l].bbox.rw=f}}this.data[n].toHTML(e[l]);this.HTMLcombineBBoxes(this.data[n],e[l].bbox)}n++}d=e[h];o=e[h+1];if(d&&o){if(d.bbox.w<o.bbox.w){b.createBlank(d,o.bbox.w-d.bbox.w);d.bbox.w=o.bbox.w;d.bbox.rw=Math.max(d.bbox.w,d.bbox.rw)}else{if(d.bbox.w>o.bbox.w){b.createBlank(o,d.bbox.w-o.bbox.w);o.bbox.w=d.bbox.w;o.bbox.rw=Math.max(o.bbox.w,o.bbox.rw)}}}if(d){f=d.bbox.w}else{if(o){f=o.bbox.w}}}n++;f=0}for(l=0;l<4;l++){if(e[l]){e[l].bbox.w+=q;e[l].bbox.rw=Math.max(e[l].bbox.w,e[l].bbox.rw);this.HTMLcleanBBox(e[l].bbox)}}return e},HTMLstretchH:a.mbase.HTMLstretchH,HTMLstretchV:a.mbase.HTMLstretchV});MathJax.Hub.Startup.signal.Post("HTML-CSS mmultiscripts Ready");MathJax.Ajax.loadComplete(b.autoloadDir+"/mmultiscripts.js")});
|
MathJax.Hub.Register.StartupHook("HTML-CSS Jax Ready",function(){var c="1.1.1";var a=MathJax.ElementJax.mml,b=MathJax.OutputJax["HTML-CSS"];a.mmultiscripts.Augment({toHTML:function(I,G,A){I=this.HTMLcreateSpan(I);var N=this.HTMLgetScale();var k=b.createStack(I),f;var j=b.createBox(k);this.HTMLmeasureChild(this.base,j);if(this.data[this.base]){if(A!=null){b.Remeasured(this.data[this.base].HTMLstretchV(j,G,A),j)}else{if(G!=null){b.Remeasured(this.data[this.base].HTMLstretchH(j,G),j)}}}var L=b.TeX.x_height*N,z=b.TeX.scriptspace*N*0.75;var y=this.HTMLgetScripts(k,z);var l=y[0],e=y[1],o=y[2],i=y[3];var g=(this.data[1]||this).HTMLgetScale();var C=b.TeX.sup_drop*g,B=b.TeX.sub_drop*g;var w=j.bbox.h-C,n=j.bbox.d+B,M=0,F;if(j.bbox.ic){M=j.bbox.ic}if(this.data[this.base]&&(this.data[this.base].type==="mi"||this.data[this.base].type==="mo")){if(this.data[this.base].data.join("").length===1&&j.bbox.scale===1&&!this.data[this.base].Get("largeop")){w=n=0}}var H=this.getValues("subscriptshift","superscriptshift"),E=this.HTMLgetMu(I);H.subscriptshift=(H.subscriptshift===""?0:b.length2em(H.subscriptshift,E));H.superscriptshift=(H.superscriptshift===""?0:b.length2em(H.superscriptshift,E));var m=0;if(o){m=o.bbox.w+M}else{if(i){m=i.bbox.w-M}}if(m<0){m=0}b.placeBox(j,m,0);if(!e&&!i){n=Math.max(n,b.TeX.sub1*N,H.subscriptshift);if(l){n=Math.max(n,l.bbox.h-(4/5)*L)}if(o){n=Math.max(n,o.bbox.h-(4/5)*L)}if(l){b.placeBox(l,m+j.bbox.w+z-M,-n)}if(o){b.placeBox(o,0,-n)}}else{if(!l&&!o){f=this.getValues("displaystyle","texprimestyle");F=b.TeX[(f.displaystyle?"sup1":(f.texprimestyle?"sup3":"sup2"))];w=Math.max(w,F*N,H.superscriptshift);if(e){w=Math.max(w,e.bbox.d+(1/4)*L)}if(i){w=Math.max(w,i.bbox.d+(1/4)*L)}if(e){b.placeBox(e,m+j.bbox.w+z,w)}if(i){b.placeBox(i,0,w)}}else{n=Math.max(n,b.TeX.sub2*N);var x=b.TeX.rule_thickness*N;var J=(l||o).bbox.h,K=(e||i).bbox.d;if(o){J=Math.max(J,o.bbox.h)}if(i){K=Math.max(K,i.bbox.d)}if((w-K)-(J-n)<3*x){n=3*x-w+K+J;C=(4/5)*L-(w-K);if(C>0){w+=C;n-=C}}w=Math.max(w,H.superscriptshift);n=Math.max(n,H.subscriptshift);if(e){b.placeBox(e,m+j.bbox.w+z,w)}if(i){b.placeBox(i,m+M-i.bbox.w,w)}if(l){b.placeBox(l,m+j.bbox.w+z-M,-n)}if(o){b.placeBox(o,m-o.bbox.w,-n)}}}this.HTMLhandleSpace(I);this.HTMLhandleColor(I);return I},HTMLgetScripts:function(p,q){var o,d,e=[];var n=1,g=this.data.length,f=0;for(var h=0;h<4;h+=2){while(n<g&&this.data[n].type!=="mprescripts"){for(var l=h;l<h+2;l++){if(this.data[n]&&this.data[n].type!=="none"){if(!e[l]){e[l]=b.createBox(p);e[l].bbox=this.HTMLemptyBBox({});if(f){b.createBlank(e[l],f);e[l].bbox.w=e[l].bbox.rw=f}}this.data[n].toHTML(e[l]);this.HTMLcombineBBoxes(this.data[n],e[l].bbox)}n++}d=e[h];o=e[h+1];if(d&&o){if(d.bbox.w<o.bbox.w){b.createBlank(d,o.bbox.w-d.bbox.w);d.bbox.w=o.bbox.w;d.bbox.rw=Math.max(d.bbox.w,d.bbox.rw)}else{if(d.bbox.w>o.bbox.w){b.createBlank(o,d.bbox.w-o.bbox.w);o.bbox.w=d.bbox.w;o.bbox.rw=Math.max(o.bbox.w,o.bbox.rw)}}}if(d){f=d.bbox.w}else{if(o){f=o.bbox.w}}}n++;f=0}for(l=0;l<4;l++){if(e[l]){e[l].bbox.w+=q;e[l].bbox.rw=Math.max(e[l].bbox.w,e[l].bbox.rw);this.HTMLcleanBBox(e[l].bbox)}}return e},HTMLstretchH:a.mbase.HTMLstretchH,HTMLstretchV:a.mbase.HTMLstretchV});MathJax.Hub.Startup.signal.Post("HTML-CSS mmultiscripts Ready");MathJax.Ajax.loadComplete(b.autoloadDir+"/mmultiscripts.js")});
|
||||||
|
|
||||||
|
|
File diff suppressed because one or more lines are too long
|
@ -12,5 +12,5 @@
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
*/
|
*/
|
||||||
|
|
||||||
MathJax.OutputJax["HTML-CSS"]=MathJax.OutputJax({id:"HTML-CSS",version:"1.1.5",directory:MathJax.OutputJax.directory+"/HTML-CSS",extensionDir:MathJax.OutputJax.extensionDir+"/HTML-CSS",autoloadDir:MathJax.OutputJax.directory+"/HTML-CSS/autoload",fontDir:MathJax.OutputJax.directory+"/HTML-CSS/fonts",webfontDir:MathJax.OutputJax.fontDir+"/HTML-CSS",config:{scale:100,minScaleAdjust:50,availableFonts:["STIX","TeX"],preferredFont:"TeX",webFont:"TeX",imageFont:"TeX",undefinedFamily:"STIXGeneral,'Arial Unicode MS',serif",showMathMenu:true,styles:{".MathJax_Display":{"text-align":"center",margin:"1em 0em"},".MathJax .merror":{"background-color":"#FFFF88",color:"#CC0000",border:"1px solid #CC0000",padding:"1px 3px","font-family":"serif","font-style":"normal","font-size":"90%"},".MathJax_Preview":{color:"#888888"},"#MathJax_Tooltip":{"background-color":"InfoBackground",color:"InfoText",border:"1px solid black","box-shadow":"2px 2px 5px #AAAAAA","-webkit-box-shadow":"2px 2px 5px #AAAAAA","-moz-box-shadow":"2px 2px 5px #AAAAAA","-khtml-box-shadow":"2px 2px 5px #AAAAAA",filter:"progid:DXImageTransform.Microsoft.dropshadow(OffX=2, OffY=2, Color='gray', Positive='true')",padding:"3px 4px"}}}});if(MathJax.Hub.Browser.isMSIE&&document.documentMode>=9){delete MathJax.OutputJax["HTML-CSS"].config.styles["#MathJax_Tooltip"].filter}if(!MathJax.Hub.config.delayJaxRegistration){MathJax.OutputJax["HTML-CSS"].Register("jax/mml")}MathJax.Hub.Register.StartupHook("End Config",[function(b,c){var a=b.Insert({minBrowserVersion:{Firefox:3,Opera:9.52,MSIE:6,Chrome:0.3,Safari:2,Konqueror:4},inlineMathDelimiters:["$","$"],displayMathDelimiters:["$$","$$"],multilineDisplay:true,minBrowserTranslate:function(f){var e=b.getJaxFor(f),k=["[Math]"],j;var h=document.createElement("span",{className:"MathJax_Preview"});if(e.inputJax.id==="TeX"){if(e.root.Get("displaystyle")){j=a.displayMathDelimiters;k=[j[0]+e.originalText+j[1]];if(a.multilineDisplay){k=k[0].split(/\n/)}}else{j=a.inlineMathDelimiters;k=[j[0]+e.originalText.replace(/^\s+/,"").replace(/\s+$/,"")+j[1]]}}for(var g=0,d=k.length;g<d;g++){h.appendChild(document.createTextNode(k[g]));if(g<d-1){h.appendChild(document.createElement("br"))}}f.parentNode.insertBefore(h,f)}},(b.config["HTML-CSS"]||{}));if(b.Browser.version!=="0.0"&&!b.Browser.versionAtLeast(a.minBrowserVersion[b.Browser]||0)){c.Translate=a.minBrowserTranslate;b.Config({showProcessingMessages:false});MathJax.Message.Set("Your browser does not support MathJax",null,4000);b.Startup.signal.Post("MathJax not supported")}},MathJax.Hub,MathJax.OutputJax["HTML-CSS"]]);MathJax.OutputJax["HTML-CSS"].loadComplete("config.js");
|
MathJax.OutputJax["HTML-CSS"]=MathJax.OutputJax({id:"HTML-CSS",version:"1.1.12",directory:MathJax.OutputJax.directory+"/HTML-CSS",extensionDir:MathJax.OutputJax.extensionDir+"/HTML-CSS",autoloadDir:MathJax.OutputJax.directory+"/HTML-CSS/autoload",fontDir:MathJax.OutputJax.directory+"/HTML-CSS/fonts",webfontDir:MathJax.OutputJax.fontDir+"/HTML-CSS",config:{scale:100,minScaleAdjust:50,availableFonts:["STIX","TeX"],preferredFont:"TeX",webFont:"TeX",imageFont:"TeX",undefinedFamily:"STIXGeneral,'Arial Unicode MS',serif",showMathMenu:true,styles:{".MathJax_Display":{"text-align":"center",margin:"1em 0em"},".MathJax .merror":{"background-color":"#FFFF88",color:"#CC0000",border:"1px solid #CC0000",padding:"1px 3px","font-family":"serif","font-style":"normal","font-size":"90%"},".MathJax_Preview":{color:"#888888"},"#MathJax_Tooltip":{"background-color":"InfoBackground",color:"InfoText",border:"1px solid black","box-shadow":"2px 2px 5px #AAAAAA","-webkit-box-shadow":"2px 2px 5px #AAAAAA","-moz-box-shadow":"2px 2px 5px #AAAAAA","-khtml-box-shadow":"2px 2px 5px #AAAAAA",filter:"progid:DXImageTransform.Microsoft.dropshadow(OffX=2, OffY=2, Color='gray', Positive='true')",padding:"3px 4px"}}}});if(MathJax.Hub.Browser.isMSIE&&document.documentMode>=9){delete MathJax.OutputJax["HTML-CSS"].config.styles["#MathJax_Tooltip"].filter}if(!MathJax.Hub.config.delayJaxRegistration){MathJax.OutputJax["HTML-CSS"].Register("jax/mml")}MathJax.Hub.Register.StartupHook("End Config",[function(b,c){var a=b.Insert({minBrowserVersion:{Firefox:3,Opera:9.52,MSIE:6,Chrome:0.3,Safari:2,Konqueror:4},inlineMathDelimiters:["$","$"],displayMathDelimiters:["$$","$$"],multilineDisplay:true,minBrowserTranslate:function(f){var e=b.getJaxFor(f),k=["[Math]"],j;var h=document.createElement("span",{className:"MathJax_Preview"});if(e.inputJax.id==="TeX"){if(e.root.Get("displaystyle")){j=a.displayMathDelimiters;k=[j[0]+e.originalText+j[1]];if(a.multilineDisplay){k=k[0].split(/\n/)}}else{j=a.inlineMathDelimiters;k=[j[0]+e.originalText.replace(/^\s+/,"").replace(/\s+$/,"")+j[1]]}}for(var g=0,d=k.length;g<d;g++){h.appendChild(document.createTextNode(k[g]));if(g<d-1){h.appendChild(document.createElement("br"))}}f.parentNode.insertBefore(h,f)}},(b.config["HTML-CSS"]||{}));if(b.Browser.version!=="0.0"&&!b.Browser.versionAtLeast(a.minBrowserVersion[b.Browser]||0)){c.Translate=a.minBrowserTranslate;b.Config({showProcessingMessages:false});MathJax.Message.Set("Your browser does not support MathJax",null,4000);b.Startup.signal.Post("MathJax not supported")}},MathJax.Hub,MathJax.OutputJax["HTML-CSS"]]);MathJax.OutputJax["HTML-CSS"].loadComplete("config.js");
|
||||||
|
|
||||||
|
|
File diff suppressed because one or more lines are too long
|
@ -30,7 +30,7 @@ if (!window.MathJax) {window.MathJax= {}}
|
||||||
if (!MathJax.Hub) { // skip if already loaded
|
if (!MathJax.Hub) { // skip if already loaded
|
||||||
|
|
||||||
MathJax.version = "1.1a";
|
MathJax.version = "1.1a";
|
||||||
MathJax.fileversion = "1.1.11";
|
MathJax.fileversion = "1.1.12";
|
||||||
|
|
||||||
/**********************************************************/
|
/**********************************************************/
|
||||||
|
|
||||||
|
@ -743,7 +743,7 @@ MathJax.fileversion = "1.1.11";
|
||||||
check.execute = this.execute; check.time = this.time;
|
check.execute = this.execute; check.time = this.time;
|
||||||
check.STATUS = AJAX.STATUS; check.timeout = timeout || AJAX.timeout;
|
check.STATUS = AJAX.STATUS; check.timeout = timeout || AJAX.timeout;
|
||||||
check.delay = check.total = 0;
|
check.delay = check.total = 0;
|
||||||
setTimeout(check,delay);
|
if (delay) {setTimeout(check,delay)} else {check()}
|
||||||
},
|
},
|
||||||
//
|
//
|
||||||
// Increment the time total, increase the delay
|
// Increment the time total, increase the delay
|
||||||
|
|
|
@ -136,7 +136,9 @@ MathJax.Hub.Register.StartupHook("HTML-CSS Jax Ready",function () {
|
||||||
MML.math.Augment({
|
MML.math.Augment({
|
||||||
toHTML: function (span,node) {
|
toHTML: function (span,node) {
|
||||||
if (this.data[0] && this.data[0].data[0] && this.data[0].data[0].isError) {
|
if (this.data[0] && this.data[0].data[0] && this.data[0].data[0].isError) {
|
||||||
return this.data[0].data[0].toHTML(span);
|
span = this.HTMLcreateSpan(span);
|
||||||
|
span.bbox = this.data[0].data[0].toHTML(span).bbox;
|
||||||
|
return span;
|
||||||
}
|
}
|
||||||
return math_toHTML.call(this,span,node);
|
return math_toHTML.call(this,span,node);
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,7 +27,7 @@ MathJax.ElementJax.mml = MathJax.ElementJax({
|
||||||
mimeType: "jax/mml"
|
mimeType: "jax/mml"
|
||||||
},{
|
},{
|
||||||
id: "mml",
|
id: "mml",
|
||||||
version: "1.1.1",
|
version: "1.1.3",
|
||||||
directory: MathJax.ElementJax.directory + "/mml",
|
directory: MathJax.ElementJax.directory + "/mml",
|
||||||
extensionDir: MathJax.ElementJax.extensionDir + "/mml",
|
extensionDir: MathJax.ElementJax.extensionDir + "/mml",
|
||||||
optableDir: MathJax.ElementJax.directory + "/mml/optable"
|
optableDir: MathJax.ElementJax.directory + "/mml/optable"
|
||||||
|
@ -215,6 +215,9 @@ MathJax.ElementJax.mml.Augment({
|
||||||
mathcolor: MML.INHERIT
|
mathcolor: MML.INHERIT
|
||||||
},
|
},
|
||||||
noInherit: {},
|
noInherit: {},
|
||||||
|
noInheritAttribute: {
|
||||||
|
texClass: true
|
||||||
|
},
|
||||||
|
|
||||||
Init: function () {
|
Init: function () {
|
||||||
this.data = [];
|
this.data = [];
|
||||||
|
@ -257,7 +260,7 @@ MathJax.ElementJax.mml.Augment({
|
||||||
{return (parent["adjustChild_"+name])(parent.childPosition(this))}
|
{return (parent["adjustChild_"+name])(parent.childPosition(this))}
|
||||||
var obj = this.inherit; var root = obj;
|
var obj = this.inherit; var root = obj;
|
||||||
while (obj) {
|
while (obj) {
|
||||||
if (typeof(obj[name]) !== "undefined") {
|
if (typeof(obj[name]) !== "undefined" && !obj.noInheritAttribute[name]) {
|
||||||
var noInherit = obj.noInherit[this.type];
|
var noInherit = obj.noInherit[this.type];
|
||||||
if (!(noInherit && noInherit[name])) {return obj[name]}
|
if (!(noInherit && noInherit[name])) {return obj[name]}
|
||||||
}
|
}
|
||||||
|
|
|
@ -24,7 +24,7 @@
|
||||||
|
|
||||||
MathJax.InputJax.TeX = MathJax.InputJax({
|
MathJax.InputJax.TeX = MathJax.InputJax({
|
||||||
id: "TeX",
|
id: "TeX",
|
||||||
version: "1.1.7",
|
version: "1.1.8",
|
||||||
directory: MathJax.InputJax.directory + "/TeX",
|
directory: MathJax.InputJax.directory + "/TeX",
|
||||||
extensionDir: MathJax.InputJax.extensionDir + "/TeX",
|
extensionDir: MathJax.InputJax.extensionDir + "/TeX",
|
||||||
|
|
||||||
|
|
|
@ -1125,7 +1125,7 @@
|
||||||
},
|
},
|
||||||
|
|
||||||
Spacer: function (name,space) {
|
Spacer: function (name,space) {
|
||||||
this.Push(MML.mspace().With({width: space, mathsize: MML.SIZE.NORMAL, scriptlevel:1}));
|
this.Push(MML.mspace().With({width: space, mathsize: MML.SIZE.NORMAL, scriptlevel:0}));
|
||||||
},
|
},
|
||||||
|
|
||||||
LeftRight: function (name) {
|
LeftRight: function (name) {
|
||||||
|
@ -1313,15 +1313,13 @@
|
||||||
if (name === "\\moveleft") {var tmp = h; h = nh; nh = tmp}
|
if (name === "\\moveleft") {var tmp = h; h = nh; nh = tmp}
|
||||||
this.Push(STACKITEM.position().With({
|
this.Push(STACKITEM.position().With({
|
||||||
name: name, move: 'horizontal',
|
name: name, move: 'horizontal',
|
||||||
left: MML.mspace().With({width: h, mathsize: MML.SIZE.NORMAL, scriptlevel:1}),
|
left: MML.mspace().With({width: h, mathsize: MML.SIZE.NORMAL}),
|
||||||
right: MML.mspace().With({width: nh, mathsize: MML.SIZE.NORMAL, scriptlevel:1})
|
right: MML.mspace().With({width: nh, mathsize: MML.SIZE.NORMAL})
|
||||||
}));
|
}));
|
||||||
},
|
},
|
||||||
|
|
||||||
Hskip: function (name) {
|
Hskip: function (name) {
|
||||||
this.Push(MML.mspace().With({
|
this.Push(MML.mspace().With({width: this.GetDimen(name), mathsize: MML.SIZE.NORMAL}));
|
||||||
width: this.GetDimen(name), mathsize: MML.SIZE.NORMAL, scriptlevel:0
|
|
||||||
}));
|
|
||||||
},
|
},
|
||||||
|
|
||||||
Rule: function (name,style) {
|
Rule: function (name,style) {
|
||||||
|
|
|
@ -22,7 +22,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
MathJax.Hub.Register.StartupHook("HTML-CSS Jax Ready",function () {
|
MathJax.Hub.Register.StartupHook("HTML-CSS Jax Ready",function () {
|
||||||
var VERSION = "1.1.1";
|
var VERSION = "1.1.2";
|
||||||
var MML = MathJax.ElementJax.mml,
|
var MML = MathJax.ElementJax.mml,
|
||||||
HTMLCSS = MathJax.OutputJax["HTML-CSS"];
|
HTMLCSS = MathJax.OutputJax["HTML-CSS"];
|
||||||
|
|
||||||
|
@ -36,8 +36,9 @@ MathJax.Hub.Register.StartupHook("HTML-CSS Jax Ready",function () {
|
||||||
if (values.color && !this.mathcolor) {values.mathcolor = values.color}
|
if (values.color && !this.mathcolor) {values.mathcolor = values.color}
|
||||||
if (values.thickness == null) {values.thickness = ".075em"}
|
if (values.thickness == null) {values.thickness = ".075em"}
|
||||||
if (values.padding == null) {values.padding = ".2em"}
|
if (values.padding == null) {values.padding = ".2em"}
|
||||||
var p = HTMLCSS.length2em(values.padding);
|
var mu = this.HTMLgetMu(span);
|
||||||
var t = HTMLCSS.length2em(values.thickness);
|
var p = HTMLCSS.length2em(values.padding,mu);
|
||||||
|
var t = HTMLCSS.length2em(values.thickness,mu);
|
||||||
var SOLID = HTMLCSS.Em(t)+" solid";
|
var SOLID = HTMLCSS.Em(t)+" solid";
|
||||||
|
|
||||||
span = this.HTMLcreateSpan(span);
|
span = this.HTMLcreateSpan(span);
|
||||||
|
|
|
@ -22,7 +22,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
MathJax.Hub.Register.StartupHook("HTML-CSS Jax Ready",function () {
|
MathJax.Hub.Register.StartupHook("HTML-CSS Jax Ready",function () {
|
||||||
var VERSION = "1.1";
|
var VERSION = "1.1.1";
|
||||||
var MML = MathJax.ElementJax.mml,
|
var MML = MathJax.ElementJax.mml,
|
||||||
HTMLCSS = MathJax.OutputJax["HTML-CSS"];
|
HTMLCSS = MathJax.OutputJax["HTML-CSS"];
|
||||||
|
|
||||||
|
@ -61,20 +61,21 @@ MathJax.Hub.Register.StartupHook("HTML-CSS Jax Ready",function () {
|
||||||
this.Append(err); err.toHTML(span); this.data.pop();
|
this.Append(err); err.toHTML(span); this.data.pop();
|
||||||
span.bbox = err.HTMLspanElement().bbox;
|
span.bbox = err.HTMLspanElement().bbox;
|
||||||
} else {
|
} else {
|
||||||
|
var mu = this.HTMLgetMu(span);
|
||||||
img = HTMLCSS.addElement(span,"img",{src:values.src, alt:values.alt, title:values.alt});
|
img = HTMLCSS.addElement(span,"img",{src:values.src, alt:values.alt, title:values.alt});
|
||||||
if (values.width) {
|
if (values.width) {
|
||||||
if (String(values.width).match(/^\s*-?\d+\s*$/)) {values.width += "px"}
|
if (String(values.width).match(/^\s*-?\d+\s*$/)) {values.width += "px"}
|
||||||
img.style.width = HTMLCSS.Em(HTMLCSS.length2em(values.width,this.img.img.width/HTMLCSS.em));
|
img.style.width = HTMLCSS.Em(HTMLCSS.length2em(values.width,mu,this.img.img.width/HTMLCSS.em));
|
||||||
}
|
}
|
||||||
if (values.height) {
|
if (values.height) {
|
||||||
if (String(values.height).match(/^\s*-?\d+\s*$/)) {values.height += "px"}
|
if (String(values.height).match(/^\s*-?\d+\s*$/)) {values.height += "px"}
|
||||||
img.style.height = HTMLCSS.Em(HTMLCSS.length2em(values.height,this.img.img.height/HTMLCSS.em));
|
img.style.height = HTMLCSS.Em(HTMLCSS.length2em(values.height,mu,this.img.img.height/HTMLCSS.em));
|
||||||
}
|
}
|
||||||
span.bbox.w = span.bbox.rw = img.offsetWidth/HTMLCSS.em;
|
span.bbox.w = span.bbox.rw = img.offsetWidth/HTMLCSS.em;
|
||||||
span.bbox.h = img.offsetHeight/HTMLCSS.em;
|
span.bbox.h = img.offsetHeight/HTMLCSS.em;
|
||||||
if (values.valign) {
|
if (values.valign) {
|
||||||
if (String(values.valign).match(/^\s*-?\d+\s*$/)) {values.valign += "px"}
|
if (String(values.valign).match(/^\s*-?\d+\s*$/)) {values.valign += "px"}
|
||||||
span.bbox.d = -HTMLCSS.length2em(values.valign,this.img.img.height/HTMLCSS.em);
|
span.bbox.d = -HTMLCSS.length2em(values.valign,mu,this.img.img.height/HTMLCSS.em);
|
||||||
img.style.verticalAlign = HTMLCSS.Em(-span.bbox.d);
|
img.style.verticalAlign = HTMLCSS.Em(-span.bbox.d);
|
||||||
span.bbox.h -= span.bbox.d;
|
span.bbox.h -= span.bbox.d;
|
||||||
}
|
}
|
||||||
|
|
|
@ -22,7 +22,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
MathJax.Hub.Register.StartupHook("HTML-CSS Jax Ready",function () {
|
MathJax.Hub.Register.StartupHook("HTML-CSS Jax Ready",function () {
|
||||||
var VERSION = "1.1";
|
var VERSION = "1.1.1";
|
||||||
var MML = MathJax.ElementJax.mml,
|
var MML = MathJax.ElementJax.mml,
|
||||||
HTMLCSS = MathJax.OutputJax["HTML-CSS"];
|
HTMLCSS = MathJax.OutputJax["HTML-CSS"];
|
||||||
|
|
||||||
|
@ -51,9 +51,9 @@ MathJax.Hub.Register.StartupHook("HTML-CSS Jax Ready",function () {
|
||||||
if (this.data[this.base].data.join("").length === 1 && base.bbox.scale === 1 &&
|
if (this.data[this.base].data.join("").length === 1 && base.bbox.scale === 1 &&
|
||||||
!this.data[this.base].Get("largeop")) {u = v = 0}
|
!this.data[this.base].Get("largeop")) {u = v = 0}
|
||||||
}
|
}
|
||||||
var min = this.getValues("subscriptshift","superscriptshift");
|
var min = this.getValues("subscriptshift","superscriptshift"), mu = this.HTMLgetMu(span);
|
||||||
min.subscriptshift = (min.subscriptshift === "" ? 0 : HTMLCSS.length2em(min.subscriptshift));
|
min.subscriptshift = (min.subscriptshift === "" ? 0 : HTMLCSS.length2em(min.subscriptshift,mu));
|
||||||
min.superscriptshift = (min.superscriptshift === "" ? 0 : HTMLCSS.length2em(min.superscriptshift));
|
min.superscriptshift = (min.superscriptshift === "" ? 0 : HTMLCSS.length2em(min.superscriptshift,mu));
|
||||||
|
|
||||||
var dx = 0;
|
var dx = 0;
|
||||||
if (presub) {dx = presub.bbox.w+delta} else if (presup) {dx = presup.bbox.w-delta}
|
if (presub) {dx = presub.bbox.w+delta} else if (presup) {dx = presup.bbox.w-delta}
|
||||||
|
|
|
@ -22,7 +22,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
MathJax.Hub.Register.StartupHook("HTML-CSS Jax Ready",function () {
|
MathJax.Hub.Register.StartupHook("HTML-CSS Jax Ready",function () {
|
||||||
var VERSION = "1.1";
|
var VERSION = "1.1.2";
|
||||||
var MML = MathJax.ElementJax.mml,
|
var MML = MathJax.ElementJax.mml,
|
||||||
HTMLCSS = MathJax.OutputJax["HTML-CSS"];
|
HTMLCSS = MathJax.OutputJax["HTML-CSS"];
|
||||||
|
|
||||||
|
@ -36,7 +36,7 @@ MathJax.Hub.Register.StartupHook("HTML-CSS Jax Ready",function () {
|
||||||
"align","useHeight","width","side","minlabelspacing");
|
"align","useHeight","width","side","minlabelspacing");
|
||||||
var hasRelativeWidth = values.width.match(/%$/);
|
var hasRelativeWidth = values.width.match(/%$/);
|
||||||
var stack = HTMLCSS.createStack(span);
|
var stack = HTMLCSS.createStack(span);
|
||||||
var scale = this.HTMLgetScale(); var LABEL = -1;
|
var scale = this.HTMLgetScale(), mu = this.HTMLgetMu(span), LABEL = -1;
|
||||||
|
|
||||||
var H = [], D = [], W = [], A = [], C = [], i, j, J = -1, m, M, s, row;
|
var H = [], D = [], W = [], A = [], C = [], i, j, J = -1, m, M, s, row;
|
||||||
var LHD = HTMLCSS.FONTDATA.baselineskip * scale * values.useHeight,
|
var LHD = HTMLCSS.FONTDATA.baselineskip * scale * values.useHeight,
|
||||||
|
@ -76,8 +76,8 @@ MathJax.Hub.Register.StartupHook("HTML-CSS Jax Ready",function () {
|
||||||
RLINES = values.rowlines.split(/ /),
|
RLINES = values.rowlines.split(/ /),
|
||||||
CWIDTH = values.columnwidth.split(/ /),
|
CWIDTH = values.columnwidth.split(/ /),
|
||||||
RCALIGN = [];
|
RCALIGN = [];
|
||||||
for (i = 0, m = CSPACE.length; i < m; i++) {CSPACE[i] = HTMLCSS.length2em(CSPACE[i])}
|
for (i = 0, m = CSPACE.length; i < m; i++) {CSPACE[i] = HTMLCSS.length2em(CSPACE[i],mu)}
|
||||||
for (i = 0, m = RSPACE.length; i < m; i++) {RSPACE[i] = HTMLCSS.length2em(RSPACE[i])}
|
for (i = 0, m = RSPACE.length; i < m; i++) {RSPACE[i] = HTMLCSS.length2em(RSPACE[i],mu)}
|
||||||
while (CSPACE.length < J) {CSPACE.push(CSPACE[CSPACE.length-1])}
|
while (CSPACE.length < J) {CSPACE.push(CSPACE[CSPACE.length-1])}
|
||||||
while (CALIGN.length <= J) {CALIGN.push(CALIGN[CALIGN.length-1])}
|
while (CALIGN.length <= J) {CALIGN.push(CALIGN[CALIGN.length-1])}
|
||||||
while (CLINES.length < J) {CLINES.push(CLINES[CLINES.length-1])}
|
while (CLINES.length < J) {CLINES.push(CLINES[CLINES.length-1])}
|
||||||
|
@ -101,6 +101,16 @@ MathJax.Hub.Register.StartupHook("HTML-CSS Jax Ready",function () {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//
|
||||||
|
// Handle equal heights
|
||||||
|
//
|
||||||
|
if (values.equalrows) {
|
||||||
|
// FIXME: should really be based on row align (below is for baseline)
|
||||||
|
var Hm = Math.max.apply(Math,H), Dm = Math.max.apply(Math,D);
|
||||||
|
for (i = 0, m = A.length; i < m; i++)
|
||||||
|
{s = ((Hm + Dm) - (H[i] + D[i])) / 2; H[i] += s; D[i] += s}
|
||||||
|
}
|
||||||
|
|
||||||
// FIXME: do background colors for entire cell (include half the intercolumn space?)
|
// FIXME: do background colors for entire cell (include half the intercolumn space?)
|
||||||
|
|
||||||
//
|
//
|
||||||
|
@ -114,18 +124,30 @@ MathJax.Hub.Register.StartupHook("HTML-CSS Jax Ready",function () {
|
||||||
var fx = 0, fy = 0, fW, fH = HD;
|
var fx = 0, fy = 0, fW, fH = HD;
|
||||||
if (values.frame !== "none" ||
|
if (values.frame !== "none" ||
|
||||||
(values.columnlines+values.rowlines).match(/solid|dashed/)) {
|
(values.columnlines+values.rowlines).match(/solid|dashed/)) {
|
||||||
fx = HTMLCSS.length2em(values.framespacing.split(/[, ]+/)[0]);
|
fx = HTMLCSS.length2em(values.framespacing.split(/[, ]+/)[0],mu);
|
||||||
fy = HTMLCSS.length2em(values.framespacing.split(/[, ]+/)[1]);
|
fy = HTMLCSS.length2em(values.framespacing.split(/[, ]+/)[1],mu);
|
||||||
fH = HD + 2*fy; // fW waits until stack.bbox.w is determined
|
fH = HD + 2*fy; // fW waits until stack.bbox.w is determined
|
||||||
}
|
}
|
||||||
//
|
//
|
||||||
// Compute alignment
|
// Compute alignment
|
||||||
//
|
//
|
||||||
var Y, fY;
|
var Y, fY, n = "";
|
||||||
if (String(values.align).match(/^\d+$/)) {
|
if (typeof(values.align) !== "string") {values.align = String(values.align)}
|
||||||
// FIXME: do row-based alignment
|
if (values.align.match(/(top|bottom|center|baseline|axis)( +(-?\d+))?/))
|
||||||
Y = HD/2 + HTMLCSS.TeX.axis_height*scale - H[0];
|
{n = RegExp.$3; values.align = RegExp.$1} else {values.align = "center"}
|
||||||
fY = -(HD/2 + fy);
|
if (n !== "") {
|
||||||
|
//
|
||||||
|
// Find the height of the given row
|
||||||
|
//
|
||||||
|
n = parseInt(n);
|
||||||
|
if (n < 0) {n = A.length + 1 + n}
|
||||||
|
if (n < 1) {n = 1} else if (n > A.length) {n = A.length}
|
||||||
|
Y = 0; fY = -(HD + fy) + H[0];
|
||||||
|
for (i = 0, m = n-1; i < m; i++) {
|
||||||
|
// FIXME: Should handle values.align for final row
|
||||||
|
var dY = Math.max((H[i]+D[i] ? LHD : 0),D[i]+H[i+1]+RSPACE[i]);
|
||||||
|
Y += dY; fY += dY;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
Y = ({
|
Y = ({
|
||||||
top: -(H[0] + fy),
|
top: -(H[0] + fy),
|
||||||
|
@ -158,7 +180,7 @@ MathJax.Hub.Register.StartupHook("HTML-CSS Jax Ready",function () {
|
||||||
for (i = 0, m = Math.min(J+1,CSPACE.length); i < m; i++) {WW += CSPACE[i]}
|
for (i = 0, m = Math.min(J+1,CSPACE.length); i < m; i++) {WW += CSPACE[i]}
|
||||||
} else {
|
} else {
|
||||||
// Get total width minus column spacing
|
// Get total width minus column spacing
|
||||||
WW = HTMLCSS.length2em(values.width);
|
WW = HTMLCSS.length2em(values.width,mu);
|
||||||
for (i = 0, m = Math.min(J+1,CSPACE.length); i < m; i++) {WW -= CSPACE[i]}
|
for (i = 0, m = Math.min(J+1,CSPACE.length); i < m; i++) {WW -= CSPACE[i]}
|
||||||
// Determine individual column widths
|
// Determine individual column widths
|
||||||
WW /= J+1;
|
WW /= J+1;
|
||||||
|
@ -174,8 +196,8 @@ MathJax.Hub.Register.StartupHook("HTML-CSS Jax Ready",function () {
|
||||||
if (CWIDTH[i] === "auto") {Wt += W[i]}
|
if (CWIDTH[i] === "auto") {Wt += W[i]}
|
||||||
else if (CWIDTH[i] === "fit") {F[f] = i; f++; Wt += W[i]}
|
else if (CWIDTH[i] === "fit") {F[f] = i; f++; Wt += W[i]}
|
||||||
else if (CWIDTH[i].match(/%$/))
|
else if (CWIDTH[i].match(/%$/))
|
||||||
{P[p] = i; p++; Wp += W[i]; WP += HTMLCSS.length2em(CWIDTH[i],1)}
|
{P[p] = i; p++; Wp += W[i]; WP += HTMLCSS.length2em(CWIDTH[i],mu,1)}
|
||||||
else {W[i] = HTMLCSS.length2em(CWIDTH[i]); Wt += W[i]}
|
else {W[i] = HTMLCSS.length2em(CWIDTH[i],mu); Wt += W[i]}
|
||||||
}
|
}
|
||||||
if (hasRelativeWidth) {
|
if (hasRelativeWidth) {
|
||||||
// Get separation width and check percentages
|
// Get separation width and check percentages
|
||||||
|
@ -186,12 +208,12 @@ MathJax.Hub.Register.StartupHook("HTML-CSS Jax Ready",function () {
|
||||||
if (values.width === "auto") {
|
if (values.width === "auto") {
|
||||||
if (WP > .98) {Wf = Wp/(Wt+Wp); WW = Wt + Wp} else {WW = Wt / (1-WP)}
|
if (WP > .98) {Wf = Wp/(Wt+Wp); WW = Wt + Wp} else {WW = Wt / (1-WP)}
|
||||||
} else {
|
} else {
|
||||||
WW = HTMLCSS.length2em(values.width);
|
WW = HTMLCSS.length2em(values.width,mu);
|
||||||
for (i = 0, m = Math.min(J+1,CSPACE.length); i < m; i++) {WW -= CSPACE[i]}
|
for (i = 0, m = Math.min(J+1,CSPACE.length); i < m; i++) {WW -= CSPACE[i]}
|
||||||
}
|
}
|
||||||
// Determine the relative column widths
|
// Determine the relative column widths
|
||||||
for (i = 0, m = P.length; i < m; i++) {
|
for (i = 0, m = P.length; i < m; i++) {
|
||||||
W[P[i]] = HTMLCSS.length2em(CWIDTH[P[i]],WW*Wf); Wt += W[P[i]];
|
W[P[i]] = HTMLCSS.length2em(CWIDTH[P[i]],mu,WW*Wf); Wt += W[P[i]];
|
||||||
}
|
}
|
||||||
// Stretch fit columns, if any, otherwise stretch (or shrink) everything
|
// Stretch fit columns, if any, otherwise stretch (or shrink) everything
|
||||||
if (Math.abs(WW - Wt) > .01) {
|
if (Math.abs(WW - Wt) > .01) {
|
||||||
|
@ -208,15 +230,6 @@ MathJax.Hub.Register.StartupHook("HTML-CSS Jax Ready",function () {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//
|
|
||||||
// Handle equal heights
|
|
||||||
//
|
|
||||||
if (values.equalrows) {
|
|
||||||
// FIXME: should really be based on row align (below is for baseline)
|
|
||||||
var Hm = Math.max.apply(Math,H), Dm = Math.max.apply(Math,D);
|
|
||||||
for (i = 0, m = A.length; i < m; i++)
|
|
||||||
{s = ((Hm + Dm) - (H[i] + D[i])) / 2; H[i] += s; D[i] += s}
|
|
||||||
}
|
|
||||||
|
|
||||||
//
|
//
|
||||||
// Lay out array columns
|
// Lay out array columns
|
||||||
|
@ -380,14 +393,14 @@ MathJax.Hub.Register.StartupHook("HTML-CSS Jax Ready",function () {
|
||||||
HTMLCSS.addBox(eqn,stack); HTMLCSS.alignBox(stack,indent.indentalign,0);
|
HTMLCSS.addBox(eqn,stack); HTMLCSS.alignBox(stack,indent.indentalign,0);
|
||||||
if (indent.indentshift && indent.indentalign !== MML.INDENTALIGN.CENTER) {
|
if (indent.indentshift && indent.indentalign !== MML.INDENTALIGN.CENTER) {
|
||||||
stack.style[{left:"Left",right:"Right"}[indent.indentalign]] =
|
stack.style[{left:"Left",right:"Right"}[indent.indentalign]] =
|
||||||
HTMLCSS.Em(HTMLCSS.length2em(indent.indentshift));
|
HTMLCSS.Em(HTMLCSS.length2em(indent.indentshift,mu));
|
||||||
}
|
}
|
||||||
C[LABEL].parentNode.parentNode.removeChild(C[LABEL].parentNode);
|
C[LABEL].parentNode.parentNode.removeChild(C[LABEL].parentNode);
|
||||||
HTMLCSS.addBox(eqn,C[LABEL]); HTMLCSS.alignBox(C[LABEL],CALIGN[LABEL],0);
|
HTMLCSS.addBox(eqn,C[LABEL]); HTMLCSS.alignBox(C[LABEL],CALIGN[LABEL],0);
|
||||||
if (HTMLCSS.msieRelativeWidthBug) {stack.style.top = C[LABEL].style.top = ""}
|
if (HTMLCSS.msieRelativeWidthBug) {stack.style.top = C[LABEL].style.top = ""}
|
||||||
if (hasRelativeWidth) {stack.style.width = values.width; span.bbox.width = "100%"}
|
if (hasRelativeWidth) {stack.style.width = values.width; span.bbox.width = "100%"}
|
||||||
C[LABEL].style.marginRight = C[LABEL].style.marginLeft =
|
C[LABEL].style.marginRight = C[LABEL].style.marginLeft =
|
||||||
HTMLCSS.Em(HTMLCSS.length2em(values.minlabelspacing));
|
HTMLCSS.Em(HTMLCSS.length2em(values.minlabelspacing,mu));
|
||||||
}
|
}
|
||||||
//
|
//
|
||||||
// Finish the table
|
// Finish the table
|
||||||
|
|
|
@ -24,7 +24,7 @@
|
||||||
|
|
||||||
MathJax.OutputJax["HTML-CSS"] = MathJax.OutputJax({
|
MathJax.OutputJax["HTML-CSS"] = MathJax.OutputJax({
|
||||||
id: "HTML-CSS",
|
id: "HTML-CSS",
|
||||||
version: "1.1.5",
|
version: "1.1.12",
|
||||||
directory: MathJax.OutputJax.directory + "/HTML-CSS",
|
directory: MathJax.OutputJax.directory + "/HTML-CSS",
|
||||||
extensionDir: MathJax.OutputJax.extensionDir + "/HTML-CSS",
|
extensionDir: MathJax.OutputJax.extensionDir + "/HTML-CSS",
|
||||||
autoloadDir: MathJax.OutputJax.directory + "/HTML-CSS/autoload",
|
autoloadDir: MathJax.OutputJax.directory + "/HTML-CSS/autoload",
|
||||||
|
|
|
@ -39,8 +39,9 @@
|
||||||
|
|
||||||
Init: function () {
|
Init: function () {
|
||||||
this.div = MathJax.HTML.addElement(document.body,"div",{
|
this.div = MathJax.HTML.addElement(document.body,"div",{
|
||||||
|
id: "MathJax_Font_Test",
|
||||||
style: {position:"absolute", visibility:"hidden", top:0, left:0, width: "auto",
|
style: {position:"absolute", visibility:"hidden", top:0, left:0, width: "auto",
|
||||||
padding:0, border:0, margin:0,
|
padding:0, border:0, margin:0, "white-space":"nowrap",
|
||||||
textAlign:"left", textIndent:0, textTransform:"none",
|
textAlign:"left", textIndent:0, textTransform:"none",
|
||||||
lineHeight:"normal", letterSpacing:"normal", wordSpacing:"normal",
|
lineHeight:"normal", letterSpacing:"normal", wordSpacing:"normal",
|
||||||
fontSize:this.testSize[0], fontWeight:"normal", fontStyle:"normal"}
|
fontSize:this.testSize[0], fontWeight:"normal", fontStyle:"normal"}
|
||||||
|
@ -132,7 +133,7 @@
|
||||||
var n = MathJax.Message.File("Web-Font "+HTMLCSS.fontInUse+"/"+font.directory);
|
var n = MathJax.Message.File("Web-Font "+HTMLCSS.fontInUse+"/"+font.directory);
|
||||||
var done = MathJax.Callback({}); // called when font is loaded
|
var done = MathJax.Callback({}); // called when font is loaded
|
||||||
var callback = MathJax.Callback(["loadComplete",this,font,n,done]);
|
var callback = MathJax.Callback(["loadComplete",this,font,n,done]);
|
||||||
AJAX.timer.start(AJAX,[this.checkWebFont,font,callback],1,this.timeout);
|
AJAX.timer.start(AJAX,[this.checkWebFont,font,callback],0,this.timeout);
|
||||||
return done;
|
return done;
|
||||||
},
|
},
|
||||||
loadComplete: function (font,n,done,status) {
|
loadComplete: function (font,n,done,status) {
|
||||||
|
@ -524,7 +525,7 @@
|
||||||
},
|
},
|
||||||
getW: function (span) {
|
getW: function (span) {
|
||||||
var W = span.offsetWidth, w = (span.bbox ? span.bbox.w: -1), start = span;
|
var W = span.offsetWidth, w = (span.bbox ? span.bbox.w: -1), start = span;
|
||||||
if ((w < 0 || this.negativeSkipBug) && W >= 0) {
|
if ((w < 0 || this.negativeSkipBug) && W >= 0 && !span.style.width) {
|
||||||
// IE can't deal with a space at the beginning, so put something else first
|
// IE can't deal with a space at the beginning, so put something else first
|
||||||
if (this.negativeSkipBug) {
|
if (this.negativeSkipBug) {
|
||||||
var position = span.style.position; span.style.position = "absolute";
|
var position = span.style.position; span.style.position = "absolute";
|
||||||
|
@ -564,10 +565,7 @@
|
||||||
Percent: function (m) {
|
Percent: function (m) {
|
||||||
return (100*m).toFixed(1).replace(/\.?0+$/,"") + "%";
|
return (100*m).toFixed(1).replace(/\.?0+$/,"") + "%";
|
||||||
},
|
},
|
||||||
length2percent: function (length) {
|
length2em: function (length,mu,size) {
|
||||||
return this.Percent(this.length2em(length));
|
|
||||||
},
|
|
||||||
length2em: function (length,size) {
|
|
||||||
if (typeof(length) !== "string") {length = length.toString()}
|
if (typeof(length) !== "string") {length = length.toString()}
|
||||||
if (length === "") {return ""}
|
if (length === "") {return ""}
|
||||||
if (length === MML.SIZE.NORMAL) {return 1}
|
if (length === MML.SIZE.NORMAL) {return 1}
|
||||||
|
@ -578,7 +576,7 @@
|
||||||
if (length.match(/mathspace$/)) {return HTMLCSS.MATHSPACE[length]*factor}
|
if (length.match(/mathspace$/)) {return HTMLCSS.MATHSPACE[length]*factor}
|
||||||
var match = length.match(/^\s*([-+]?(?:\.\d+|\d+(?:\.\d*)?))?(pt|em|ex|mu|px|pc|in|mm|cm|%)?/);
|
var match = length.match(/^\s*([-+]?(?:\.\d+|\d+(?:\.\d*)?))?(pt|em|ex|mu|px|pc|in|mm|cm|%)?/);
|
||||||
var m = parseFloat(match[1]||"1"), unit = match[2];
|
var m = parseFloat(match[1]||"1"), unit = match[2];
|
||||||
if (size == null) {size = 1}
|
if (size == null) {size = 1}; if (mu == null) {mu = 1}
|
||||||
if (unit === "em") {return m * factor}
|
if (unit === "em") {return m * factor}
|
||||||
if (unit === "ex") {return m * HTMLCSS.TeX.x_height * factor}
|
if (unit === "ex") {return m * HTMLCSS.TeX.x_height * factor}
|
||||||
if (unit === "%") {return m / 100 * size}
|
if (unit === "%") {return m / 100 * size}
|
||||||
|
@ -588,15 +586,15 @@
|
||||||
if (unit === "in") {return m * this.pxPerInch / HTMLCSS.em}
|
if (unit === "in") {return m * this.pxPerInch / HTMLCSS.em}
|
||||||
if (unit === "cm") {return m * this.pxPerInch / HTMLCSS.em / 2.54} // 2.54 cm to an inch
|
if (unit === "cm") {return m * this.pxPerInch / HTMLCSS.em / 2.54} // 2.54 cm to an inch
|
||||||
if (unit === "mm") {return m * this.pxPerInch / HTMLCSS.em / 25.4} // 10 mm to a cm
|
if (unit === "mm") {return m * this.pxPerInch / HTMLCSS.em / 25.4} // 10 mm to a cm
|
||||||
if (unit === "mu") {return m / 18 * factor} // FIXME: needs to include scale
|
if (unit === "mu") {return m / 18 * factor * mu} // 18mu to an em for the scriptlevel
|
||||||
return m*factor*size; // relative to given size (or 1em as default)
|
return m*factor*size; // relative to given size (or 1em as default)
|
||||||
},
|
},
|
||||||
thickness2em: function (length) {
|
thickness2em: function (length,mu) {
|
||||||
var thick = HTMLCSS.TeX.rule_thickness;
|
var thick = HTMLCSS.TeX.rule_thickness;
|
||||||
if (length === MML.LINETHICKNESS.MEDIUM) {return thick}
|
if (length === MML.LINETHICKNESS.MEDIUM) {return thick}
|
||||||
if (length === MML.LINETHICKNESS.THIN) {return .67*thick}
|
if (length === MML.LINETHICKNESS.THIN) {return .67*thick}
|
||||||
if (length === MML.LINETHICKNESS.THICK) {return 1.67*thick}
|
if (length === MML.LINETHICKNESS.THICK) {return 1.67*thick}
|
||||||
return this.length2em(length,thick);
|
return this.length2em(length,mu,thick);
|
||||||
},
|
},
|
||||||
|
|
||||||
createStrut: function (span,h,before) {
|
createStrut: function (span,h,before) {
|
||||||
|
@ -640,17 +638,20 @@
|
||||||
if (HTMLCSS.safariNegativeSpaceBug && span.parentNode.firstChild == span)
|
if (HTMLCSS.safariNegativeSpaceBug && span.parentNode.firstChild == span)
|
||||||
{this.createBlank(span,0,true)}
|
{this.createBlank(span,0,true)}
|
||||||
}
|
}
|
||||||
if (color && color !== MML.COLOR.TRANSPARENT) {span.style.backgroundColor = color}
|
if (color && color !== MML.COLOR.TRANSPARENT) {
|
||||||
|
span.style.backgroundColor = color;
|
||||||
|
span.style.position = "relative"; // make sure it covers earlier items
|
||||||
|
}
|
||||||
return span;
|
return span;
|
||||||
},
|
},
|
||||||
createRule: function (span,h,d,w,color) {
|
createRule: function (span,h,d,w,color) {
|
||||||
var min = HTMLCSS.TeX.min_rule_thickness;
|
var min = HTMLCSS.TeX.min_rule_thickness, f = 1;
|
||||||
// If rule is very thin, make it at least min_rule_thickness so it doesn't disappear
|
// If rule is very thin, make it at least min_rule_thickness so it doesn't disappear
|
||||||
if (w > 0 && w*this.em < min) {w = min/this.em}
|
if (w > 0 && w*this.em < min) {w = min/this.em}
|
||||||
if (h+d > 0 && (h+d)*this.em < min) {var f = 1/(h+d)*(min/this.em); h *= f; d *= f}
|
if (h+d > 0 && (h+d)*this.em < min) {f = 1/(h+d)*(min/this.em); h *= f; d *= f}
|
||||||
if (!color) {color = "solid"} else {color = "solid "+color}
|
if (!color) {color = "solid"} else {color = "solid "+color}
|
||||||
color = this.Em(w)+" "+color;
|
color = this.Em(w)+" "+color;
|
||||||
var H = this.Em(h+d), D = this.Em(-d);
|
var H = (f === 1 ? this.Em(h+d) : min+"px"), D = this.Em(-d);
|
||||||
var rule = this.addElement(span,"span",{
|
var rule = this.addElement(span,"span",{
|
||||||
style: {borderLeft: color, display: "inline-block", overflow:"hidden",
|
style: {borderLeft: color, display: "inline-block", overflow:"hidden",
|
||||||
width:0, height:H, verticalAlign:D},
|
width:0, height:H, verticalAlign:D},
|
||||||
|
@ -1328,7 +1329,7 @@
|
||||||
if (values.background && !this.mathbackground) {values.mathbackground = values.background}
|
if (values.background && !this.mathbackground) {values.mathbackground = values.background}
|
||||||
if (values.mathcolor) {span.style.color = values.mathcolor}
|
if (values.mathcolor) {span.style.color = values.mathcolor}
|
||||||
if (values.mathbackground && values.mathbackground !== MML.COLOR.TRANSPARENT) {
|
if (values.mathbackground && values.mathbackground !== MML.COLOR.TRANSPARENT) {
|
||||||
var dd = 1/HTMLCSS.em, lW = 0, rW = 0;
|
var dd = (span.bbox.exact ? 0 : 1/HTMLCSS.em), lW = 0, rW = 0;
|
||||||
if (this.isToken) {lW = span.bbox.lw; rW = span.bbox.rw - span.bbox.w}
|
if (this.isToken) {lW = span.bbox.lw; rW = span.bbox.rw - span.bbox.w}
|
||||||
if (span.style.paddingLeft !== "") {lW += parseFloat(span.style.paddingLeft)*(span.scale||1)}
|
if (span.style.paddingLeft !== "") {lW += parseFloat(span.style.paddingLeft)*(span.scale||1)}
|
||||||
if (span.style.paddingRight !== "") {rW -= parseFloat(span.style.paddingRight)*(span.scale||1)}
|
if (span.style.paddingRight !== "") {rW -= parseFloat(span.style.paddingRight)*(span.scale||1)}
|
||||||
|
@ -1367,9 +1368,10 @@
|
||||||
if (this.useMMLspacing) {
|
if (this.useMMLspacing) {
|
||||||
if (this.type !== "mo") return;
|
if (this.type !== "mo") return;
|
||||||
var values = this.getValues("scriptlevel","lspace","rspace");
|
var values = this.getValues("scriptlevel","lspace","rspace");
|
||||||
if (values.scriptlevel <= 0 || this.hasValue("lspace") || this.hasValue("rspace")) {
|
if (values.scriptlevel <= 0 || this.hasValue("lspace") || this.hasValue("rspace")) {
|
||||||
values.lspace = Math.max(0,HTMLCSS.length2em(values.lspace));
|
var mu = this.HTMLgetMu(span);
|
||||||
values.rspace = Math.max(0,HTMLCSS.length2em(values.rspace));
|
values.lspace = Math.max(0,HTMLCSS.length2em(values.lspace,mu));
|
||||||
|
values.rspace = Math.max(0,HTMLCSS.length2em(values.rspace,mu));
|
||||||
var core = this, parent = this.Parent();
|
var core = this, parent = this.Parent();
|
||||||
while (parent && parent.isEmbellished() && parent.Core() === core)
|
while (parent && parent.isEmbellished() && parent.Core() === core)
|
||||||
{core = parent; parent = parent.Parent(); span = core.HTMLspanElement()}
|
{core = parent; parent = parent.Parent(); span = core.HTMLspanElement()}
|
||||||
|
@ -1379,7 +1381,7 @@
|
||||||
} else {
|
} else {
|
||||||
var space = this.texSpacing();
|
var space = this.texSpacing();
|
||||||
if (space !== "") {
|
if (space !== "") {
|
||||||
space = HTMLCSS.length2em(space)/(span.scale||1);
|
space = HTMLCSS.length2em(space,this.HTMLgetScale())/(span.scale||1);
|
||||||
if (span.style.paddingLeft) {space += parseFloat(span.style.paddingLeft)}
|
if (span.style.paddingLeft) {space += parseFloat(span.style.paddingLeft)}
|
||||||
span.style.paddingLeft = HTMLCSS.Em(space);
|
span.style.paddingLeft = HTMLCSS.Em(space);
|
||||||
}
|
}
|
||||||
|
@ -1402,6 +1404,15 @@
|
||||||
scale *= HTMLCSS.length2em(values.mathsize);
|
scale *= HTMLCSS.length2em(values.mathsize);
|
||||||
return scale;
|
return scale;
|
||||||
},
|
},
|
||||||
|
HTMLgetMu: function (span) {
|
||||||
|
var mu = 1, values = this.getValues("scriptlevel","scriptsizemultiplier");
|
||||||
|
if (span.scale && span.scale !== 1) {mu = 1/span.scale}
|
||||||
|
if (values.scriptlevel !== 0) {
|
||||||
|
if (values.scriptlevel > 2) {values.scriptlevel = 2}
|
||||||
|
mu = Math.sqrt(Math.pow(values.scriptsizemultiplier,values.scriptlevel));
|
||||||
|
}
|
||||||
|
return mu;
|
||||||
|
},
|
||||||
|
|
||||||
HTMLgetVariant: function () {
|
HTMLgetVariant: function () {
|
||||||
var values = this.getValues("mathvariant","fontfamily","fontweight","fontstyle");
|
var values = this.getValues("mathvariant","fontfamily","fontweight","fontstyle");
|
||||||
|
@ -1559,11 +1570,11 @@
|
||||||
HTMLstretchV: function (box,h,d) {
|
HTMLstretchV: function (box,h,d) {
|
||||||
this.HTMLremoveColor();
|
this.HTMLremoveColor();
|
||||||
var values = this.getValues("symmetric","maxsize","minsize");
|
var values = this.getValues("symmetric","maxsize","minsize");
|
||||||
var span = this.HTMLspanElement(), H;
|
var span = this.HTMLspanElement(), mu = this.HTMLgetMu(span), H;
|
||||||
var axis = HTMLCSS.TeX.axis_height, scale = span.scale;
|
var axis = HTMLCSS.TeX.axis_height, scale = span.scale;
|
||||||
if (values.symmetric) {H = 2*Math.max(h-axis,d+axis)} else {H = h + d}
|
if (values.symmetric) {H = 2*Math.max(h-axis,d+axis)} else {H = h + d}
|
||||||
values.maxsize = HTMLCSS.length2em(values.maxsize,span.bbox.h+span.bbox.d);
|
values.maxsize = HTMLCSS.length2em(values.maxsize,mu,span.bbox.h+span.bbox.d);
|
||||||
values.minsize = HTMLCSS.length2em(values.minsize,span.bbox.h+span.bbox.d);
|
values.minsize = HTMLCSS.length2em(values.minsize,mu,span.bbox.h+span.bbox.d);
|
||||||
H = Math.max(values.minsize,Math.min(values.maxsize,H));
|
H = Math.max(values.minsize,Math.min(values.maxsize,H));
|
||||||
span = this.HTMLcreateSpan(box); // clear contents and attributes
|
span = this.HTMLcreateSpan(box); // clear contents and attributes
|
||||||
HTMLCSS.createDelimiter(span,this.data.join("").charCodeAt(0),H,scale);
|
HTMLCSS.createDelimiter(span,this.data.join("").charCodeAt(0),H,scale);
|
||||||
|
@ -1578,9 +1589,9 @@
|
||||||
this.HTMLremoveColor();
|
this.HTMLremoveColor();
|
||||||
var values = this.getValues("maxsize","minsize","mathvariant","fontweight");
|
var values = this.getValues("maxsize","minsize","mathvariant","fontweight");
|
||||||
if (values.fontweight === "bold" && !this.mathvariant) {values.mathvariant = MML.VARIANT.BOLD}
|
if (values.fontweight === "bold" && !this.mathvariant) {values.mathvariant = MML.VARIANT.BOLD}
|
||||||
var span = this.HTMLspanElement(), scale = span.scale;
|
var span = this.HTMLspanElement(), mu = this.HTMLgetMu(span), scale = span.scale;
|
||||||
values.maxsize = HTMLCSS.length2em(values.maxsize,span.bbox.w);
|
values.maxsize = HTMLCSS.length2em(values.maxsize,mu,span.bbox.w);
|
||||||
values.minsize = HTMLCSS.length2em(values.minsize,span.bbox.w);
|
values.minsize = HTMLCSS.length2em(values.minsize,mu,span.bbox.w);
|
||||||
W = Math.max(values.minsize,Math.min(values.maxsize,W));
|
W = Math.max(values.minsize,Math.min(values.maxsize,W));
|
||||||
span = this.HTMLcreateSpan(box); // clear contents and attributes
|
span = this.HTMLcreateSpan(box); // clear contents and attributes
|
||||||
HTMLCSS.createDelimiter(span,this.data.join("").charCodeAt(0),W,scale,values.mathvariant);
|
HTMLCSS.createDelimiter(span,this.data.join("").charCodeAt(0),W,scale,values.mathvariant);
|
||||||
|
@ -1619,10 +1630,12 @@
|
||||||
toHTML: function (span) {
|
toHTML: function (span) {
|
||||||
span = this.HTMLhandleSize(this.HTMLcreateSpan(span));
|
span = this.HTMLhandleSize(this.HTMLcreateSpan(span));
|
||||||
var values = this.getValues("height","depth","width");
|
var values = this.getValues("height","depth","width");
|
||||||
|
var mu = this.HTMLgetMu(span);
|
||||||
values.mathbackground = this.mathbackground;
|
values.mathbackground = this.mathbackground;
|
||||||
if (this.background && !this.mathbackground) {values.mathbackground = this.background}
|
if (this.background && !this.mathbackground) {values.mathbackground = this.background}
|
||||||
var h = HTMLCSS.length2em(values.height), d = HTMLCSS.length2em(values.depth),
|
var h = HTMLCSS.length2em(values.height,mu) / span.scale,
|
||||||
w = HTMLCSS.length2em(values.width);
|
d = HTMLCSS.length2em(values.depth,mu) / span.scale,
|
||||||
|
w = HTMLCSS.length2em(values.width,mu) / span.scale;
|
||||||
HTMLCSS.createSpace(span,h,d,w,values.mathbackground);
|
HTMLCSS.createSpace(span,h,d,w,values.mathbackground);
|
||||||
return span;
|
return span;
|
||||||
}
|
}
|
||||||
|
@ -1656,9 +1669,10 @@
|
||||||
HTMLCSS.Measured(this.data[0].toHTML(box),box);
|
HTMLCSS.Measured(this.data[0].toHTML(box),box);
|
||||||
if (D != null) {HTMLCSS.Remeasured(this.data[0].HTMLstretchV(box,HW,D),box)}
|
if (D != null) {HTMLCSS.Remeasured(this.data[0].HTMLstretchV(box,HW,D),box)}
|
||||||
else if (HW != null) {HTMLCSS.Remeasured(this.data[0].HTMLstretchH(box,HW),box)}
|
else if (HW != null) {HTMLCSS.Remeasured(this.data[0].HTMLstretchH(box,HW),box)}
|
||||||
var values = this.getValues("height","depth","width","lspace","voffset"), x = 0, y = 0;
|
var values = this.getValues("height","depth","width","lspace","voffset"),
|
||||||
if (values.lspace) {x = this.HTMLlength2em(box,values.lspace)}
|
x = 0, y = 0, mu = this.HTMLgetMu(span);
|
||||||
if (values.voffset) {y = this.HTMLlength2em(box,values.voffset)}
|
if (values.lspace) {x = this.HTMLlength2em(box,values.lspace,mu)}
|
||||||
|
if (values.voffset) {y = this.HTMLlength2em(box,values.voffset,mu)}
|
||||||
HTMLCSS.placeBox(box,x,y);
|
HTMLCSS.placeBox(box,x,y);
|
||||||
span.bbox = {
|
span.bbox = {
|
||||||
h: box.bbox.h, d: box.bbox.d, w: box.bbox.w,
|
h: box.bbox.h, d: box.bbox.d, w: box.bbox.w,
|
||||||
|
@ -1666,22 +1680,25 @@
|
||||||
H: Math.max((box.bbox.H == null ? -HTMLCSS.BIGDIMEN : box.bbox.H),box.bbox.h+y),
|
H: Math.max((box.bbox.H == null ? -HTMLCSS.BIGDIMEN : box.bbox.H),box.bbox.h+y),
|
||||||
D: Math.max((box.bbox.D == null ? -HTMLCSS.BIGDIMEN : box.bbox.D),box.bbox.d-y)
|
D: Math.max((box.bbox.D == null ? -HTMLCSS.BIGDIMEN : box.bbox.D),box.bbox.d-y)
|
||||||
};
|
};
|
||||||
if (values.height !== "") {span.bbox.h = this.HTMLlength2em(box,values.height,"h",0)}
|
if (values.height !== "") {span.bbox.h = this.HTMLlength2em(box,values.height,mu,"h",0)}
|
||||||
if (values.depth !== "") {span.bbox.d = this.HTMLlength2em(box,values.depth,"d",0)}
|
if (values.depth !== "") {span.bbox.d = this.HTMLlength2em(box,values.depth,mu,"d",0)}
|
||||||
if (values.width !== "") {span.bbox.w = this.HTMLlength2em(box,values.width,"w",0)}
|
if (values.width !== "") {span.bbox.w = this.HTMLlength2em(box,values.width,mu,"w",0)}
|
||||||
if (span.bbox.H <= span.bbox.h) {delete span.bbox.H}
|
if (span.bbox.H <= span.bbox.h) {delete span.bbox.H}
|
||||||
if (span.bbox.D <= span.bbox.d) {delete span.bbox.D}
|
if (span.bbox.D <= span.bbox.d) {delete span.bbox.D}
|
||||||
|
var dimen = /^\s*(\d+(\.\d*)?|\.\d+)\s*(pt|em|ex|mu|px|pc|in|mm|cm)\s*$/
|
||||||
|
span.bbox.exact = (this.data[0] && this.data[0].data.length == 0) ||
|
||||||
|
dimen.exec(values.height) || dimen.exec(values.width) || dimen.exec(values.depth);
|
||||||
HTMLCSS.setStackWidth(stack,span.bbox.w);
|
HTMLCSS.setStackWidth(stack,span.bbox.w);
|
||||||
}
|
}
|
||||||
this.HTMLhandleSpace(span);
|
this.HTMLhandleSpace(span);
|
||||||
this.HTMLhandleColor(span);
|
this.HTMLhandleColor(span);
|
||||||
return span;
|
return span;
|
||||||
},
|
},
|
||||||
HTMLlength2em: function (span,length,d,m) {
|
HTMLlength2em: function (span,length,mu,d,m) {
|
||||||
if (m == null) {m = -HTMLCSS.BIGDIMEN}
|
if (m == null) {m = -HTMLCSS.BIGDIMEN}
|
||||||
var match = String(length).match(/width|height|depth/);
|
var match = String(length).match(/width|height|depth/);
|
||||||
var size = (match ? span.bbox[match[0].charAt(0)] : (d ? span.bbox[d] : null));
|
var size = (match ? span.bbox[match[0].charAt(0)] : (d ? span.bbox[d] : null));
|
||||||
var v = HTMLCSS.length2em(length,size);
|
var v = HTMLCSS.length2em(length,mu,size);
|
||||||
if (d && String(length).match(/^\s*[-+]/))
|
if (d && String(length).match(/^\s*[-+]/))
|
||||||
{return Math.max(m,span.bbox[d]+v)} else {return v}
|
{return Math.max(m,span.bbox[d]+v)} else {return v}
|
||||||
},
|
},
|
||||||
|
@ -1748,7 +1765,7 @@
|
||||||
HTMLCSS.placeBox(den,num.bbox.w+bevel.bbox.w-delta,(den.bbox.d-den.bbox.h)/2+a-delta);
|
HTMLCSS.placeBox(den,num.bbox.w+bevel.bbox.w-delta,(den.bbox.d-den.bbox.h)/2+a-delta);
|
||||||
} else {
|
} else {
|
||||||
var W = Math.max(num.bbox.w,den.bbox.w);
|
var W = Math.max(num.bbox.w,den.bbox.w);
|
||||||
var t = HTMLCSS.thickness2em(values.linethickness), p,q, u,v;
|
var t = HTMLCSS.thickness2em(values.linethickness,scale), p,q, u,v;
|
||||||
var mt = HTMLCSS.TeX.min_rule_thickness/this.em;
|
var mt = HTMLCSS.TeX.min_rule_thickness/this.em;
|
||||||
if (isDisplay) {u = HTMLCSS.TeX.num1; v = HTMLCSS.TeX.denom1}
|
if (isDisplay) {u = HTMLCSS.TeX.num1; v = HTMLCSS.TeX.denom1}
|
||||||
else {u = (t === 0 ? HTMLCSS.TeX.num3 : HTMLCSS.TeX.num2); v = HTMLCSS.TeX.denom2}
|
else {u = (t === 0 ? HTMLCSS.TeX.num3 : HTMLCSS.TeX.num2); v = HTMLCSS.TeX.denom2}
|
||||||
|
@ -1989,7 +2006,8 @@
|
||||||
|
|
||||||
MML.msubsup.Augment({
|
MML.msubsup.Augment({
|
||||||
toHTML: function (span,HW,D) {
|
toHTML: function (span,HW,D) {
|
||||||
span = this.HTMLcreateSpan(span); var scale = this.HTMLgetScale();
|
span = this.HTMLcreateSpan(span);
|
||||||
|
var scale = this.HTMLgetScale(), mu = this.HTMLgetMu(span);
|
||||||
var stack = HTMLCSS.createStack(span), values;
|
var stack = HTMLCSS.createStack(span), values;
|
||||||
var base = HTMLCSS.createBox(stack);
|
var base = HTMLCSS.createBox(stack);
|
||||||
this.HTMLmeasureChild(this.base,base);
|
this.HTMLmeasureChild(this.base,base);
|
||||||
|
@ -2021,8 +2039,8 @@
|
||||||
!this.data[this.base].Get("largeop")) {u = v = 0}
|
!this.data[this.base].Get("largeop")) {u = v = 0}
|
||||||
}
|
}
|
||||||
var min = this.getValues("subscriptshift","superscriptshift");
|
var min = this.getValues("subscriptshift","superscriptshift");
|
||||||
min.subscriptshift = (min.subscriptshift === "" ? 0 : HTMLCSS.length2em(min.subscriptshift));
|
min.subscriptshift = (min.subscriptshift === "" ? 0 : HTMLCSS.length2em(min.subscriptshift,mu));
|
||||||
min.superscriptshift = (min.superscriptshift === "" ? 0 : HTMLCSS.length2em(min.superscriptshift));
|
min.superscriptshift = (min.superscriptshift === "" ? 0 : HTMLCSS.length2em(min.superscriptshift,mu));
|
||||||
if (!sup) {
|
if (!sup) {
|
||||||
if (sub) {
|
if (sub) {
|
||||||
v = Math.max(v,HTMLCSS.TeX.sub1*scale,sub.bbox.h-(4/5)*x_height,min.subscriptshift);
|
v = Math.max(v,HTMLCSS.TeX.sub1*scale,sub.bbox.h-(4/5)*x_height,min.subscriptshift);
|
||||||
|
@ -2082,7 +2100,7 @@
|
||||||
//
|
//
|
||||||
// Adjust bbox to match outer em-size
|
// Adjust bbox to match outer em-size
|
||||||
//
|
//
|
||||||
var f = HTMLCSS.em / HTMLCSS.outerEm; HTMLCSS.em /= f;
|
var p = 1/HTMLCSS.em, f = HTMLCSS.em / HTMLCSS.outerEm; HTMLCSS.em /= f;
|
||||||
span.bbox.h *= f; span.bbox.d *= f; span.bbox.w *= f;
|
span.bbox.h *= f; span.bbox.d *= f; span.bbox.w *= f;
|
||||||
span.bbox.lw *= f; span.bbox.rw *= f;
|
span.bbox.lw *= f; span.bbox.rw *= f;
|
||||||
if (math && math.bbox.width != null) {
|
if (math && math.bbox.width != null) {
|
||||||
|
@ -2096,7 +2114,7 @@
|
||||||
//
|
//
|
||||||
// Make math span be the correct height and depth
|
// Make math span be the correct height and depth
|
||||||
//
|
//
|
||||||
if (math) {HTMLCSS.createRule(span,math.bbox.h*f,math.bbox.d*f,0)}
|
if (math) {HTMLCSS.createRule(span,(math.bbox.h+p)*f,(math.bbox.d+p)*f,0)}
|
||||||
//
|
//
|
||||||
// Handle indentalign and indentshift for single-line display equations
|
// Handle indentalign and indentshift for single-line display equations
|
||||||
//
|
//
|
||||||
|
|
Loading…
Reference in New Issue
Block a user