Merge branch 'develop' into IE10
This commit is contained in:
commit
bf680988b9
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
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
|
||||
*/
|
||||
|
||||
MathJAx.Extension["HTML-CSS/handle-floats"]={version:"2.0"};MathJax.Hub.Config({"HTML-CSS":{styles:{".MathJax_Display":{display:"table-cell",padding:"1em 0 ! important",width:(MathJax.Hub.Browser.isMSIE&&(document.documentMode||0)<8?"100%":"1000em")}}}});MathJax.Hub.Register.StartupHook("HTML-CSS Jax Ready",function(){var a=MathJax.OutputJax["HTML-CSS"],b=a.Translate;a.Augment({Translate:function(c,f){b.call(this,c,f);if(c.MathJax.elementJax.HTMLCSS.display){var e=c.nextSibling;if(!e||e.className!=="MathJax_MSIE_Separator"){var d=a.Element("span",{className:"MathJax_MSIE_Separator"});c.parentNode.insertBefore(d,e)}}}});MathJax.Hub.Startup.signal.Post("HTML-CSS handle-floats Ready")});MathJax.Ajax.loadComplete("[MathJax]/extensions/HTML-CSS/handle-floats.js");
|
||||
MathJax.Extension["HTML-CSS/handle-floats"]={version:"2.0.1"};MathJax.Hub.Config({"HTML-CSS":{styles:{".MathJax_Display":{display:"table-cell",padding:"1em 0 ! important",width:(MathJax.Hub.Browser.isMSIE&&(document.documentMode||0)<8?"100%":"1000em")}}}});MathJax.Hub.Register.StartupHook("HTML-CSS Jax Ready",function(){var a=MathJax.OutputJax["HTML-CSS"],b=a.Translate;a.Augment({Translate:function(c,f){b.call(this,c,f);if(c.MathJax.elementJax.HTMLCSS.display){var e=c.nextSibling;if(!e||e.className!=="MathJax_MSIE_Separator"){var d=a.Element("span",{className:"MathJax_MSIE_Separator"});c.parentNode.insertBefore(d,e)}}}});MathJax.Hub.Startup.signal.Post("HTML-CSS handle-floats Ready")});MathJax.Ajax.loadComplete("[MathJax]/extensions/HTML-CSS/handle-floats.js");
|
||||
|
||||
|
|
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
|
||||
*/
|
||||
|
||||
MathJax.Extension["TeX/HTML"]={version:"2.0"};MathJax.Hub.Register.StartupHook("TeX Jax Ready",function(){var b=MathJax.InputJax.TeX;var a=b.Definitions;a.Add({macros:{href:"HREF_attribute","class":"CLASS_attribute",style:"STYLE_attribute",cssId:"ID_attribute"}});b.Parse.Augment({HREF_attribute:function(e){var d=this.GetArgument(e),c=this.GetArgumentMML(e);this.Push(c.With({href:d}))},CLASS_attribute:function(d){var e=this.GetArgument(d),c=this.GetArgumentMML(d);if(c["class"]!=null){e=c["class"]+" "+e}this.Push(c.With({"class":e}))},STYLE_attribute:function(d){var e=this.GetArgument(d),c=this.GetArgumentMML(d);if(c.style!=null){if(e.charAt(e.length-1)!==";"){e+=";"}e=c.style+" "+e}this.Push(c.With({style:e}))},ID_attribute:function(e){var d=this.GetArgument(e),c=this.GetArgumentMML(e);this.Push(c.With({id:d}))},GetArgumentMML:function(d){var c=this.ParseArg(d);if(c.inferred&&c.data.length==1){c=c.data[0]}else{delete c.inferred}return c}});MathJax.Hub.Startup.signal.Post("TeX HTML Ready")});MathJax.Ajax.loadComplete("[MathJax]/extensions/TeX/HTML.js");
|
||||
MathJax.Extension["TeX/HTML"]={version:"2.0.1"};MathJax.Hub.Register.StartupHook("TeX Jax Ready",function(){var b=MathJax.InputJax.TeX;var a=b.Definitions;a.Add({macros:{href:"HREF_attribute","class":"CLASS_attribute",style:"STYLE_attribute",cssId:"ID_attribute"}},null,true);b.Parse.Augment({HREF_attribute:function(e){var d=this.GetArgument(e),c=this.GetArgumentMML(e);this.Push(c.With({href:d}))},CLASS_attribute:function(d){var e=this.GetArgument(d),c=this.GetArgumentMML(d);if(c["class"]!=null){e=c["class"]+" "+e}this.Push(c.With({"class":e}))},STYLE_attribute:function(d){var e=this.GetArgument(d),c=this.GetArgumentMML(d);if(c.style!=null){if(e.charAt(e.length-1)!==";"){e+=";"}e=c.style+" "+e}this.Push(c.With({style:e}))},ID_attribute:function(e){var d=this.GetArgument(e),c=this.GetArgumentMML(e);this.Push(c.With({id:d}))},GetArgumentMML:function(d){var c=this.ParseArg(d);if(c.inferred&&c.data.length==1){c=c.data[0]}else{delete c.inferred}return c}});MathJax.Hub.Startup.signal.Post("TeX HTML Ready")});MathJax.Ajax.loadComplete("[MathJax]/extensions/TeX/HTML.js");
|
||||
|
||||
|
|
|
@ -12,5 +12,5 @@
|
|||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*/
|
||||
|
||||
MathJax.Extension["TeX/action"]={version:"2.0"};MathJax.Hub.Register.StartupHook("TeX Jax Ready",function(){var b=MathJax.InputJax.TeX,a=MathJax.ElementJax.mml;b.Definitions.macros.toggle="Toggle";b.Definitions.macros.mathtip="Mathtip";b.Definitions.macros.texttip=["Macro","\\mathtip{#1}{\\text{#2}}",2];b.Parse.Augment({Toggle:function(d){var e=[],c;while((c=this.GetArgument(d))!=="\\endtoggle"){e.push(b.Parse(c,this.stack.env).mml())}this.Push(a.maction.apply(a,e).With({actiontype:a.ACTIONTYPE.TOGGLE}))},Mathtip:function(d){var c=this.ParseArg(d),e=this.ParseArg(d);this.Push(a.maction(c,e).With({actiontype:a.ACTIONTYPE.TOOLTIP}))}});MathJax.Hub.Startup.signal.Post("TeX action Ready")});MathJax.Ajax.loadComplete("[MathJax]/extensions/TeX/action.js");
|
||||
MathJax.Extension["TeX/action"]={version:"2.0.1"};MathJax.Hub.Register.StartupHook("TeX Jax Ready",function(){var b=MathJax.InputJax.TeX,a=MathJax.ElementJax.mml;b.Definitions.Add({macros:{toggle:"Toggle",mathtip:"Mathtip",texttip:["Macro","\\mathtip{#1}{\\text{#2}}",2]}},null,true);b.Parse.Augment({Toggle:function(d){var e=[],c;while((c=this.GetArgument(d))!=="\\endtoggle"){e.push(b.Parse(c,this.stack.env).mml())}this.Push(a.maction.apply(a,e).With({actiontype:a.ACTIONTYPE.TOGGLE}))},Mathtip:function(d){var c=this.ParseArg(d),e=this.ParseArg(d);this.Push(a.maction(c,e).With({actiontype:a.ACTIONTYPE.TOOLTIP}))}});MathJax.Hub.Startup.signal.Post("TeX action Ready")});MathJax.Ajax.loadComplete("[MathJax]/extensions/TeX/action.js");
|
||||
|
||||
|
|
|
@ -12,5 +12,5 @@
|
|||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*/
|
||||
|
||||
MathJax.Extension["TeX/autoload-all"]={version:"2.0"};MathJax.Hub.Register.StartupHook("TeX Jax Ready",function(){var h=MathJax.InputJax.TeX,c=h.Definitions.macros,g=h.Definitions.environment;var f={action:["mathtip","texttip","toggle"],AMSmath:["mathring","nobreakspace","negmedspace","negthickspace","intI","iiiint","idotsint","dddot","ddddot","sideset","boxed","substack","injlim","projlim","varliminf","varlimsup","varinjlim","varprojlim","DeclareMathOperator","operatorname","genfrac","tfrac","dfrac","binom","tbinom","dbinom","cfrac","shoveleft","shoveright","xrightarrow","xleftarrow"],begingroup:["begingroup","endgroup","gdef","global"],cancel:["cancel","bcancel","xcancel","cancelto"],color:["color","colorbox","fcolorbox","DefineColor"],enclose:["enclose"],extpfeil:["Newextarrow","xlongequal","xmapsto","xtofrom","xtwoheadleftarrow","xtwoheadrightarrow"],mhchem:["ce","cee","cf"]};for(var b in f){if(f.hasOwnProperty(b)){var e=f[b];for(var d=0,a=e.length;d<a;d++){c[e[d]]=["Extension",b]}}}g.subarray=["ExtensionEnv",null,"AMSmath"];g.smallmatrix=["ExtensionEnv",null,"AMSmath"];g.equation=["ExtensionEnv",null,"AMSmath"];g["equation*"]=["ExtensionEnv",null,"AMSmath"];MathJax.Hub.Startup.signal.Post("TeX autoload-all Ready")});MathJax.Callback.Queue(["Require",MathJax.Ajax,"[MathJax]/extensions/TeX/AMSsymbols.js"],["loadComplete",MathJax.Ajax,"[MathJax]/extensions/TeX/autoload-all.js"]);
|
||||
MathJax.Extension["TeX/autoload-all"]={version:"2.0.3"};MathJax.Hub.Register.StartupHook("TeX Jax Ready",function(){var h={action:["mathtip","texttip","toggle"],AMSmath:["mathring","nobreakspace","negmedspace","negthickspace","intI","iiiint","idotsint","dddot","ddddot","sideset","boxed","substack","injlim","projlim","varliminf","varlimsup","varinjlim","varprojlim","DeclareMathOperator","operatorname","genfrac","tfrac","dfrac","binom","tbinom","dbinom","cfrac","shoveleft","shoveright","xrightarrow","xleftarrow"],begingroup:["begingroup","endgroup","gdef","global"],cancel:["cancel","bcancel","xcancel","cancelto"],color:["color","textcolor","colorbox","fcolorbox","DefineColor"],enclose:["enclose"],extpfeil:["Newextarrow","xlongequal","xmapsto","xtofrom","xtwoheadleftarrow","xtwoheadrightarrow"],mhchem:["ce","cee","cf"]};var c={AMSmath:["subarray","smallmatrix","equation","equation*"]};var d,g,b,a={macros:{},environment:{}};for(d in h){if(h.hasOwnProperty(d)){if(!MathJax.Extension["TeX/"+d]){var f=h[d];for(g=0,b=f.length;g<b;g++){a.macros[f[g]]=["Extension",d]}}}}for(d in c){if(c.hasOwnProperty(d)){if(!MathJax.Extension["TeX/"+d]){var e=c[d];for(g=0,b=e.length;g<b;g++){a.environment[e[g]]=["ExtensionEnv",null,d]}}}}MathJax.InputJax.TeX.Definitions.Add(a);MathJax.Hub.Startup.signal.Post("TeX autoload-all Ready")});MathJax.Callback.Queue(["Require",MathJax.Ajax,"[MathJax]/extensions/TeX/AMSsymbols.js"],["loadComplete",MathJax.Ajax,"[MathJax]/extensions/TeX/autoload-all.js"]);
|
||||
|
||||
|
|
|
@ -12,5 +12,5 @@
|
|||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*/
|
||||
|
||||
MathJax.Extension["TeX/bbox"]={version:"2.0"};MathJax.Hub.Register.StartupHook("TeX Jax Ready",function(){var b=MathJax.InputJax.TeX,a=MathJax.ElementJax.mml;b.Definitions.macros.bbox="BBox";b.Parse.Augment({BBox:function(e){var n=this.GetBrackets(e,""),m=this.ParseArg(e);var j=n.split(/,/),g,d,c;for(var k in j){var f=j[k].replace(/^\s+/,"").replace(/\s+$/,"");var l=f.match(/^(\.\d+|\d+(\.\d*)?)(pt|em|ex|mu|px|in|cm|mm)$/);if(l){var h=l[1]+l[3];if(g){b.Error("Padding specified twice in "+e)}g={height:"+"+h,depth:"+"+h,lspace:h,width:"+"+(2*l[1])+l[3]}}else{if(f.match(/^([a-z0-9]+|\#[0-9a-f]{6}|\#[0-9a-f]{3})$/i)){if(d){b.Error("Background specified twice in "+e)}d=f}else{if(f.match(/^[-a-z]+:/i)){if(c){b.Error("Style specified twice in "+e)}c=f}else{if(f!==""){b.Error("'"+f+"' doesn't look like a color, a padding dimension, or a style")}}}}}if(g){m=a.mpadded(m).With(g)}if(d||c){m=a.mstyle(m).With({mathbackground:d,style:c})}this.Push(m)}});MathJax.Hub.Startup.signal.Post("TeX bbox Ready")});MathJax.Ajax.loadComplete("[MathJax]/extensions/TeX/bbox.js");
|
||||
MathJax.Extension["TeX/bbox"]={version:"2.0.1"};MathJax.Hub.Register.StartupHook("TeX Jax Ready",function(){var b=MathJax.InputJax.TeX,a=MathJax.ElementJax.mml;b.Definitions.Add({macros:{bbox:"BBox"}},null,true);b.Parse.Augment({BBox:function(e){var n=this.GetBrackets(e,""),m=this.ParseArg(e);var j=n.split(/,/),g,d,c;for(var k in j){var f=j[k].replace(/^\s+/,"").replace(/\s+$/,"");var l=f.match(/^(\.\d+|\d+(\.\d*)?)(pt|em|ex|mu|px|in|cm|mm)$/);if(l){var h=l[1]+l[3];if(g){b.Error("Padding specified twice in "+e)}g={height:"+"+h,depth:"+"+h,lspace:h,width:"+"+(2*l[1])+l[3]}}else{if(f.match(/^([a-z0-9]+|\#[0-9a-f]{6}|\#[0-9a-f]{3})$/i)){if(d){b.Error("Background specified twice in "+e)}d=f}else{if(f.match(/^[-a-z]+:/i)){if(c){b.Error("Style specified twice in "+e)}c=f}else{if(f!==""){b.Error("'"+f+"' doesn't look like a color, a padding dimension, or a style")}}}}}if(g){m=a.mpadded(m).With(g)}if(d||c){m=a.mstyle(m).With({mathbackground:d,style:c})}this.Push(m)}});MathJax.Hub.Startup.signal.Post("TeX bbox Ready")});MathJax.Ajax.loadComplete("[MathJax]/extensions/TeX/bbox.js");
|
||||
|
||||
|
|
|
@ -12,5 +12,5 @@
|
|||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*/
|
||||
|
||||
MathJax.Extension["TeX/begingroup"]={version:"2.0"};MathJax.Hub.Register.StartupHook("TeX Jax Ready",function(){var d=MathJax.InputJax.TeX,b=d.Definitions;var a=MathJax.Object.Subclass({macros:null,environments:null,Init:function(e,f){this.macros=(e||{});this.environments=(f||{})},Find:function(e,f){if(this[f][e]){return this[f][e]}},Def:function(e,g,f){this[f][e]=g},Undef:function(e,f){delete this[f][e]},Merge:function(e){MathJax.Hub.Insert(this.macros,e.macros);MathJax.Hub.Insert(this.environments,e.environments)},MergeGlobals:function(e){var f=this.macros;for(var g in f){if(f.hasOwnProperty(g)&&f[g].global){e.Def(g,f[g],"macros",true);delete f[g].global;delete f[g]}}},Clear:function(g){this.environments={};if(g){this.macros={}}else{var e=this.macros;for(var f in e){if(e.hasOwnProperty(f)&&!e[f].global){delete e[f]}}}return this}});var c=d.nsStack=MathJax.Object.Subclass({stack:null,top:0,isEqn:false,Init:function(e){this.isEqn=e;this.stack=[];if(!e){this.Push(a(b.macros,b.environments))}else{this.Push(a())}},Def:function(e,h,f,g){var i=this.top-1;if(g){while(i>0){this.stack[i].Undef(e,f);i--}if(!(h instanceof Array)){h=[h]}if(this.isEqn){h.global=true}}this.stack[i].Def(e,h,f)},Push:function(e){this.stack.push(e);this.top=this.stack.length},Pop:function(){var e;if(this.top>1){e=this.stack[--this.top];if(this.isEqn){this.stack.pop()}}else{if(this.isEqn){this.Clear()}}return e},Find:function(e,g){for(var f=this.top-1;f>=0;f--){var h=this.stack[f].Find(e,g);if(h){return h}}return null},Merge:function(e){e.stack[0].MergeGlobals(this);this.stack[this.top-1].Merge(e.stack[0]);var f=[this.top,this.stack.length-this.top].concat(e.stack.slice(1));this.stack.splice.apply(this.stack,f);this.top=this.stack.length},Reset:function(){this.top=this.stack.length},Clear:function(e){this.stack=[this.stack[0].Clear()];this.top=this.stack.length}},{nsFrame:a});b.macros.begingroup="BeginGroup";b.macros.endgroup="EndGroup";b.macros.global=["Extension","newcommand"];b.macros.gdef=["Extension","newcommand"];d.Parse.Augment({BeginGroup:function(e){d.eqnStack.Push(a())},EndGroup:function(e){if(d.eqnStack.top>1){d.eqnStack.Pop()}else{if(d.rootStack.top===1){d.Error("Extra "+e+" or missing \\begingroup")}else{d.eqnStack.Clear();d.rootStack.Pop()}}},csFindMacro:function(e){return(d.eqnStack.Find(e,"macros")||d.rootStack.Find(e,"macros"))},envFindName:function(e){return(d.eqnStack.Find(e,"environments")||d.rootStack.Find(e,"environments"))}});d.rootStack=c();d.eqnStack=c(true);d.prefilterHooks.Add(function(){d.rootStack.Reset();d.eqnStack.Clear(true)});d.postfilterHooks.Add(function(){d.rootStack.Merge(d.eqnStack)});MathJax.Hub.Register.StartupHook("TeX newcommand Ready",function(){b.macros.global="Global";b.macros.gdef=["Macro","\\global\\def"];d.Parse.Augment({setDef:function(e,f){f.isUser=true;d.eqnStack.Def(e,f,"macros",this.stack.env.isGlobal);delete this.stack.env.isGlobal},setEnv:function(e,f){f.isUser=true;d.eqnStack.Def(e,f,"environments")},Global:function(e){var f=this.i;var g=this.GetCSname(e);this.i=f;if(g!=="let"&&g!=="def"&&g!=="newcommand"){d.Error(e+" not followed by \\let, \\def, or \\newcommand")}this.stack.env.isGlobal=true}})});MathJax.Hub.Startup.signal.Post("TeX begingroup Ready")});MathJax.Ajax.loadComplete("[MathJax]/extensions/TeX/begingroup.js");
|
||||
MathJax.Extension["TeX/begingroup"]={version:"2.0.1"};MathJax.Hub.Register.StartupHook("TeX Jax Ready",function(){var d=MathJax.InputJax.TeX,b=d.Definitions;var a=MathJax.Object.Subclass({macros:null,environments:null,Init:function(e,f){this.macros=(e||{});this.environments=(f||{})},Find:function(e,f){if(this[f][e]){return this[f][e]}},Def:function(e,g,f){this[f][e]=g},Undef:function(e,f){delete this[f][e]},Merge:function(e){MathJax.Hub.Insert(this.macros,e.macros);MathJax.Hub.Insert(this.environments,e.environments)},MergeGlobals:function(e){var f=this.macros;for(var g in f){if(f.hasOwnProperty(g)&&f[g].global){e.Def(g,f[g],"macros",true);delete f[g].global;delete f[g]}}},Clear:function(g){this.environments={};if(g){this.macros={}}else{var e=this.macros;for(var f in e){if(e.hasOwnProperty(f)&&!e[f].global){delete e[f]}}}return this}});var c=d.nsStack=MathJax.Object.Subclass({stack:null,top:0,isEqn:false,Init:function(e){this.isEqn=e;this.stack=[];if(!e){this.Push(a(b.macros,b.environment))}else{this.Push(a())}},Def:function(e,h,f,g){var i=this.top-1;if(g){while(i>0){this.stack[i].Undef(e,f);i--}if(!(h instanceof Array)){h=[h]}if(this.isEqn){h.global=true}}this.stack[i].Def(e,h,f)},Push:function(e){this.stack.push(e);this.top=this.stack.length},Pop:function(){var e;if(this.top>1){e=this.stack[--this.top];if(this.isEqn){this.stack.pop()}}else{if(this.isEqn){this.Clear()}}return e},Find:function(e,g){for(var f=this.top-1;f>=0;f--){var h=this.stack[f].Find(e,g);if(h){return h}}return null},Merge:function(e){e.stack[0].MergeGlobals(this);this.stack[this.top-1].Merge(e.stack[0]);var f=[this.top,this.stack.length-this.top].concat(e.stack.slice(1));this.stack.splice.apply(this.stack,f);this.top=this.stack.length},Reset:function(){this.top=this.stack.length},Clear:function(e){this.stack=[this.stack[0].Clear()];this.top=this.stack.length}},{nsFrame:a});b.Add({macros:{begingroup:"BeginGroup",endgroup:"EndGroup",global:["Extension","newcommand"],gdef:["Extension","newcommand"]}},null,true);d.Parse.Augment({BeginGroup:function(e){d.eqnStack.Push(a())},EndGroup:function(e){if(d.eqnStack.top>1){d.eqnStack.Pop()}else{if(d.rootStack.top===1){d.Error("Extra "+e+" or missing \\begingroup")}else{d.eqnStack.Clear();d.rootStack.Pop()}}},csFindMacro:function(e){return(d.eqnStack.Find(e,"macros")||d.rootStack.Find(e,"macros"))},envFindName:function(e){return(d.eqnStack.Find(e,"environments")||d.rootStack.Find(e,"environments"))}});d.rootStack=c();d.eqnStack=c(true);d.prefilterHooks.Add(function(){d.rootStack.Reset();d.eqnStack.Clear(true)});d.postfilterHooks.Add(function(){d.rootStack.Merge(d.eqnStack)});MathJax.Hub.Register.StartupHook("TeX newcommand Ready",function(){b.Add({macros:{global:"Global",gdef:["Macro","\\global\\def"]}},null,true);d.Parse.Augment({setDef:function(e,f){f.isUser=true;d.eqnStack.Def(e,f,"macros",this.stack.env.isGlobal);delete this.stack.env.isGlobal},setEnv:function(e,f){f.isUser=true;d.eqnStack.Def(e,f,"environments")},Global:function(e){var f=this.i;var g=this.GetCSname(e);this.i=f;if(g!=="let"&&g!=="def"&&g!=="newcommand"){d.Error(e+" not followed by \\let, \\def, or \\newcommand")}this.stack.env.isGlobal=true}})});MathJax.Hub.Startup.signal.Post("TeX begingroup Ready")});MathJax.Ajax.loadComplete("[MathJax]/extensions/TeX/begingroup.js");
|
||||
|
||||
|
|
|
@ -12,5 +12,5 @@
|
|||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*/
|
||||
|
||||
MathJax.Extension["TeX/boldsymbol"]={version:"2.0"};MathJax.Hub.Register.StartupHook("TeX Jax Ready",function(){var a=MathJax.ElementJax.mml;var d=MathJax.InputJax.TeX;var b=d.Definitions;var c={};c[a.VARIANT.NORMAL]=a.VARIANT.BOLD;c[a.VARIANT.ITALIC]=a.VARIANT.BOLDITALIC;c[a.VARIANT.FRAKTUR]=a.VARIANT.BOLDFRAKTUR;c[a.VARIANT.SCRIPT]=a.VARIANT.BOLDSCRIPT;c[a.VARIANT.SANSSERIF]=a.VARIANT.BOLDSANSSERIF;c["-tex-caligraphic"]="-tex-caligraphic-bold";c["-tex-oldstyle"]="-tex-oldstyle-bold";b.macros.boldsymbol="Boldsymbol";d.Parse.Augment({mmlToken:function(f){if(this.stack.env.boldsymbol){var e=f.Get("mathvariant");if(e==null){f.mathvariant=a.VARIANT.BOLD}else{f.mathvariant=(c[e]||e)}}return f},Boldsymbol:function(h){var e=this.stack.env.boldsymbol,f=this.stack.env.font;this.stack.env.boldsymbol=true;this.stack.env.font=null;var g=this.ParseArg(h);this.stack.env.font=f;this.stack.env.boldsymbol=e;this.Push(g)}});MathJax.Hub.Startup.signal.Post("TeX boldsymbol Ready")});MathJax.Hub.Register.StartupHook("HTML-CSS Jax Ready",function(){var a=MathJax.OutputJax["HTML-CSS"];var c=a.FONTDATA.FONTS;var b=a.FONTDATA.VARIANT;if(a.fontInUse==="TeX"){c["MathJax_Caligraphic-bold"]="Caligraphic/Bold/Main.js";b["-tex-caligraphic-bold"]={fonts:["MathJax_Caligraphic-bold","MathJax_Main-bold","MathJax_Main","MathJax_Math","MathJax_Size1"],offsetA:65,variantA:"bold-italic"};b["-tex-oldstyle-bold"]={fonts:["MathJax_Caligraphic-bold","MathJax_Main-bold","MathJax_Main","MathJax_Math","MathJax_Size1"]};if(a.msieCheckGreek&&a.Font.testFont({family:"MathJax_Greek",weight:"bold",style:"italic",testString:a.msieCheckGreek})){b["bold-italic"].offsetG=913;b["bold-italic"].variantG="-Greek-Bold-Italic";b["-Greek-Bold-Italic"]={fonts:["MathJax_Greek-bold-italic"]};c["MathJax_Greek-bold-italic"]="Greek/BoldItalic/Main.js"}if(MathJax.Hub.Browser.isChrome&&!MathJax.Hub.Browser.versionAtLeast("5.0")){b["-tex-caligraphic-bold"].remap={84:[58096,"-WinChrome"]}}}else{if(a.fontInUse==="STIX"){b["-tex-caligraphic-bold"]={fonts:["STIXGeneral-bold-italic","STIXNonUnicode-bold-italic","STIXNonUnicode","STIXGeneral","STIXSizeOneSym"],offsetA:57927,noLowerCase:1};b["-tex-oldstyle-bold"]={fonts:["STIXGeneral-bold","STIXNonUnicode-bold","STIXGeneral","STIXSizeOneSym"],offsetN:57955,remap:{57956:57959,57957:57963,57958:57967,57959:57971,57960:57975,57961:57979,57962:57983,57963:57987,57964:57991}}}}});MathJax.Hub.Register.StartupHook("SVG Jax Ready",function(){var c=MathJax.OutputJax.SVG;var b=c.FONTDATA.FONTS;var a=c.FONTDATA.VARIANT;b["MathJax_Caligraphic-bold"]="Caligraphic/Bold/Main.js";a["-tex-caligraphic-bold"]={fonts:["MathJax_Caligraphic-bold","MathJax_Main-bold","MathJax_Main","MathJax_Math","MathJax_Size1"],offsetA:65,variantA:"bold-italic"};a["-tex-oldstyle-bold"]={fonts:["MathJax_Caligraphic-bold","MathJax_Main-bold","MathJax_Main","MathJax_Math","MathJax_Size1"]}});MathJax.Ajax.loadComplete("[MathJax]/extensions/TeX/boldsymbol.js");
|
||||
MathJax.Extension["TeX/boldsymbol"]={version:"2.0.1"};MathJax.Hub.Register.StartupHook("TeX Jax Ready",function(){var a=MathJax.ElementJax.mml;var d=MathJax.InputJax.TeX;var b=d.Definitions;var c={};c[a.VARIANT.NORMAL]=a.VARIANT.BOLD;c[a.VARIANT.ITALIC]=a.VARIANT.BOLDITALIC;c[a.VARIANT.FRAKTUR]=a.VARIANT.BOLDFRAKTUR;c[a.VARIANT.SCRIPT]=a.VARIANT.BOLDSCRIPT;c[a.VARIANT.SANSSERIF]=a.VARIANT.BOLDSANSSERIF;c["-tex-caligraphic"]="-tex-caligraphic-bold";c["-tex-oldstyle"]="-tex-oldstyle-bold";b.Add({macros:{boldsymbol:"Boldsymbol"}},null,true);d.Parse.Augment({mmlToken:function(f){if(this.stack.env.boldsymbol){var e=f.Get("mathvariant");if(e==null){f.mathvariant=a.VARIANT.BOLD}else{f.mathvariant=(c[e]||e)}}return f},Boldsymbol:function(h){var e=this.stack.env.boldsymbol,f=this.stack.env.font;this.stack.env.boldsymbol=true;this.stack.env.font=null;var g=this.ParseArg(h);this.stack.env.font=f;this.stack.env.boldsymbol=e;this.Push(g)}});MathJax.Hub.Startup.signal.Post("TeX boldsymbol Ready")});MathJax.Hub.Register.StartupHook("HTML-CSS Jax Ready",function(){var a=MathJax.OutputJax["HTML-CSS"];var c=a.FONTDATA.FONTS;var b=a.FONTDATA.VARIANT;if(a.fontInUse==="TeX"){c["MathJax_Caligraphic-bold"]="Caligraphic/Bold/Main.js";b["-tex-caligraphic-bold"]={fonts:["MathJax_Caligraphic-bold","MathJax_Main-bold","MathJax_Main","MathJax_Math","MathJax_Size1"],offsetA:65,variantA:"bold-italic"};b["-tex-oldstyle-bold"]={fonts:["MathJax_Caligraphic-bold","MathJax_Main-bold","MathJax_Main","MathJax_Math","MathJax_Size1"]};if(a.msieCheckGreek&&a.Font.testFont({family:"MathJax_Greek",weight:"bold",style:"italic",testString:a.msieCheckGreek})){b["bold-italic"].offsetG=913;b["bold-italic"].variantG="-Greek-Bold-Italic";b["-Greek-Bold-Italic"]={fonts:["MathJax_Greek-bold-italic"]};c["MathJax_Greek-bold-italic"]="Greek/BoldItalic/Main.js"}if(MathJax.Hub.Browser.isChrome&&!MathJax.Hub.Browser.versionAtLeast("5.0")){b["-tex-caligraphic-bold"].remap={84:[58096,"-WinChrome"]}}}else{if(a.fontInUse==="STIX"){b["-tex-caligraphic-bold"]={fonts:["STIXGeneral-bold-italic","STIXNonUnicode-bold-italic","STIXNonUnicode","STIXGeneral","STIXSizeOneSym"],offsetA:57927,noLowerCase:1};b["-tex-oldstyle-bold"]={fonts:["STIXGeneral-bold","STIXNonUnicode-bold","STIXGeneral","STIXSizeOneSym"],offsetN:57955,remap:{57956:57959,57957:57963,57958:57967,57959:57971,57960:57975,57961:57979,57962:57983,57963:57987,57964:57991}}}}});MathJax.Hub.Register.StartupHook("SVG Jax Ready",function(){var c=MathJax.OutputJax.SVG;var b=c.FONTDATA.FONTS;var a=c.FONTDATA.VARIANT;b["MathJax_Caligraphic-bold"]="Caligraphic/Bold/Main.js";a["-tex-caligraphic-bold"]={fonts:["MathJax_Caligraphic-bold","MathJax_Main-bold","MathJax_Main","MathJax_Math","MathJax_Size1"],offsetA:65,variantA:"bold-italic"};a["-tex-oldstyle-bold"]={fonts:["MathJax_Caligraphic-bold","MathJax_Main-bold","MathJax_Main","MathJax_Math","MathJax_Size1"]}});MathJax.Ajax.loadComplete("[MathJax]/extensions/TeX/boldsymbol.js");
|
||||
|
||||
|
|
|
@ -12,5 +12,5 @@
|
|||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*/
|
||||
|
||||
MathJax.Extension["TeX/cancel"]={version:"2.0",ALLOWED:{arrow:1,color:1,mathcolor:1,background:1,mathbackground:1,padding:1,thickness:1}};MathJax.Hub.Register.StartupHook("TeX Jax Ready",function(){var d=MathJax.InputJax.TeX,c=d.Definitions.macros,a=MathJax.ElementJax.mml,b=MathJax.Extension["TeX/cancel"];b.setAttributes=function(j,f){if(f!==""){f=f.replace(/ /g,"").split(/,/);for(var h=0,e=f.length;h<e;h++){var g=f[h].split(/[:=]/);if(b.ALLOWED[g[0]]){if(g[1]==="true"){g[1]=true}if(g[1]==="false"){g[1]=false}j[g[0]]=g[1]}}}return j};c.cancel=["Cancel",a.NOTATION.UPDIAGONALSTRIKE];c.bcancel=["Cancel",a.NOTATION.DOWNDIAGONALSTRIKE];c.xcancel=["Cancel",a.NOTATION.UPDIAGONALSTRIKE+" "+a.NOTATION.DOWNDIAGONALSTRIKE];c.cancelto="CancelTo";d.Parse.Augment({Cancel:function(f,h){var e=this.GetBrackets(f,""),g=this.ParseArg(f);var i=b.setAttributes({notation:h},e);this.Push(a.menclose(g).With(i))},CancelTo:function(f,h){var j=this.ParseArg(f),e=this.GetBrackets(f,""),g=this.ParseArg(f);var i=b.setAttributes({notation:a.NOTATION.UPDIAGONALSTRIKE,arrow:true},e);j=a.mpadded(j).With({depth:"-.1em",height:"+.1em",voffset:".1em"});this.Push(a.msup(a.menclose(g).With(i),j))}});MathJax.Hub.Startup.signal.Post("TeX cancel Ready")});MathJax.Ajax.loadComplete("[MathJax]/extensions/TeX/cancel.js");
|
||||
MathJax.Extension["TeX/cancel"]={version:"2.0.1",ALLOWED:{arrow:1,color:1,mathcolor:1,background:1,mathbackground:1,padding:1,thickness:1}};MathJax.Hub.Register.StartupHook("TeX Jax Ready",function(){var c=MathJax.InputJax.TeX,a=MathJax.ElementJax.mml,b=MathJax.Extension["TeX/cancel"];b.setAttributes=function(h,e){if(e!==""){e=e.replace(/ /g,"").split(/,/);for(var g=0,d=e.length;g<d;g++){var f=e[g].split(/[:=]/);if(b.ALLOWED[f[0]]){if(f[1]==="true"){f[1]=true}if(f[1]==="false"){f[1]=false}h[f[0]]=f[1]}}}return h};c.Definitions.Add({macros:{cancel:["Cancel",a.NOTATION.UPDIAGONALSTRIKE],bcancel:["Cancel",a.NOTATION.DOWNDIAGONALSTRIKE],xcancel:["Cancel",a.NOTATION.UPDIAGONALSTRIKE+" "+a.NOTATION.DOWNDIAGONALSTRIKE],cancelto:"CancelTo"}},null,true);c.Parse.Augment({Cancel:function(e,g){var d=this.GetBrackets(e,""),f=this.ParseArg(e);var h=b.setAttributes({notation:g},d);this.Push(a.menclose(f).With(h))},CancelTo:function(e,g){var i=this.ParseArg(e),d=this.GetBrackets(e,""),f=this.ParseArg(e);var h=b.setAttributes({notation:a.NOTATION.UPDIAGONALSTRIKE,arrow:true},d);i=a.mpadded(i).With({depth:"-.1em",height:"+.1em",voffset:".1em"});this.Push(a.msup(a.menclose(f).With(h),i))}});MathJax.Hub.Startup.signal.Post("TeX cancel Ready")});MathJax.Ajax.loadComplete("[MathJax]/extensions/TeX/cancel.js");
|
||||
|
||||
|
|
|
@ -12,5 +12,5 @@
|
|||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*/
|
||||
|
||||
MathJax.Extension["TeX/color"]={version:"2.0",config:MathJax.Hub.CombineConfig("TeX.color",{padding:"5px",border:"2px"}),colors:{Apricot:"#FBB982",Aquamarine:"#00B5BE",Bittersweet:"#C04F17",Black:"#221E1F",Blue:"#2D2F92",BlueGreen:"#00B3B8",BlueViolet:"#473992",BrickRed:"#B6321C",Brown:"#792500",BurntOrange:"#F7921D",CadetBlue:"#74729A",CarnationPink:"#F282B4",Cerulean:"#00A2E3",CornflowerBlue:"#41B0E4",Cyan:"#00AEEF",Dandelion:"#FDBC42",DarkOrchid:"#A4538A",Emerald:"#00A99D",ForestGreen:"#009B55",Fuchsia:"#8C368C",Goldenrod:"#FFDF42",Gray:"#949698",Green:"#00A64F",GreenYellow:"#DFE674",JungleGreen:"#00A99A",Lavender:"#F49EC4",LimeGreen:"#8DC73E",Magenta:"#EC008C",Mahogany:"#A9341F",Maroon:"#AF3235",Melon:"#F89E7B",MidnightBlue:"#006795",Mulberry:"#A93C93",NavyBlue:"#006EB8",OliveGreen:"#3C8031",Orange:"#F58137",OrangeRed:"#ED135A",Orchid:"#AF72B0",Peach:"#F7965A",Periwinkle:"#7977B8",PineGreen:"#008B72",Plum:"#92268F",ProcessBlue:"#00B0F0",Purple:"#99479B",RawSienna:"#974006",Red:"#ED1B23",RedOrange:"#F26035",RedViolet:"#A1246B",Rhodamine:"#EF559F",RoyalBlue:"#0071BC",RoyalPurple:"#613F99",RubineRed:"#ED017D",Salmon:"#F69289",SeaGreen:"#3FBC9D",Sepia:"#671800",SkyBlue:"#46C5DD",SpringGreen:"#C6DC67",Tan:"#DA9D76",TealBlue:"#00AEB3",Thistle:"#D883B7",Turquoise:"#00B4CE",Violet:"#58429B",VioletRed:"#EF58A0",White:"#FFFFFF",WildStrawberry:"#EE2967",Yellow:"#FFF200",YellowGreen:"#98CC70",YellowOrange:"#FAA21A"},getColor:function(a,c){if(!a){a="named"}var b=this["get_"+a];if(!b){this.TEX.Error("Color model '"+a+"' not defined")}return b.call(this,c)},get_rgb:function(b){b=b.split(/,/);var a="#";if(b.length!==3){this.TEX.Error("RGB colors require 3 decimal numbers")}for(var c=0;c<3;c++){if(!b[c].match(/^(\d+(\.\d*)?|\.\d+)$/)){this.TEX.Error("Invalid decimal number")}var d=parseFloat(b[c]);if(d<0||d>1){this.TEX.Error("RGB values must be between 0 and 1")}d=Math.floor(d*255).toString(16);if(d.length<2){d="0"+d}a+=d}return a},get_gray:function(a){if(!a.match(/^(\d+(\.\d*)?|\.\d+)$/)){this.TEX.Error("Invalid decimal number")}var b=parseFloat(a);if(b<0||b>1){this.TEX.Error("Grey-scale values must be between 0 and 1")}b=Math.floor(b*255).toString(16);if(b.length<2){b="0"+b}return"#"+b+b+b},get_named:function(a){if(this.colors[a]){return this.colors[a]}return a},padding:function(){var c="+"+this.config.padding;var a=this.config.padding.replace(/^.*?([a-z]*)$/,"$1");var b="+"+(2*parseFloat(c))+a;return{width:b,height:c,depth:c,lspace:this.config.padding}}};MathJax.Hub.Register.StartupHook("TeX Jax Ready",function(){var d=MathJax.InputJax.TeX,a=MathJax.ElementJax.mml;var c=d.Stack.Item;var b=MathJax.Extension["TeX/color"];b.TEX=d;d.Definitions.macros.color="Color";d.Definitions.macros.definecolor="DefineColor";d.Definitions.macros.colorbox="ColorBox";d.Definitions.macros.fcolorbox="fColorBox";d.Parse.Augment({Color:function(h){var g=this.GetBrackets(h),e=this.GetArgument(h);e=b.getColor(g,e);var f=c.style().With({styles:{mathcolor:e}});this.stack.env.color=e;this.Push(f)},DefineColor:function(g){var f=this.GetArgument(g),e=this.GetArgument(g),h=this.GetArgument(g);b.colors[f]=b.getColor(e,h)},ColorBox:function(g){var f=this.GetArgument(g),e=this.InternalMath(this.GetArgument(g));this.Push(a.mpadded.apply(a,e).With({mathbackground:b.getColor("named",f)}).With(b.padding()))},fColorBox:function(g){var h=this.GetArgument(g),f=this.GetArgument(g),e=this.InternalMath(this.GetArgument(g));this.Push(a.mpadded.apply(a,e).With({mathbackground:b.getColor("named",f),style:"border: "+b.config.border+" solid "+b.getColor("named",h)}).With(b.padding()))}});MathJax.Hub.Startup.signal.Post("TeX color Ready")});MathJax.Ajax.loadComplete("[MathJax]/extensions/TeX/color.js");
|
||||
MathJax.Extension["TeX/color"]={version:"2.0.2",config:MathJax.Hub.CombineConfig("TeX.color",{padding:"5px",border:"2px"}),colors:{Apricot:"#FBB982",Aquamarine:"#00B5BE",Bittersweet:"#C04F17",Black:"#221E1F",Blue:"#2D2F92",BlueGreen:"#00B3B8",BlueViolet:"#473992",BrickRed:"#B6321C",Brown:"#792500",BurntOrange:"#F7921D",CadetBlue:"#74729A",CarnationPink:"#F282B4",Cerulean:"#00A2E3",CornflowerBlue:"#41B0E4",Cyan:"#00AEEF",Dandelion:"#FDBC42",DarkOrchid:"#A4538A",Emerald:"#00A99D",ForestGreen:"#009B55",Fuchsia:"#8C368C",Goldenrod:"#FFDF42",Gray:"#949698",Green:"#00A64F",GreenYellow:"#DFE674",JungleGreen:"#00A99A",Lavender:"#F49EC4",LimeGreen:"#8DC73E",Magenta:"#EC008C",Mahogany:"#A9341F",Maroon:"#AF3235",Melon:"#F89E7B",MidnightBlue:"#006795",Mulberry:"#A93C93",NavyBlue:"#006EB8",OliveGreen:"#3C8031",Orange:"#F58137",OrangeRed:"#ED135A",Orchid:"#AF72B0",Peach:"#F7965A",Periwinkle:"#7977B8",PineGreen:"#008B72",Plum:"#92268F",ProcessBlue:"#00B0F0",Purple:"#99479B",RawSienna:"#974006",Red:"#ED1B23",RedOrange:"#F26035",RedViolet:"#A1246B",Rhodamine:"#EF559F",RoyalBlue:"#0071BC",RoyalPurple:"#613F99",RubineRed:"#ED017D",Salmon:"#F69289",SeaGreen:"#3FBC9D",Sepia:"#671800",SkyBlue:"#46C5DD",SpringGreen:"#C6DC67",Tan:"#DA9D76",TealBlue:"#00AEB3",Thistle:"#D883B7",Turquoise:"#00B4CE",Violet:"#58429B",VioletRed:"#EF58A0",White:"#FFFFFF",WildStrawberry:"#EE2967",Yellow:"#FFF200",YellowGreen:"#98CC70",YellowOrange:"#FAA21A"},getColor:function(a,c){if(!a){a="named"}var b=this["get_"+a];if(!b){this.TEX.Error("Color model '"+a+"' not defined")}return b.call(this,c)},get_rgb:function(b){b=b.split(/,/);var a="#";if(b.length!==3){this.TEX.Error("rgb colors require 3 decimal numbers")}for(var c=0;c<3;c++){if(!b[c].match(/^(\d+(\.\d*)?|\.\d+)$/)){this.TEX.Error("Invalid decimal number")}var d=parseFloat(b[c]);if(d<0||d>1){this.TEX.Error("rgb values must be between 0 and 1")}d=Math.floor(d*255).toString(16);if(d.length<2){d="0"+d}a+=d}return a},get_RGB:function(b){b=b.split(/,/);var a="#";if(b.length!==3){this.TEX.Error("RGB colors require 3 numbers")}for(var c=0;c<3;c++){if(!b[c].match(/^\d+$/)){this.TEX.Error("Invalid number")}var d=parseInt(b[c]);if(d>255){this.TEX.Error("RGB values must be between 0 and 255")}d=d.toString(16);if(d.length<2){d="0"+d}a+=d}return a},get_gray:function(a){if(!a.match(/^(\d+(\.\d*)?|\.\d+)$/)){this.TEX.Error("Invalid decimal number")}var b=parseFloat(a);if(b<0||b>1){this.TEX.Error("Grey-scale values must be between 0 and 1")}b=Math.floor(b*255).toString(16);if(b.length<2){b="0"+b}return"#"+b+b+b},get_named:function(a){if(this.colors[a]){return this.colors[a]}return a},padding:function(){var c="+"+this.config.padding;var a=this.config.padding.replace(/^.*?([a-z]*)$/,"$1");var b="+"+(2*parseFloat(c))+a;return{width:b,height:c,depth:c,lspace:this.config.padding}}};MathJax.Hub.Register.StartupHook("TeX Jax Ready",function(){var d=MathJax.InputJax.TeX,a=MathJax.ElementJax.mml;var c=d.Stack.Item;var b=MathJax.Extension["TeX/color"];b.TEX=d;d.Definitions.Add({macros:{color:"Color",textcolor:"TextColor",definecolor:"DefineColor",colorbox:"ColorBox",fcolorbox:"fColorBox"}},null,true);d.Parse.Augment({Color:function(h){var g=this.GetBrackets(h),e=this.GetArgument(h);e=b.getColor(g,e);var f=c.style().With({styles:{mathcolor:e}});this.stack.env.color=e;this.Push(f)},TextColor:function(h){var g=this.GetBrackets(h),f=this.GetArgument(h);f=b.getColor(g,f);var e=this.stack.env.color;this.stack.env.color=f;var i=this.ParseArg(h);if(e){this.stack.env.color}else{delete this.stack.env.color}this.Push(a.mstyle(i).With({mathcolor:f}))},DefineColor:function(g){var f=this.GetArgument(g),e=this.GetArgument(g),h=this.GetArgument(g);b.colors[f]=b.getColor(e,h)},ColorBox:function(g){var f=this.GetArgument(g),e=this.InternalMath(this.GetArgument(g));this.Push(a.mpadded.apply(a,e).With({mathbackground:b.getColor("named",f)}).With(b.padding()))},fColorBox:function(g){var h=this.GetArgument(g),f=this.GetArgument(g),e=this.InternalMath(this.GetArgument(g));this.Push(a.mpadded.apply(a,e).With({mathbackground:b.getColor("named",f),style:"border: "+b.config.border+" solid "+b.getColor("named",h)}).With(b.padding()))}});MathJax.Hub.Startup.signal.Post("TeX color Ready")});MathJax.Ajax.loadComplete("[MathJax]/extensions/TeX/color.js");
|
||||
|
||||
|
|
|
@ -12,5 +12,5 @@
|
|||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*/
|
||||
|
||||
MathJax.Extension["TeX/enclose"]={version:"2.0",ALLOWED:{arrow:1,color:1,mathcolor:1,background:1,mathbackground:1,padding:1,thickness:1}};MathJax.Hub.Register.StartupHook("TeX Jax Ready",function(){var c=MathJax.InputJax.TeX,a=MathJax.ElementJax.mml,b=MathJax.Extension["TeX/enclose"].ALLOWED;c.Definitions.macros.enclose="Enclose";c.Parse.Augment({Enclose:function(g){var k=this.GetArgument(g),e=this.GetBrackets(g),j=this.ParseArg(g);var l={notation:k.replace(/,/g," ")};if(e){e=e.replace(/ /g,"").split(/,/);for(var h=0,d=e.length;h<d;h++){var f=e[h].split(/[:=]/);if(b[f[0]]){f[1]=f[1].replace(/^"(.*)"$/,"$1");if(f[1]==="true"){f[1]=true}if(f[1]==="false"){f[1]=false}l[f[0]]=f[1]}}}this.Push(a.menclose(j).With(l))}});MathJax.Hub.Startup.signal.Post("TeX enclose Ready")});MathJax.Ajax.loadComplete("[MathJax]/extensions/TeX/enclose.js");
|
||||
MathJax.Extension["TeX/enclose"]={version:"2.0.1",ALLOWED:{arrow:1,color:1,mathcolor:1,background:1,mathbackground:1,padding:1,thickness:1}};MathJax.Hub.Register.StartupHook("TeX Jax Ready",function(){var c=MathJax.InputJax.TeX,a=MathJax.ElementJax.mml,b=MathJax.Extension["TeX/enclose"].ALLOWED;c.Definitions.Add({macros:{enclose:"Enclose"}},null,true);c.Parse.Augment({Enclose:function(g){var k=this.GetArgument(g),e=this.GetBrackets(g),j=this.ParseArg(g);var l={notation:k.replace(/,/g," ")};if(e){e=e.replace(/ /g,"").split(/,/);for(var h=0,d=e.length;h<d;h++){var f=e[h].split(/[:=]/);if(b[f[0]]){f[1]=f[1].replace(/^"(.*)"$/,"$1");if(f[1]==="true"){f[1]=true}if(f[1]==="false"){f[1]=false}l[f[0]]=f[1]}}}this.Push(a.menclose(j).With(l))}});MathJax.Hub.Startup.signal.Post("TeX enclose Ready")});MathJax.Ajax.loadComplete("[MathJax]/extensions/TeX/enclose.js");
|
||||
|
||||
|
|
|
@ -12,5 +12,5 @@
|
|||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*/
|
||||
|
||||
MathJax.Extension["TeX/extpfeil"]={version:"2.0"};MathJax.Hub.Register.StartupHook("TeX Jax Ready",function(){var b=MathJax.InputJax.TeX,a=b.Definitions;MathJax.Hub.Insert(a,{macros:{xtwoheadrightarrow:["Extension","AMSmath"],xtwoheadleftarrow:["Extension","AMSmath"],xmapsto:["Extension","AMSmath"],xlongequal:["Extension","AMSmath"],xtofrom:["Extension","AMSmath"],Newextarrow:["Extension","AMSmath"]}});MathJax.Hub.Register.StartupHook("TeX AMSmath Ready",function(){MathJax.Hub.Insert(a,{macros:{xtwoheadrightarrow:["xArrow",8608,12,16],xtwoheadleftarrow:["xArrow",8606,17,13],xmapsto:["xArrow",8614,6,7],xlongequal:["xArrow",61,7,7],xtofrom:["xArrow",8644,12,12],Newextarrow:"NewExtArrow"}})});b.Parse.Augment({NewExtArrow:function(c){var e=this.GetArgument(c),f=this.GetArgument(c),d=this.GetArgument(c);if(!e.match(/^\\([a-z]+|.)$/i)){b.Error("First argument to "+c+" must be a control sequence name")}if(!f.match(/^(\d+),(\d+)$/)){b.Error("Second argument to "+c+" must be two integers separated by a comma")}if(!d.match(/^(\d+|0x[0-9A-F]+)$/i)){b.Error("Third argument to "+c+" must be a unicode character number")}e=e.substr(1);f=f.split(",");d=parseInt(d);a.macros[e]=["xArrow",d,parseInt(f[0]),parseInt(f[1])]}});MathJax.Hub.Startup.signal.Post("TeX extpfeil Ready")});MathJax.Ajax.loadComplete("[MathJax]/extensions/TeX/extpfeil.js");
|
||||
MathJax.Extension["TeX/extpfeil"]={version:"2.0.1"};MathJax.Hub.Register.StartupHook("TeX Jax Ready",function(){var b=MathJax.InputJax.TeX,a=b.Definitions;a.Add({macros:{xtwoheadrightarrow:["Extension","AMSmath"],xtwoheadleftarrow:["Extension","AMSmath"],xmapsto:["Extension","AMSmath"],xlongequal:["Extension","AMSmath"],xtofrom:["Extension","AMSmath"],Newextarrow:["Extension","AMSmath"]}},null,true);MathJax.Hub.Register.StartupHook("TeX AMSmath Ready",function(){MathJax.Hub.Insert(a,{macros:{xtwoheadrightarrow:["xArrow",8608,12,16],xtwoheadleftarrow:["xArrow",8606,17,13],xmapsto:["xArrow",8614,6,7],xlongequal:["xArrow",61,7,7],xtofrom:["xArrow",8644,12,12],Newextarrow:"NewExtArrow"}})});b.Parse.Augment({NewExtArrow:function(c){var e=this.GetArgument(c),f=this.GetArgument(c),d=this.GetArgument(c);if(!e.match(/^\\([a-z]+|.)$/i)){b.Error("First argument to "+c+" must be a control sequence name")}if(!f.match(/^(\d+),(\d+)$/)){b.Error("Second argument to "+c+" must be two integers separated by a comma")}if(!d.match(/^(\d+|0x[0-9A-F]+)$/i)){b.Error("Third argument to "+c+" must be a unicode character number")}e=e.substr(1);f=f.split(",");d=parseInt(d);a.macros[e]=["xArrow",d,parseInt(f[0]),parseInt(f[1])]}});MathJax.Hub.Startup.signal.Post("TeX extpfeil Ready")});MathJax.Ajax.loadComplete("[MathJax]/extensions/TeX/extpfeil.js");
|
||||
|
||||
|
|
|
@ -12,5 +12,5 @@
|
|||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*/
|
||||
|
||||
MathJax.Hub.Register.StartupHook("TeX Jax Ready",function(){var c="2.0";var a=MathJax.ElementJax.mml;var d=MathJax.InputJax.TeX;var b=d.Definitions;b.macros.mathchoice="MathChoice";d.Parse.Augment({MathChoice:function(f){var i=this.ParseArg(f),e=this.ParseArg(f),g=this.ParseArg(f),h=this.ParseArg(f);this.Push(a.TeXmathchoice(i,e,g,h))}});a.TeXmathchoice=a.mbase.Subclass({type:"TeXmathchoice",choice:function(){var e=this.getValues("displaystyle","scriptlevel");if(e.scriptlevel>0){return Math.min(3,e.scriptlevel+1)}return(e.displaystyle?0:1)},setTeXclass:function(e){return this.Core().setTeXclass(e)},isSpacelike:function(){return this.Core().isSpacelike()},isEmbellished:function(){return this.Core().isEmbellished()},Core:function(){return this.data[this.choice()]},toHTML:function(e){e=this.HTMLcreateSpan(e);e.bbox=this.Core().toHTML(e).bbox;if(e.firstChild&&e.firstChild.style.marginLeft){e.style.marginLeft=e.firstChild.style.marginLeft;e.firstChild.style.marginLeft=""}return e},toSVG:function(){return this.Core().toSVG()}});MathJax.Hub.Startup.signal.Post("TeX mathchoice Ready")});MathJax.Ajax.loadComplete("[MathJax]/extensions/TeX/mathchoice.js");
|
||||
MathJax.Hub.Register.StartupHook("TeX Jax Ready",function(){var c="2.0.1";var a=MathJax.ElementJax.mml;var d=MathJax.InputJax.TeX;var b=d.Definitions;b.Add({macros:{mathchoice:"MathChoice"}},null,true);d.Parse.Augment({MathChoice:function(f){var i=this.ParseArg(f),e=this.ParseArg(f),g=this.ParseArg(f),h=this.ParseArg(f);this.Push(a.TeXmathchoice(i,e,g,h))}});a.TeXmathchoice=a.mbase.Subclass({type:"TeXmathchoice",choice:function(){var e=this.getValues("displaystyle","scriptlevel");if(e.scriptlevel>0){return Math.min(3,e.scriptlevel+1)}return(e.displaystyle?0:1)},setTeXclass:function(e){return this.Core().setTeXclass(e)},isSpacelike:function(){return this.Core().isSpacelike()},isEmbellished:function(){return this.Core().isEmbellished()},Core:function(){return this.data[this.choice()]},toHTML:function(e){e=this.HTMLcreateSpan(e);e.bbox=this.Core().toHTML(e).bbox;if(e.firstChild&&e.firstChild.style.marginLeft){e.style.marginLeft=e.firstChild.style.marginLeft;e.firstChild.style.marginLeft=""}return e},toSVG:function(){return this.Core().toSVG()}});MathJax.Hub.Startup.signal.Post("TeX mathchoice Ready")});MathJax.Ajax.loadComplete("[MathJax]/extensions/TeX/mathchoice.js");
|
||||
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -12,5 +12,5 @@
|
|||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*/
|
||||
|
||||
MathJax.Extension["TeX/unicode"]={version:"2.0",unicode:{},config:MathJax.Hub.CombineConfig("TeX.unicode",{fonts:"STIXGeneral,'Arial Unicode MS'"})};MathJax.Hub.Register.StartupHook("TeX Jax Ready",function(){var c=MathJax.InputJax.TeX;var a=MathJax.ElementJax.mml;var b=MathJax.Extension["TeX/unicode"].unicode;c.Definitions.macros.unicode="Unicode";c.Parse.Augment({Unicode:function(e){var i=this.GetBrackets(e),d;if(i){if(i.replace(/ /g,"").match(/^(\d+(\.\d*)?|\.\d+),(\d+(\.\d*)?|\.\d+)$/)){i=i.replace(/ /g,"").split(/,/);d=this.GetBrackets(e)}else{d=i;i=null}}var j=this.trimSpaces(this.GetArgument(e)),h=parseInt(j.match(/^x/)?"0"+j:j);if(!b[h]){b[h]=[800,200,d,h]}else{if(!d){d=b[h][2]}}if(i){b[h][0]=Math.floor(i[0]*1000);b[h][1]=Math.floor(i[1]*1000)}var f=this.stack.env.font,g={};if(d){b[h][2]=g.fontfamily=d.replace(/"/g,"'");if(f){if(f.match(/bold/)){g.fontweight="bold"}if(f.match(/italic|-mathit/)){g.fontstyle="italic"}}}else{if(f){g.mathvariant=f}}g.unicode=[].concat(b[h]);this.Push(a.mtext(a.entity("#"+j)).With(g))}});MathJax.Hub.Startup.signal.Post("TeX unicode Ready")});MathJax.Hub.Register.StartupHook("HTML-CSS Jax Ready",function(){var a=MathJax.ElementJax.mml;var c=MathJax.Extension["TeX/unicode"].config.fonts;var b=a.mbase.prototype.HTMLgetVariant;a.mbase.Augment({HTMLgetVariant:function(){var d=b.call(this);if(d.unicode){delete d.unicode;delete d.FONTS}if(!this.unicode){return d}d.unicode=true;if(!d.defaultFont){d=MathJax.Hub.Insert({},d);d.defaultFont={family:c}}var e=this.unicode[2];if(e){e+=","+c}else{e=c}d.defaultFont[this.unicode[3]]=[this.unicode[0],this.unicode[1],500,0,500,{isUnknown:true,isUnicode:true,font:e}];return d}})});MathJax.Hub.Register.StartupHook("SVG Jax Ready",function(){var a=MathJax.ElementJax.mml;var c=MathJax.Extension["TeX/unicode"].config.fonts;var b=a.mbase.prototype.SVGgetVariant;a.mbase.Augment({SVGgetVariant:function(){var d=b.call(this);if(d.unicode){delete d.unicode;delete d.FONTS}if(!this.unicode){return d}d.unicode=true;if(!d.forceFamily){d=MathJax.Hub.Insert({},d)}d.defaultFamily=c;d.noRemap=true;d.h=this.unicode[0];d.d=this.unicode[1];return d}})});MathJax.Ajax.loadComplete("[MathJax]/extensions/TeX/unicode.js");
|
||||
MathJax.Extension["TeX/unicode"]={version:"2.0.1",unicode:{},config:MathJax.Hub.CombineConfig("TeX.unicode",{fonts:"STIXGeneral,'Arial Unicode MS'"})};MathJax.Hub.Register.StartupHook("TeX Jax Ready",function(){var c=MathJax.InputJax.TeX;var a=MathJax.ElementJax.mml;var b=MathJax.Extension["TeX/unicode"].unicode;c.Definitions.Add({macros:{unicode:"Unicode"}},null,true);c.Parse.Augment({Unicode:function(e){var i=this.GetBrackets(e),d;if(i){if(i.replace(/ /g,"").match(/^(\d+(\.\d*)?|\.\d+),(\d+(\.\d*)?|\.\d+)$/)){i=i.replace(/ /g,"").split(/,/);d=this.GetBrackets(e)}else{d=i;i=null}}var j=this.trimSpaces(this.GetArgument(e)),h=parseInt(j.match(/^x/)?"0"+j:j);if(!b[h]){b[h]=[800,200,d,h]}else{if(!d){d=b[h][2]}}if(i){b[h][0]=Math.floor(i[0]*1000);b[h][1]=Math.floor(i[1]*1000)}var f=this.stack.env.font,g={};if(d){b[h][2]=g.fontfamily=d.replace(/"/g,"'");if(f){if(f.match(/bold/)){g.fontweight="bold"}if(f.match(/italic|-mathit/)){g.fontstyle="italic"}}}else{if(f){g.mathvariant=f}}g.unicode=[].concat(b[h]);this.Push(a.mtext(a.entity("#"+j)).With(g))}});MathJax.Hub.Startup.signal.Post("TeX unicode Ready")});MathJax.Hub.Register.StartupHook("HTML-CSS Jax Ready",function(){var a=MathJax.ElementJax.mml;var c=MathJax.Extension["TeX/unicode"].config.fonts;var b=a.mbase.prototype.HTMLgetVariant;a.mbase.Augment({HTMLgetVariant:function(){var d=b.call(this);if(d.unicode){delete d.unicode;delete d.FONTS}if(!this.unicode){return d}d.unicode=true;if(!d.defaultFont){d=MathJax.Hub.Insert({},d);d.defaultFont={family:c}}var e=this.unicode[2];if(e){e+=","+c}else{e=c}d.defaultFont[this.unicode[3]]=[this.unicode[0],this.unicode[1],500,0,500,{isUnknown:true,isUnicode:true,font:e}];return d}})});MathJax.Hub.Register.StartupHook("SVG Jax Ready",function(){var a=MathJax.ElementJax.mml;var c=MathJax.Extension["TeX/unicode"].config.fonts;var b=a.mbase.prototype.SVGgetVariant;a.mbase.Augment({SVGgetVariant:function(){var d=b.call(this);if(d.unicode){delete d.unicode;delete d.FONTS}if(!this.unicode){return d}d.unicode=true;if(!d.forceFamily){d=MathJax.Hub.Insert({},d)}d.defaultFamily=c;d.noRemap=true;d.h=this.unicode[0];d.d=this.unicode[1];return d}})});MathJax.Ajax.loadComplete("[MathJax]/extensions/TeX/unicode.js");
|
||||
|
||||
|
|
|
@ -12,5 +12,5 @@
|
|||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*/
|
||||
|
||||
MathJax.Extension["TeX/verb"]={version:"2.0"};MathJax.Hub.Register.StartupHook("TeX Jax Ready",function(){var a=MathJax.ElementJax.mml;var c=MathJax.InputJax.TeX;var b=c.Definitions;b.macros.verb="Verb";c.Parse.Augment({Verb:function(d){var g=this.GetNext();var f=++this.i;if(g==""){c.Error(d+" requires an argument")}while(this.i<this.string.length&&this.string.charAt(this.i)!=g){this.i++}if(this.i==this.string.length){c.Error("Can't find closing delimiter for "+d)}var e=this.string.slice(f,this.i);this.i++;this.Push(a.mtext(e).With({mathvariant:a.VARIANT.MONOSPACE}))}});MathJax.Hub.Startup.signal.Post("TeX verb Ready")});MathJax.Ajax.loadComplete("[MathJax]/extensions/TeX/verb.js");
|
||||
MathJax.Extension["TeX/verb"]={version:"2.0.1"};MathJax.Hub.Register.StartupHook("TeX Jax Ready",function(){var a=MathJax.ElementJax.mml;var c=MathJax.InputJax.TeX;var b=c.Definitions;b.Add({macros:{verb:"Verb"}},null,true);c.Parse.Augment({Verb:function(d){var g=this.GetNext();var f=++this.i;if(g==""){c.Error(d+" requires an argument")}while(this.i<this.string.length&&this.string.charAt(this.i)!=g){this.i++}if(this.i==this.string.length){c.Error("Can't find closing delimiter for "+d)}var e=this.string.slice(f,this.i);this.i++;this.Push(a.mtext(e).With({mathvariant:a.VARIANT.MONOSPACE}))}});MathJax.Hub.Startup.signal.Post("TeX verb Ready")});MathJax.Ajax.loadComplete("[MathJax]/extensions/TeX/verb.js");
|
||||
|
||||
|
|
|
@ -12,5 +12,5 @@
|
|||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*/
|
||||
|
||||
MathJax.Extension.jsMath2jax={version:"2.0",config:{preview:"TeX"},PreProcess:function(b){if(!this.configured){this.config=MathJax.Hub.CombineConfig("jsMath2jax",this.config);if(this.config.Augment){MathJax.Hub.Insert(this,this.config.Augment)}if(typeof(this.config.previewTeX)!=="undefined"&&!this.config.previewTeX){this.config.preview="none"}this.previewClass=MathJax.Hub.config.preRemoveClass;this.configured=true}if(typeof(b)==="string"){b=document.getElementById(b)}if(!b){b=document.body}var c=b.getElementsByTagName("span"),a;for(a=c.length-1;a>=0;a--){if(String(c[a].className).match(/(^| )math( |$)/)){this.ConvertMath(c[a],"")}}var d=b.getElementsByTagName("div");for(a=d.length-1;a>=0;a--){if(String(d[a].className).match(/(^| )math( |$)/)){this.ConvertMath(d[a],"; mode=display")}}},ConvertMath:function(c,d){if(c.getElementsByTagName("script").length===0){var b=c.parentNode,a=this.createMathTag(d,c.innerHTML);if(c.nextSibling){b.insertBefore(a,c.nextSibling)}else{b.appendChild(a)}if(this.config.preview!=="none"){this.createPreview(c)}b.removeChild(c)}},createPreview:function(a){var b;if(this.config.preview==="TeX"){b=[this.filterPreview(a.innerHTML)]}else{if(this.config.preview instanceof Array){b=this.config.preview}}if(b){b=MathJax.HTML.Element("span",{className:MathJax.Hub.config.preRemoveClass},b);a.parentNode.insertBefore(b,a)}},createMathTag:function(c,b){b=b.replace(/</g,"<").replace(/>/g,">").replace(/&/g,"&");var a=document.createElement("script");a.type="math/tex"+c;MathJax.HTML.setScript(a,b);return a},filterPreview:function(a){return a}};MathJax.Hub.Register.PreProcessor(["PreProcess",MathJax.Extension.jsMath2jax]);MathJax.Ajax.loadComplete("[MathJax]/extensions/jsMath2jax.js");
|
||||
MathJax.Extension.jsMath2jax={version:"2.0",config:{preview:"TeX"},PreProcess:function(b){if(!this.configured){this.config=MathJax.Hub.CombineConfig("jsMath2jax",this.config);if(this.config.Augment){MathJax.Hub.Insert(this,this.config.Augment)}if(typeof(this.config.previewTeX)!=="undefined"&&!this.config.previewTeX){this.config.preview="none"}this.previewClass=MathJax.Hub.config.preRemoveClass;this.configured=true}if(typeof(b)==="string"){b=document.getElementById(b)}if(!b){b=document.body}var c=b.getElementsByTagName("span"),a;for(a=c.length-1;a>=0;a--){if(String(c[a].className).match(/(^| )math( |$)/)){this.ConvertMath(c[a],"")}}var d=b.getElementsByTagName("div");for(a=d.length-1;a>=0;a--){if(String(d[a].className).match(/(^| )math( |$)/)){this.ConvertMath(d[a],"; mode=display")}}},ConvertMath:function(c,d){if(c.getElementsByTagName("script").length===0){var b=c.parentNode,a=this.createMathTag(d,c.innerHTML);if(c.nextSibling){b.insertBefore(a,c.nextSibling)}else{b.appendChild(a)}if(this.config.preview!=="none"){this.createPreview(c)}b.removeChild(c)}},createPreview:function(a){var b;if(this.config.preview==="TeX"){b=[this.filterPreview(a.innerHTML)]}else{if(this.config.preview instanceof Array){b=this.config.preview}}if(b){b=MathJax.HTML.Element("span",{className:MathJax.Hub.config.preRemoveClass},b);a.parentNode.insertBefore(b,a)}},createMathTag:function(c,b){b=b.replace(/</g,"<").replace(/>/g,">").replace(/&/g,"&");var a=document.createElement("script");a.type="math/tex"+c;MathJax.HTML.setScript(a,b);return a},filterPreview:function(a){return a}};MathJax.Hub.Register.PreProcessor(["PreProcess",MathJax.Extension.jsMath2jax],8);MathJax.Ajax.loadComplete("[MathJax]/extensions/jsMath2jax.js");
|
||||
|
||||
|
|
|
@ -12,5 +12,5 @@
|
|||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*/
|
||||
|
||||
MathJax.Hub.Register.LoadHook("[MathJax]/jax/element/mml/jax.js",function(){var b="2.0";var a=MathJax.ElementJax.mml;SETTINGS=MathJax.Hub.config.menuSettings;a.mbase.Augment({toMathML:function(k){var g=(this.inferred&&this.parent.inferRow);if(k==null){k=""}var e=this.type,d=this.toMathMLattributes();if(e==="mspace"){return k+"<"+e+d+" />"}var j=[];var h=(this.isToken?"":k+(g?"":" "));for(var f=0,c=this.data.length;f<c;f++){if(this.data[f]){j.push(this.data[f].toMathML(h))}else{if(!this.isToken){j.push(h+"<mrow />")}}}if(this.isToken){return k+"<"+e+d+">"+j.join("")+"</"+e+">"}if(g){return j.join("\n")}if(j.length===0||(j.length===1&&j[0]==="")){return k+"<"+e+d+" />"}return k+"<"+e+d+">\n"+j.join("\n")+"\n"+k+"</"+e+">"},toMathMLattributes:function(){var j=[],g=this.defaults;var c=(this.attrNames||a.copyAttributeNames),l=a.skipAttributes;if(this.type==="math"){j.push('xmlns="http://www.w3.org/1998/Math/MathML"')}if(!this.attrNames){if(this.type==="mstyle"){g=a.math.prototype.defaults}for(var d in g){if(!l[d]&&g.hasOwnProperty(d)){var e=(d==="open"||d==="close");if(this[d]!=null&&(e||this[d]!==g[d])){var k=this[d];delete this[d];if(e||this.Get(d)!==k){j.push(d+'="'+this.toMathMLattribute(k)+'"')}this[d]=k}}}}for(var h=0,f=c.length;h<f;h++){if(c[h]==="class"){continue}k=(this.attr||{})[c[h]];if(k==null){k=this[c[h]]}if(k!=null){j.push(c[h]+'="'+this.toMathMLquote(k)+'"')}}this.toMathMLclass(j);if(j.length){return" "+j.join(" ")}else{return""}},toMathMLclass:function(c){var e=[];if(this["class"]){e.push(this["class"])}if(this.isa(a.TeXAtom)&&SETTINGS.texHints){var d=["ORD","OP","BIN","REL","OPEN","CLOSE","PUNCT","INNER","VCENTER"][this.texClass];if(d){e.push("MJX-TeXAtom-"+d)}}if(this.mathvariant&&this.toMathMLvariants[this.mathvariant]){e.push("MJX"+this.mathvariant)}if(this.arrow){e.push("MJX-arrow")}if(this.variantForm){e.push("MJX-variant")}if(e.length){c.unshift('class="'+e.join(" ")+'"')}},toMathMLattribute:function(c){if(typeof(c)==="string"&&c.replace(/ /g,"").match(/^(([-+])?(\d+(\.\d*)?|\.\d+))mu$/)){return((1/18)*RegExp.$1).toFixed(3).replace(/\.?0+$/,"")+"em"}else{if(this.toMathMLvariants[c]){return this.toMathMLvariants[c]}}return this.toMathMLquote(c)},toMathMLvariants:{"-tex-caligraphic":a.VARIANT.SCRIPT,"-tex-caligraphic-bold":a.VARIANT.BOLDSCRIPT,"-tex-oldstyle":a.VARIANT.NORMAL,"-tex-oldstyle-bold":a.VARIANT.BOLD,"-tex-mathit":a.VARIANT.ITALIC},toMathMLquote:function(e){e=String(e).split("");for(var f=0,d=e.length;f<d;f++){var h=e[f].charCodeAt(0);if(h<32||h>126){e[f]="&#x"+h.toString(16).toUpperCase()+";"}else{var g={"&":"&","<":"<",">":">",'"':"""}[e[f]];if(g){e[f]=g}}}return e.join("")}});a.msubsup.Augment({toMathML:function(h){var e=this.type;if(this.data[this.sup]==null){e="msub"}if(this.data[this.sub]==null){e="msup"}var d=this.toMathMLattributes();delete this.data[0].inferred;var g=[];for(var f=0,c=this.data.length;f<c;f++){if(this.data[f]){g.push(this.data[f].toMathML(h+" "))}}return h+"<"+e+d+">\n"+g.join("\n")+"\n"+h+"</"+e+">"}});a.munderover.Augment({toMathML:function(h){var e=this.type;if(this.data[this.under]==null){e="mover"}if(this.data[this.over]==null){e="munder"}var d=this.toMathMLattributes();delete this.data[0].inferred;var g=[];for(var f=0,c=this.data.length;f<c;f++){if(this.data[f]){g.push(this.data[f].toMathML(h+" "))}}return h+"<"+e+d+">\n"+g.join("\n")+"\n"+h+"</"+e+">"}});a.TeXAtom.Augment({toMathML:function(d){var c=this.toMathMLattributes();if(!c&&this.data[0].data.length===1){return d.substr(2)+this.data[0].toMathML(d)}return d+"<mrow"+c+">\n"+this.data[0].toMathML(d+" ")+"\n"+d+"</mrow>"}});a.chars.Augment({toMathML:function(c){return(c||"")+this.toMathMLquote(this.toString())}});a.entity.Augment({toMathML:function(c){return(c||"")+"&"+this.data[0]+";<!-- "+this.toString()+" -->"}});a.xml.Augment({toMathML:function(c){return(c||"")+this.toString()}});MathJax.Hub.Register.StartupHook("TeX mathchoice Ready",function(){a.TeXmathchoice.Augment({toMathML:function(c){return this.Core().toMathML(c)}})});MathJax.Hub.Startup.signal.Post("toMathML Ready")});MathJax.Ajax.loadComplete("[MathJax]/extensions/toMathML.js");
|
||||
MathJax.Hub.Register.LoadHook("[MathJax]/jax/element/mml/jax.js",function(){var b="2.0.1";var a=MathJax.ElementJax.mml;SETTINGS=MathJax.Hub.config.menuSettings;a.mbase.Augment({toMathML:function(k){var g=(this.inferred&&this.parent.inferRow);if(k==null){k=""}var e=this.type,d=this.toMathMLattributes();if(e==="mspace"){return k+"<"+e+d+" />"}var j=[];var h=(this.isToken?"":k+(g?"":" "));for(var f=0,c=this.data.length;f<c;f++){if(this.data[f]){j.push(this.data[f].toMathML(h))}else{if(!this.isToken){j.push(h+"<mrow />")}}}if(this.isToken){return k+"<"+e+d+">"+j.join("")+"</"+e+">"}if(g){return j.join("\n")}if(j.length===0||(j.length===1&&j[0]==="")){return k+"<"+e+d+" />"}return k+"<"+e+d+">\n"+j.join("\n")+"\n"+k+"</"+e+">"},toMathMLattributes:function(){var j=[],g=this.defaults;var c=(this.attrNames||a.copyAttributeNames),l=a.skipAttributes;if(this.type==="math"){j.push('xmlns="http://www.w3.org/1998/Math/MathML"')}if(!this.attrNames){if(this.type==="mstyle"){g=a.math.prototype.defaults}for(var d in g){if(!l[d]&&g.hasOwnProperty(d)){var e=(d==="open"||d==="close");if(this[d]!=null&&(e||this[d]!==g[d])){var k=this[d];delete this[d];if(e||this.Get(d)!==k){j.push(d+'="'+this.toMathMLattribute(k)+'"')}this[d]=k}}}}for(var h=0,f=c.length;h<f;h++){if(c[h]==="class"){continue}k=(this.attr||{})[c[h]];if(k==null){k=this[c[h]]}if(k!=null){j.push(c[h]+'="'+this.toMathMLquote(k)+'"')}}this.toMathMLclass(j);if(j.length){return" "+j.join(" ")}else{return""}},toMathMLclass:function(c){var e=[];if(this["class"]){e.push(this["class"])}if(this.isa(a.TeXAtom)&&SETTINGS.texHints){var d=["ORD","OP","BIN","REL","OPEN","CLOSE","PUNCT","INNER","VCENTER"][this.texClass];if(d){e.push("MJX-TeXAtom-"+d)}}if(this.mathvariant&&this.toMathMLvariants[this.mathvariant]){e.push("MJX"+this.mathvariant)}if(this.arrow){e.push("MJX-arrow")}if(this.variantForm){e.push("MJX-variant")}if(e.length){c.unshift('class="'+e.join(" ")+'"')}},toMathMLattribute:function(c){if(typeof(c)==="string"&&c.replace(/ /g,"").match(/^(([-+])?(\d+(\.\d*)?|\.\d+))mu$/)){return RegExp.$2+((1/18)*RegExp.$3).toFixed(3).replace(/\.?0+$/,"")+"em"}else{if(this.toMathMLvariants[c]){return this.toMathMLvariants[c]}}return this.toMathMLquote(c)},toMathMLvariants:{"-tex-caligraphic":a.VARIANT.SCRIPT,"-tex-caligraphic-bold":a.VARIANT.BOLDSCRIPT,"-tex-oldstyle":a.VARIANT.NORMAL,"-tex-oldstyle-bold":a.VARIANT.BOLD,"-tex-mathit":a.VARIANT.ITALIC},toMathMLquote:function(e){e=String(e).split("");for(var f=0,d=e.length;f<d;f++){var h=e[f].charCodeAt(0);if(h<32||h>126){e[f]="&#x"+h.toString(16).toUpperCase()+";"}else{var g={"&":"&","<":"<",">":">",'"':"""}[e[f]];if(g){e[f]=g}}}return e.join("")}});a.msubsup.Augment({toMathML:function(h){var e=this.type;if(this.data[this.sup]==null){e="msub"}if(this.data[this.sub]==null){e="msup"}var d=this.toMathMLattributes();delete this.data[0].inferred;var g=[];for(var f=0,c=this.data.length;f<c;f++){if(this.data[f]){g.push(this.data[f].toMathML(h+" "))}}return h+"<"+e+d+">\n"+g.join("\n")+"\n"+h+"</"+e+">"}});a.munderover.Augment({toMathML:function(h){var e=this.type;if(this.data[this.under]==null){e="mover"}if(this.data[this.over]==null){e="munder"}var d=this.toMathMLattributes();delete this.data[0].inferred;var g=[];for(var f=0,c=this.data.length;f<c;f++){if(this.data[f]){g.push(this.data[f].toMathML(h+" "))}}return h+"<"+e+d+">\n"+g.join("\n")+"\n"+h+"</"+e+">"}});a.TeXAtom.Augment({toMathML:function(d){var c=this.toMathMLattributes();if(!c&&this.data[0].data.length===1){return d.substr(2)+this.data[0].toMathML(d)}return d+"<mrow"+c+">\n"+this.data[0].toMathML(d+" ")+"\n"+d+"</mrow>"}});a.chars.Augment({toMathML:function(c){return(c||"")+this.toMathMLquote(this.toString())}});a.entity.Augment({toMathML:function(c){return(c||"")+"&"+this.data[0]+";<!-- "+this.toString()+" -->"}});a.xml.Augment({toMathML:function(c){return(c||"")+this.toString()}});MathJax.Hub.Register.StartupHook("TeX mathchoice Ready",function(){a.TeXmathchoice.Augment({toMathML:function(c){return this.Core().toMathML(c)}})});MathJax.Hub.Startup.signal.Post("toMathML Ready")});MathJax.Ajax.loadComplete("[MathJax]/extensions/toMathML.js");
|
||||
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -12,5 +12,5 @@
|
|||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*/
|
||||
|
||||
MathJax.InputJax.TeX=MathJax.InputJax({id:"TeX",version:"2.0",directory:MathJax.InputJax.directory+"/TeX",extensionDir:MathJax.InputJax.extensionDir+"/TeX",config:{TagSide:"right",TagIndent:"0.8em",MultLineWidth:"85%",equationNumbers:{autoNumber:"none",formatNumber:function(a){return a},formatTag:function(a){return"("+a+")"},formatID:function(a){return"mjx-eqn-"+String(a).replace(/[:"'<>&]/g,"")},formatURL:function(a){return"#"+escape(a)},useLabelIds:true}}});MathJax.InputJax.TeX.Register("math/tex");MathJax.InputJax.TeX.loadComplete("config.js");
|
||||
MathJax.InputJax.TeX=MathJax.InputJax({id:"TeX",version:"2.0.6",directory:MathJax.InputJax.directory+"/TeX",extensionDir:MathJax.InputJax.extensionDir+"/TeX",config:{TagSide:"right",TagIndent:"0.8em",MultLineWidth:"85%",equationNumbers:{autoNumber:"none",formatNumber:function(a){return a},formatTag:function(a){return"("+a+")"},formatID:function(a){return"mjx-eqn-"+String(a).replace(/[:"'<>&]/g,"")},formatURL:function(a){return"#"+escape(a)},useLabelIds:true}}});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
File diff suppressed because one or more lines are too long
|
@ -12,5 +12,5 @@
|
|||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*/
|
||||
|
||||
MathJax.OutputJax["HTML-CSS"]=MathJax.OutputJax({id:"HTML-CSS",version:"2.0.1",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",mtextFontInherit:false,EqnChunk:(MathJax.Hub.Browser.isMobile?10:50),EqnChunkFactor:1.5,EqnChunkDelay:100,linebreaks:{automatic:false,width:"container"},styles:{".MathJax_Display":{"text-align":"center",margin:"1em 0em"},".MathJax .merror":{"background-color":"#FFFF88",color:"#CC0000",border:"1px solid #CC0000",padding:"1px 3px","font-style":"normal","font-size":"90%"},"#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==="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:"2.0.11",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",mtextFontInherit:false,EqnChunk:(MathJax.Hub.Browser.isMobile?10:50),EqnChunkFactor:1.5,EqnChunkDelay:100,linebreaks:{automatic:false,width:"container"},styles:{".MathJax_Display":{"text-align":"center",margin:"1em 0em"},".MathJax .merror":{"background-color":"#FFFF88",color:"#CC0000",border:"1px solid #CC0000",padding:"1px 3px","font-style":"normal","font-size":"90%"},"#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==="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
|
@ -12,5 +12,5 @@
|
|||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*/
|
||||
|
||||
(function(g){var k=g.FONTDATA.DELIMITERS;var f="MathJax_Main",h="MathJax_Main-bold",i="MathJax_AMS",d="MathJax_Size1",a="MathJax_Size4";var j="H",e="V";var c={61:{dir:j,HW:[[0.767,f]],stretch:{rep:[61,f]}},8606:{dir:j,HW:[[1,i]],stretch:{left:[8606,i],rep:[8722,f]}},8608:{dir:j,HW:[[1,i]],stretch:{right:[8608,i],rep:[8722,f]}},8612:{dir:j,HW:[],stretch:{left:[8592,f],rep:[8722,f],right:[8739,d,0,-0.05,0.9]}},8613:{dir:e,HW:[],stretch:{bot:[8869,h,0,0,0.75],ext:[9168,d],top:[8593,d]}},8614:{dir:j,HW:[[1,f]],stretch:{left:[8739,d,-0.09,-0.05,0.9],rep:[8722,f],right:[8594,f]}},8615:{dir:e,HW:[],stretch:{top:[8868,h,0,0,0.75],ext:[9168,d],bot:[8595,d]}},8624:{dir:e,HW:[[0.722,i]],stretch:{top:[8624,i],ext:[9168,d,0.097]}},8625:{dir:e,HW:[[0.722,i]],stretch:{top:[8625,i,0.27],ext:[9168,d]}},8636:{dir:j,HW:[[1,f]],stretch:{left:[8636,f],rep:[8722,f]}},8637:{dir:j,HW:[[1,f]],stretch:{left:[8637,f],rep:[8722,f]}},8638:{dir:e,HW:[[0.888,i]],stretch:{top:[8638,i,0.12,0,1.1],ext:[9168,d]}},8639:{dir:e,HW:[[0.888,i]],stretch:{top:[8639,i,0.12,0,1.1],ext:[9168,d]}},8640:{dir:j,HW:[[1,f]],stretch:{right:[8640,f],rep:[8722,f]}},8641:{dir:j,HW:[[1,f]],stretch:{right:[8641,f],rep:[8722,f]}},8642:{dir:e,HW:[[0.888,i]],stretch:{bot:[8642,i,0.12,0,1.1],ext:[9168,d]}},8643:{dir:e,HW:[[0.888,i]],stretch:{bot:[8643,i,0.12,0,1.1],ext:[9168,d]}},8666:{dir:j,HW:[[1,i]],stretch:{left:[8666,i],rep:[8801,f]}},8667:{dir:j,HW:[[1,i]],stretch:{right:[8667,i],rep:[8801,f]}},9140:{dir:j,HW:[],stretch:{left:[9484,i,0,-0.1],rep:[8722,f,0,0.35],right:[9488,i,0,-0.1]}},9141:{dir:j,HW:[],stretch:{left:[9492,i,0,0.26],rep:[8722,f,0,0,0,0.25],right:[9496,i,0,0.26]}},9180:{dir:j,HW:[[0.778,i,0,8994],[1,f,0,8994]],stretch:{left:[57680,a],rep:[57684,a],right:[57681,a]}},9181:{dir:j,HW:[[0.778,i,0,8995],[1,f,0,8995]],stretch:{left:[57682,a],rep:[57684,a],right:[57683,a]}},9184:{dir:j,HW:[],stretch:{left:[714,f,-0.1],rep:[713,f,0,0.13],right:[715,f],fullExtenders:true}},9185:{dir:j,HW:[],stretch:{left:[715,f,-0.1,0.1],rep:[713,f],right:[714,f,-0.1,0.1],fullExtenders:true}},10502:{dir:j,HW:[],stretch:{left:[8656,f],rep:[61,f],right:[8739,d,0,-0.1]}},10503:{dir:j,HW:[],stretch:{left:[8872,i,0,-0.12],rep:[61,f],right:[8658,f]}},10574:{dir:j,HW:[],stretch:{left:[8636,f],rep:[8722,f],right:[8640,f]}},10575:{dir:e,HW:[],stretch:{top:[8638,i,0.12,0,1.1],ext:[9168,d],bot:[8642,i,0.12,0,1.1]}},10576:{dir:j,HW:[],stretch:{left:[8637,f],rep:[8722,f],right:[8641,f]}},10577:{dir:e,HW:[],stretch:{top:[8639,i,0.12,0,1.1],ext:[9168,d],bot:[8643,i,0.12,0,1.1]}},10586:{dir:j,HW:[],stretch:{left:[8636,f],rep:[8722,f],right:[8739,d,0,-0.05,0.9]}},10587:{dir:j,HW:[],stretch:{left:[8739,d,-0.09,-0.05,0.9],rep:[8722,f],right:[8640,f]}},10588:{dir:e,HW:[],stretch:{bot:[8869,h,0,0,0.75],ext:[9168,d],top:[8638,i,0.12,0,1.1]}},10589:{dir:e,HW:[],stretch:{top:[8868,h,0,0,0.75],ext:[9168,d],bot:[8642,i,0.12,0,1.1]}},10590:{dir:j,HW:[],stretch:{left:[8637,f],rep:[8722,f],right:[8739,d,0,-0.05,0.9]}},10591:{dir:j,HW:[],stretch:{left:[8739,d,-0.09,-0.05,0.9],rep:[8722,f],right:[8641,f]}},10592:{dir:e,HW:[],stretch:{bot:[8869,h,0,0,0.75],ext:[9168,d],top:[8639,i,0.12,0,1.1]}},10593:{dir:e,HW:[],stretch:{top:[8868,h,0,0,0.75],ext:[9168,d],bot:[8643,i,0.12,0,1.1]}}};for(var b in c){if(c.hasOwnProperty(b)){k[b]=c[b]}}MathJax.Ajax.loadComplete(g.fontDir+"/fontdata-extra.js")})(MathJax.OutputJax["HTML-CSS"]);
|
||||
(function(g){var l="2.0.1";var k=g.FONTDATA.DELIMITERS;var f="MathJax_Main",h="MathJax_Main-bold",i="MathJax_AMS",d="MathJax_Size1",a="MathJax_Size4";var j="H",e="V";var c={61:{dir:j,HW:[[0.767,f]],stretch:{rep:[61,f]}},8606:{dir:j,HW:[[1,i]],stretch:{left:[8606,i],rep:[8722,f]}},8608:{dir:j,HW:[[1,i]],stretch:{right:[8608,i],rep:[8722,f]}},8612:{dir:j,HW:[],stretch:{min:1,left:[8592,f],rep:[8722,f],right:[8739,d,0,-0.05,0.9]}},8613:{dir:e,HW:[],stretch:{min:0.6,bot:[8869,h,0,0,0.75],ext:[9168,d],top:[8593,d]}},8614:{dir:j,HW:[[1,f]],stretch:{left:[8739,d,-0.09,-0.05,0.9],rep:[8722,f],right:[8594,f]}},8615:{dir:e,HW:[],stretch:{min:0.6,top:[8868,h,0,0,0.75],ext:[9168,d],bot:[8595,d]}},8624:{dir:e,HW:[[0.722,i]],stretch:{top:[8624,i],ext:[9168,d,0.097]}},8625:{dir:e,HW:[[0.722,i]],stretch:{top:[8625,i,0.27],ext:[9168,d]}},8636:{dir:j,HW:[[1,f]],stretch:{left:[8636,f],rep:[8722,f]}},8637:{dir:j,HW:[[1,f]],stretch:{left:[8637,f],rep:[8722,f]}},8638:{dir:e,HW:[[0.888,i]],stretch:{top:[8638,i,0.12,0,1.1],ext:[9168,d]}},8639:{dir:e,HW:[[0.888,i]],stretch:{top:[8639,i,0.12,0,1.1],ext:[9168,d]}},8640:{dir:j,HW:[[1,f]],stretch:{right:[8640,f],rep:[8722,f]}},8641:{dir:j,HW:[[1,f]],stretch:{right:[8641,f],rep:[8722,f]}},8642:{dir:e,HW:[[0.888,i]],stretch:{bot:[8642,i,0.12,0,1.1],ext:[9168,d]}},8643:{dir:e,HW:[[0.888,i]],stretch:{bot:[8643,i,0.12,0,1.1],ext:[9168,d]}},8666:{dir:j,HW:[[1,i]],stretch:{left:[8666,i],rep:[8801,f]}},8667:{dir:j,HW:[[1,i]],stretch:{right:[8667,i],rep:[8801,f]}},9140:{dir:j,HW:[],stretch:{min:0.5,left:[9484,i,0,-0.1],rep:[8722,f,0,0.35],right:[9488,i,0,-0.1]}},9141:{dir:j,HW:[],stretch:{min:0.5,left:[9492,i,0,0.26],rep:[8722,f,0,0,0,0.25],right:[9496,i,0,0.26]}},9180:{dir:j,HW:[[0.778,i,0,8994],[1,f,0,8994]],stretch:{left:[57680,a],rep:[57684,a],right:[57681,a]}},9181:{dir:j,HW:[[0.778,i,0,8995],[1,f,0,8995]],stretch:{left:[57682,a],rep:[57684,a],right:[57683,a]}},9184:{dir:j,HW:[],stretch:{min:1.25,left:[714,f,-0.1],rep:[713,f,0,0.13],right:[715,f],fullExtenders:true}},9185:{dir:j,HW:[],stretch:{min:1.5,left:[715,f,-0.1,0.1],rep:[713,f],right:[714,f,-0.1,0.1],fullExtenders:true}},10502:{dir:j,HW:[],stretch:{min:1,left:[8656,f],rep:[61,f],right:[8739,d,0,-0.1]}},10503:{dir:j,HW:[],stretch:{min:0.7,left:[8872,i,0,-0.12],rep:[61,f],right:[8658,f]}},10574:{dir:j,HW:[],stretch:{min:0.5,left:[8636,f],rep:[8722,f],right:[8640,f]}},10575:{dir:e,HW:[],stretch:{min:0.5,top:[8638,i,0.12,0,1.1],ext:[9168,d],bot:[8642,i,0.12,0,1.1]}},10576:{dir:j,HW:[],stretch:{min:0.5,left:[8637,f],rep:[8722,f],right:[8641,f]}},10577:{dir:e,HW:[],stretch:{min:0.5,top:[8639,i,0.12,0,1.1],ext:[9168,d],bot:[8643,i,0.12,0,1.1]}},10586:{dir:j,HW:[],stretch:{min:1,left:[8636,f],rep:[8722,f],right:[8739,d,0,-0.05,0.9]}},10587:{dir:j,HW:[],stretch:{min:1,left:[8739,d,-0.05,-0.05,0.9],rep:[8722,f],right:[8640,f]}},10588:{dir:e,HW:[],stretch:{min:0.7,bot:[8869,h,0,0,0.75],ext:[9168,d],top:[8638,i,0.12,0,1.1]}},10589:{dir:e,HW:[],stretch:{min:0.7,top:[8868,h,0,0,0.75],ext:[9168,d],bot:[8642,i,0.12,0,1.1]}},10590:{dir:j,HW:[],stretch:{min:1,left:[8637,f],rep:[8722,f],right:[8739,d,0,-0.05,0.9]}},10591:{dir:j,HW:[],stretch:{min:1,left:[8739,d,-0.05,-0.05,0.9],rep:[8722,f],right:[8641,f]}},10592:{dir:e,HW:[],stretch:{min:0.7,bot:[8869,h,0,0,0.75],ext:[9168,d],top:[8639,i,0.12,0,1.1]}},10593:{dir:e,HW:[],stretch:{min:0.7,top:[8868,h,0,0,0.75],ext:[9168,d],bot:[8643,i,0.12,0,1.1]}}};for(var b in c){if(c.hasOwnProperty(b)){k[b]=c[b]}}MathJax.Ajax.loadComplete(g.fontDir+"/fontdata-extra.js")})(MathJax.OutputJax["HTML-CSS"]);
|
||||
|
||||
|
|
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
|
||||
*/
|
||||
|
||||
MathJax.OutputJax.NativeMML=MathJax.OutputJax({id:"NativeMML",version:"2.0.1",directory:MathJax.OutputJax.directory+"/NativeMML",extensionDir:MathJax.OutputJax.extensionDir+"/NativeMML",config:{scale:100,minScaleAdjust:50,styles:{"DIV.MathJax_MathML":{"text-align":"center",margin:".75em 0px"}}}});if(!MathJax.Hub.config.delayJaxRegistration){MathJax.OutputJax.NativeMML.Register("jax/mml")}MathJax.OutputJax.NativeMML.loadComplete("config.js");
|
||||
MathJax.OutputJax.NativeMML=MathJax.OutputJax({id:"NativeMML",version:"2.0.5",directory:MathJax.OutputJax.directory+"/NativeMML",extensionDir:MathJax.OutputJax.extensionDir+"/NativeMML",config:{scale:100,minScaleAdjust:50,styles:{"DIV.MathJax_MathML":{"text-align":"center",margin:".75em 0px"}}}});if(!MathJax.Hub.config.delayJaxRegistration){MathJax.OutputJax.NativeMML.Register("jax/mml")}MathJax.OutputJax.NativeMML.loadComplete("config.js");
|
||||
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -12,5 +12,5 @@
|
|||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*/
|
||||
|
||||
MathJax.Hub.Register.StartupHook("SVG Jax Ready",function(){var b="2.0";var a=MathJax.ElementJax.mml,c=MathJax.OutputJax.SVG;a.mmultiscripts.Augment({toSVG:function(G,z){var B=this.SVG();this.SVGhandleSpace();var M=this.SVGgetScale();var j=(this.data[this.base]?this.SVGdataStretched(this.base,G,z):c.BBOX.G().Clean());var K=c.TeX.x_height*M,y=c.TeX.scriptspace*M*0.75;var x=this.SVGgetScripts(y);var k=x[0],e=x[1],n=x[2],i=x[3];var g=(this.data[1]||this).SVGgetScale();var C=c.TeX.sup_drop*g,A=c.TeX.sub_drop*g;var o=j.h-C,m=j.d+A,L=0,F;if(j.ic){L=j.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.scale===1&&!j.stretched&&!this.data[this.base].Get("largeop")){o=m=0}}var H=this.getValues("subscriptshift","superscriptshift"),E=this.SVGgetMu(B);H.subscriptshift=(H.subscriptshift===""?0:c.length2em(H.subscriptshift,E));H.superscriptshift=(H.superscriptshift===""?0:c.length2em(H.superscriptshift,E));var l=0;if(n){l=n.w+L}else{if(i){l=i.w-L}}B.Add(j,Math.max(0,l),0);if(!e&&!i){m=Math.max(m,c.TeX.sub1*M,H.subscriptshift);if(k){m=Math.max(m,k.h-(4/5)*K)}if(n){m=Math.max(m,n.h-(4/5)*K)}if(k){B.Add(k,l+j.w+y-L,-m)}if(n){B.Add(n,0,-m)}}else{if(!k&&!n){var f=this.getValues("displaystyle","texprimestyle");F=c.TeX[(f.displaystyle?"sup1":(f.texprimestyle?"sup3":"sup2"))];o=Math.max(o,F*M,H.superscriptshift);if(e){o=Math.max(o,e.d+(1/4)*K)}if(i){o=Math.max(o,i.d+(1/4)*K)}if(e){B.Add(e,l+j.w+y,o)}if(i){B.Add(i,0,o)}}else{m=Math.max(m,c.TeX.sub2*M);var w=c.TeX.rule_thickness*M;var I=(k||n).h,J=(e||i).d;if(n){I=Math.max(I,n.h)}if(i){J=Math.max(J,i.d)}if((o-J)-(I-m)<3*w){m=3*w-o+J+I;C=(4/5)*K-(o-J);if(C>0){o+=C;m-=C}}o=Math.max(o,H.superscriptshift);m=Math.max(m,H.subscriptshift);if(e){B.Add(e,l+j.w+y,o)}if(i){B.Add(i,l+L-i.w,o)}if(k){B.Add(k,l+j.w+y-L,-m)}if(n){B.Add(n,l-n.w,-m)}}}B.Clean();this.SVGhandleColor(B);this.SVGsaveData(B);return B},SVGgetScripts:function(p){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]=c.BBOX.G()}e[l].Add(this.data[n].toSVG().With({x:f}))}n++}d=e[h]||{w:0};o=e[h+1]||{w:0};d.w=o.w=f=Math.max(d.w,o.w)}n++;f=0}for(l=0;l<4;l++){if(e[l]){e[l].w+=p;e[l].Clean()}}return e}});MathJax.Hub.Startup.signal.Post("SVG mmultiscripts Ready");MathJax.Ajax.loadComplete(c.autoloadDir+"/mmultiscripts.js")});
|
||||
MathJax.Hub.Register.StartupHook("SVG Jax Ready",function(){var b="2.0.2";var a=MathJax.ElementJax.mml,c=MathJax.OutputJax.SVG;a.mmultiscripts.Augment({toSVG:function(G,z){this.SVGgetStyles();var B=this.SVG();this.SVGhandleSpace(B);var M=this.SVGgetScale();var j=(this.data[this.base]?this.SVGdataStretched(this.base,G,z):c.BBOX.G().Clean());var K=c.TeX.x_height*M,y=c.TeX.scriptspace*M*0.75;var x=this.SVGgetScripts(y);var k=x[0],e=x[1],n=x[2],i=x[3];var g=(this.data[1]||this).SVGgetScale();var C=c.TeX.sup_drop*g,A=c.TeX.sub_drop*g;var o=j.h-C,m=j.d+A,L=0,F;if(j.ic){L=j.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.scale===1&&!j.stretched&&!this.data[this.base].Get("largeop")){o=m=0}}var H=this.getValues("subscriptshift","superscriptshift"),E=this.SVGgetMu(B);H.subscriptshift=(H.subscriptshift===""?0:c.length2em(H.subscriptshift,E));H.superscriptshift=(H.superscriptshift===""?0:c.length2em(H.superscriptshift,E));var l=0;if(n){l=n.w+L}else{if(i){l=i.w-L}}B.Add(j,Math.max(0,l),0);if(!e&&!i){m=Math.max(m,c.TeX.sub1*M,H.subscriptshift);if(k){m=Math.max(m,k.h-(4/5)*K)}if(n){m=Math.max(m,n.h-(4/5)*K)}if(k){B.Add(k,l+j.w+y-L,-m)}if(n){B.Add(n,0,-m)}}else{if(!k&&!n){var f=this.getValues("displaystyle","texprimestyle");F=c.TeX[(f.displaystyle?"sup1":(f.texprimestyle?"sup3":"sup2"))];o=Math.max(o,F*M,H.superscriptshift);if(e){o=Math.max(o,e.d+(1/4)*K)}if(i){o=Math.max(o,i.d+(1/4)*K)}if(e){B.Add(e,l+j.w+y,o)}if(i){B.Add(i,0,o)}}else{m=Math.max(m,c.TeX.sub2*M);var w=c.TeX.rule_thickness*M;var I=(k||n).h,J=(e||i).d;if(n){I=Math.max(I,n.h)}if(i){J=Math.max(J,i.d)}if((o-J)-(I-m)<3*w){m=3*w-o+J+I;C=(4/5)*K-(o-J);if(C>0){o+=C;m-=C}}o=Math.max(o,H.superscriptshift);m=Math.max(m,H.subscriptshift);if(e){B.Add(e,l+j.w+y,o)}if(i){B.Add(i,l+L-i.w,o)}if(k){B.Add(k,l+j.w+y-L,-m)}if(n){B.Add(n,l-n.w,-m)}}}B.Clean();this.SVGhandleColor(B);this.SVGsaveData(B);return B},SVGgetScripts:function(p){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]=c.BBOX.G()}e[l].Add(this.data[n].toSVG().With({x:f}))}n++}d=e[h]||{w:0};o=e[h+1]||{w:0};d.w=o.w=f=Math.max(d.w,o.w)}n++;f=0}for(l=0;l<4;l++){if(e[l]){e[l].w+=p;e[l].Clean()}}return e}});MathJax.Hub.Startup.signal.Post("SVG mmultiscripts Ready");MathJax.Ajax.loadComplete(c.autoloadDir+"/mmultiscripts.js")});
|
||||
|
||||
|
|
|
@ -12,5 +12,5 @@
|
|||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*/
|
||||
|
||||
MathJax.Hub.Register.StartupHook("SVG Jax Ready",function(){var b="2.0";var a=MathJax.ElementJax.mml,c=MathJax.OutputJax.SVG;a.ms.Augment({toSVG:function(){var e=this.SVG();this.SVGhandleSpace(e);var d=this.getValues("lquote","rquote");var f=this.SVGgetVariant(),i=this.SVGgetScale();var h=this.data.join("");var g=[];if(d.lquote.length===1){g.push(this.SVGquoteRegExp(d.lquote))}if(d.rquote.length===1){g.push(this.SVGquoteRegExp(d.rquote))}if(g.length){h=h.replace(RegExp("("+g.join("|")+")","g"),"\\$1")}e.Add(this.SVGhandleVariant(f,i,d.lquote+h+d.rquote));e.Clean();this.SVGhandleColor(e);this.SVGsaveData(e);return e},SVGquoteRegExp:function(d){return d.replace(/([.*+?|{}()\[\]\\])/g,"\\$1")}});a.ms.prototype.defaults.mathvariant="monospace";MathJax.Hub.Startup.signal.Post("SVG ms Ready");MathJax.Ajax.loadComplete(c.autoloadDir+"/ms.js")});
|
||||
MathJax.Hub.Register.StartupHook("SVG Jax Ready",function(){var b="2.0.1";var a=MathJax.ElementJax.mml,c=MathJax.OutputJax.SVG;a.ms.Augment({toSVG:function(){this.SVGgetStyles();var e=this.SVG();this.SVGhandleSpace(e);var d=this.getValues("lquote","rquote");var f=this.SVGgetVariant(),i=this.SVGgetScale();var h=this.data.join("");var g=[];if(d.lquote.length===1){g.push(this.SVGquoteRegExp(d.lquote))}if(d.rquote.length===1){g.push(this.SVGquoteRegExp(d.rquote))}if(g.length){h=h.replace(RegExp("("+g.join("|")+")","g"),"\\$1")}e.Add(this.SVGhandleVariant(f,i,d.lquote+h+d.rquote));e.Clean();this.SVGhandleColor(e);this.SVGsaveData(e);return e},SVGquoteRegExp:function(d){return d.replace(/([.*+?|{}()\[\]\\])/g,"\\$1")}});a.ms.prototype.defaults.mathvariant="monospace";MathJax.Hub.Startup.signal.Post("SVG ms Ready");MathJax.Ajax.loadComplete(c.autoloadDir+"/ms.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
|
||||
*/
|
||||
|
||||
MathJax.OutputJax.SVG=MathJax.OutputJax({id:"SVG",version:"2.0",directory:MathJax.OutputJax.directory+"/SVG",extensionDir:MathJax.OutputJax.extensionDir+"/SVG",autoloadDir:MathJax.OutputJax.directory+"/SVG/autoload",fontDir:MathJax.OutputJax.directory+"/SVG/fonts",config:{scale:100,minScaleAdjust:50,font:"TeX",blacker:10,mtextFontInherit:false,undefinedFamily:"STIXGeneral,'Arial Unicode MS',serif",addMMLclasses:false,EqnChunk:(MathJax.Hub.Browser.isMobile?10:50),EqnChunkFactor:1.5,EqnChunkDelay:100,linebreaks:{automatic:false,width:"container"},styles:{".MathJax_SVG_Display":{"text-align":"center",margin:"1em 0em"},"#MathJax_SVG_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",padding:"3px 4px"}}}});if(!MathJax.Hub.config.delayJaxRegistration){MathJax.OutputJax.SVG.Register("jax/mml")}MathJax.OutputJax.SVG.loadComplete("config.js");
|
||||
MathJax.OutputJax.SVG=MathJax.OutputJax({id:"SVG",version:"2.0.8",directory:MathJax.OutputJax.directory+"/SVG",extensionDir:MathJax.OutputJax.extensionDir+"/SVG",autoloadDir:MathJax.OutputJax.directory+"/SVG/autoload",fontDir:MathJax.OutputJax.directory+"/SVG/fonts",config:{scale:100,minScaleAdjust:50,font:"TeX",blacker:10,mtextFontInherit:false,undefinedFamily:"STIXGeneral,'Arial Unicode MS',serif",addMMLclasses:false,EqnChunk:(MathJax.Hub.Browser.isMobile?10:50),EqnChunkFactor:1.5,EqnChunkDelay:100,linebreaks:{automatic:false,width:"container"},styles:{".MathJax_SVG_Display":{"text-align":"center",margin:"1em 0em"},"#MathJax_SVG_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",padding:"3px 4px"}}}});if(!MathJax.Hub.config.delayJaxRegistration){MathJax.OutputJax.SVG.Register("jax/mml")}MathJax.OutputJax.SVG.loadComplete("config.js");
|
||||
|
||||
|
|
|
@ -12,5 +12,5 @@
|
|||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*/
|
||||
|
||||
(function(a){var k=a.FONTDATA.DELIMITERS;var g="MathJax_Main",h="MathJax_Main-bold",i="MathJax_AMS",e="MathJax_Size1",b="MathJax_Size4";var j="H",f="V";var d={61:{dir:j,HW:[[0.767,g]],stretch:{rep:[61,g]}},8606:{dir:j,HW:[[1,i]],stretch:{left:[8606,i],rep:[8722,g]}},8608:{dir:j,HW:[[1,i]],stretch:{right:[8608,i],rep:[8722,g]}},8612:{dir:j,HW:[],stretch:{left:[8592,g],rep:[8722,g],right:[8739,e,0,-0.05,0.9]}},8613:{dir:f,HW:[],stretch:{bot:[8869,h,0,0,0.75],ext:[9168,e],top:[8593,e]}},8614:{dir:j,HW:[[1,g]],stretch:{left:[8739,e,-0.09,-0.05,0.9],rep:[8722,g],right:[8594,g]}},8615:{dir:f,HW:[],stretch:{top:[8868,h,0,0,0.75],ext:[9168,e],bot:[8595,e]}},8624:{dir:f,HW:[[0.722,i]],stretch:{top:[8624,i],ext:[9168,e,0.097]}},8625:{dir:f,HW:[[0.722,i]],stretch:{top:[8625,i,0.27],ext:[9168,e]}},8636:{dir:j,HW:[[1,g]],stretch:{left:[8636,g],rep:[8722,g]}},8637:{dir:j,HW:[[1,g]],stretch:{left:[8637,g],rep:[8722,g]}},8638:{dir:f,HW:[[0.888,i]],stretch:{top:[8638,i,0.12,0,1.1],ext:[9168,e]}},8639:{dir:f,HW:[[0.888,i]],stretch:{top:[8639,i,0.12,0,1.1],ext:[9168,e]}},8640:{dir:j,HW:[[1,g]],stretch:{right:[8640,g],rep:[8722,g]}},8641:{dir:j,HW:[[1,g]],stretch:{right:[8641,g],rep:[8722,g]}},8642:{dir:f,HW:[[0.888,i]],stretch:{bot:[8642,i,0.12,0,1.1],ext:[9168,e]}},8643:{dir:f,HW:[[0.888,i]],stretch:{bot:[8643,i,0.12,0,1.1],ext:[9168,e]}},8666:{dir:j,HW:[[1,i]],stretch:{left:[8666,i],rep:[8801,g]}},8667:{dir:j,HW:[[1,i]],stretch:{right:[8667,i],rep:[8801,g]}},9140:{dir:j,HW:[],stretch:{left:[9484,i,0,-0.1],rep:[8722,g,0,0.325],right:[9488,i,0,-0.1]}},9141:{dir:j,HW:[],stretch:{left:[9492,i,0,0.26],rep:[8722,g,0,0,0,0.25],right:[9496,i,0,0.26]}},9180:{dir:j,HW:[[0.778,i,0,8994],[1,g,0,8994]],stretch:{left:[57680,b],rep:[57684,b],right:[57681,b]}},9181:{dir:j,HW:[[0.778,i,0,8995],[1,g,0,8995]],stretch:{left:[57682,b],rep:[57684,b],right:[57683,b]}},9184:{dir:j,HW:[],stretch:{left:[714,g,-0.1],rep:[713,g,0,0.13],right:[715,g],fullExtenders:true}},9185:{dir:j,HW:[],stretch:{left:[715,g,-0.1,0.1],rep:[713,g],right:[714,g,-0.1,0.1],fullExtenders:true}},10502:{dir:j,HW:[],stretch:{left:[8656,g],rep:[61,g],right:[8739,e,0,-0.1]}},10503:{dir:j,HW:[],stretch:{left:[8872,i,0,-0.12],rep:[61,g],right:[8658,g]}},10574:{dir:j,HW:[],stretch:{left:[8636,g],rep:[8722,g],right:[8640,g]}},10575:{dir:f,HW:[],stretch:{top:[8638,i,0.12,0,1.1],ext:[9168,e],bot:[8642,i,0.12,0,1.1]}},10576:{dir:j,HW:[],stretch:{left:[8637,g],rep:[8722,g],right:[8641,g]}},10577:{dir:f,HW:[],stretch:{top:[8639,i,0.12,0,1.1],ext:[9168,e],bot:[8643,i,0.12,0,1.1]}},10586:{dir:j,HW:[],stretch:{left:[8636,g],rep:[8722,g],right:[8739,e,0,-0.05,0.9]}},10587:{dir:j,HW:[],stretch:{left:[8739,e,-0.09,-0.05,0.9],rep:[8722,g],right:[8640,g]}},10588:{dir:f,HW:[],stretch:{bot:[8869,h,0,0,0.75],ext:[9168,e],top:[8638,i,0.12,0,1.1]}},10589:{dir:f,HW:[],stretch:{top:[8868,h,0,0,0.75],ext:[9168,e],bot:[8642,i,0.12,0,1.1]}},10590:{dir:j,HW:[],stretch:{left:[8637,g],rep:[8722,g],right:[8739,e,0,-0.05,0.9]}},10591:{dir:j,HW:[],stretch:{left:[8739,e,-0.09,-0.05,0.9],rep:[8722,g],right:[8641,g]}},10592:{dir:f,HW:[],stretch:{bot:[8869,h,0,0,0.75],ext:[9168,e],top:[8639,i,0.12,0,1.1]}},10593:{dir:f,HW:[],stretch:{top:[8868,h,0,0,0.75],ext:[9168,e],bot:[8643,i,0.12,0,1.1]}}};for(var c in d){if(d.hasOwnProperty(c)){k[c]=d[c]}}MathJax.Ajax.loadComplete(a.fontDir+"/fontdata-extra.js")})(MathJax.OutputJax.SVG);
|
||||
(function(a){var l="2.0.1";var k=a.FONTDATA.DELIMITERS;var g="MathJax_Main",h="MathJax_Main-bold",i="MathJax_AMS",e="MathJax_Size1",b="MathJax_Size4";var j="H",f="V";var d={61:{dir:j,HW:[[0.767,g]],stretch:{rep:[61,g]}},8606:{dir:j,HW:[[1,i]],stretch:{left:[8606,i],rep:[8722,g]}},8608:{dir:j,HW:[[1,i]],stretch:{right:[8608,i],rep:[8722,g]}},8612:{dir:j,HW:[],stretch:{min:1,left:[8592,g],rep:[8722,g],right:[8739,e,0,-0.05,0.9]}},8613:{dir:f,HW:[],stretch:{min:0.6,bot:[8869,h,0,0,0.75],ext:[9168,e],top:[8593,e]}},8614:{dir:j,HW:[[1,g]],stretch:{left:[8739,e,-0.09,-0.05,0.9],rep:[8722,g],right:[8594,g]}},8615:{dir:f,HW:[],stretch:{min:0.6,top:[8868,h,0,0,0.75],ext:[9168,e],bot:[8595,e]}},8624:{dir:f,HW:[[0.722,i]],stretch:{top:[8624,i],ext:[9168,e,0.097]}},8625:{dir:f,HW:[[0.722,i]],stretch:{top:[8625,i,0.27],ext:[9168,e]}},8636:{dir:j,HW:[[1,g]],stretch:{left:[8636,g],rep:[8722,g]}},8637:{dir:j,HW:[[1,g]],stretch:{left:[8637,g],rep:[8722,g]}},8638:{dir:f,HW:[[0.888,i]],stretch:{top:[8638,i,0.12,0,1.1],ext:[9168,e]}},8639:{dir:f,HW:[[0.888,i]],stretch:{top:[8639,i,0.12,0,1.1],ext:[9168,e]}},8640:{dir:j,HW:[[1,g]],stretch:{right:[8640,g],rep:[8722,g]}},8641:{dir:j,HW:[[1,g]],stretch:{right:[8641,g],rep:[8722,g]}},8642:{dir:f,HW:[[0.888,i]],stretch:{bot:[8642,i,0.12,0,1.1],ext:[9168,e]}},8643:{dir:f,HW:[[0.888,i]],stretch:{bot:[8643,i,0.12,0,1.1],ext:[9168,e]}},8666:{dir:j,HW:[[1,i]],stretch:{left:[8666,i],rep:[8801,g]}},8667:{dir:j,HW:[[1,i]],stretch:{right:[8667,i],rep:[8801,g]}},9140:{dir:j,HW:[],stretch:{min:0.5,left:[9484,i,0,-0.1],rep:[8722,g,0,0.325],right:[9488,i,0,-0.1]}},9141:{dir:j,HW:[],stretch:{min:0.5,left:[9492,i,0,0.26],rep:[8722,g,0,0,0,0.25],right:[9496,i,0,0.26]}},9180:{dir:j,HW:[[0.778,i,0,8994],[1,g,0,8994]],stretch:{left:[57680,b],rep:[57684,b],right:[57681,b]}},9181:{dir:j,HW:[[0.778,i,0,8995],[1,g,0,8995]],stretch:{left:[57682,b],rep:[57684,b],right:[57683,b]}},9184:{dir:j,HW:[],stretch:{min:1.25,left:[714,g,-0.1],rep:[713,g,-0.05,0.13],right:[715,g],fullExtenders:true}},9185:{dir:j,HW:[],stretch:{min:1.5,left:[715,g,-0.1,0.1],rep:[713,g,-0.1],right:[714,g,-0.1,0.1],fullExtenders:true}},10502:{dir:j,HW:[],stretch:{min:1,left:[8656,g],rep:[61,g],right:[8739,e,0,-0.1]}},10503:{dir:j,HW:[],stretch:{min:0.7,left:[8872,i,0,-0.12],rep:[61,g],right:[8658,g]}},10574:{dir:j,HW:[],stretch:{min:0.5,left:[8636,g],rep:[8722,g],right:[8640,g]}},10575:{dir:f,HW:[],stretch:{min:0.5,top:[8638,i,0.12,0,1.1],ext:[9168,e],bot:[8642,i,0.12,0,1.1]}},10576:{dir:j,HW:[],stretch:{min:0.5,left:[8637,g],rep:[8722,g],right:[8641,g]}},10577:{dir:f,HW:[],stretch:{min:0.5,top:[8639,i,0.12,0,1.1],ext:[9168,e],bot:[8643,i,0.12,0,1.1]}},10586:{dir:j,HW:[],stretch:{min:1,left:[8636,g],rep:[8722,g],right:[8739,e,0,-0.05,0.9]}},10587:{dir:j,HW:[],stretch:{min:1,left:[8739,e,-0.05,-0.05,0.9],rep:[8722,g],right:[8640,g]}},10588:{dir:f,HW:[],stretch:{min:0.7,bot:[8869,h,0,0,0.75],ext:[9168,e],top:[8638,i,0.12,0,1.1]}},10589:{dir:f,HW:[],stretch:{min:0.7,top:[8868,h,0,0,0.75],ext:[9168,e],bot:[8642,i,0.12,0,1.1]}},10590:{dir:j,HW:[],stretch:{min:1,left:[8637,g],rep:[8722,g],right:[8739,e,0,-0.05,0.9]}},10591:{dir:j,HW:[],stretch:{min:1,left:[8739,e,-0.05,-0.05,0.9],rep:[8722,g],right:[8641,g]}},10592:{dir:f,HW:[],stretch:{min:0.7,bot:[8869,h,0,0,0.75],ext:[9168,e],top:[8639,i,0.12,0,1.1]}},10593:{dir:f,HW:[],stretch:{min:0.7,top:[8868,h,0,0,0.75],ext:[9168,e],bot:[8643,i,0.12,0,1.1]}}};for(var c in d){if(d.hasOwnProperty(c)){k[c]=d[c]}}MathJax.Ajax.loadComplete(a.fontDir+"/fontdata-extra.js")})(MathJax.OutputJax.SVG);
|
||||
|
||||
|
|
File diff suppressed because one or more lines are too long
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
|
||||
|
||||
MathJax.version = "2.0";
|
||||
MathJax.fileversion = "2.0.3";
|
||||
MathJax.fileversion = "2.0.6";
|
||||
|
||||
/**********************************************************/
|
||||
|
||||
|
@ -966,6 +966,7 @@ MathJax.HTML = {
|
|||
MathJax.Hub.Insert(obj,def);
|
||||
}
|
||||
if (contents) {
|
||||
if (!(contents instanceof Array)) {contents = [contents]}
|
||||
for (var i = 0; i < contents.length; i++) {
|
||||
if (contents[i] instanceof Array) {
|
||||
obj.appendChild(this.Element(contents[i][0],contents[i][1],contents[i][2]));
|
||||
|
@ -1240,7 +1241,7 @@ MathJax.Hub = {
|
|||
skipStartupTypeset: false, // set to true to skip PreProcess and Process during startup
|
||||
"v1.0-compatible": true, // set to false to prevent message about configuration change
|
||||
elements: [], // array of elements to process when none is given explicitly
|
||||
positionToHash: false, // after initial typeset pass, position to #hash location?
|
||||
positionToHash: true, // after initial typeset pass, position to #hash location?
|
||||
|
||||
showMathMenu: true, // attach math context menu to typeset math?
|
||||
showMathMenuMSIE: true, // separtely determine if MSIE should have math menu
|
||||
|
@ -1684,6 +1685,7 @@ MathJax.Hub = {
|
|||
script.parentNode.insertBefore(error,script);
|
||||
if (script.MathJax.preview) {script.MathJax.preview.innerHTML = ""}
|
||||
this.lastError = err;
|
||||
this.signal.Post(["Math Processing Error",script,err]);
|
||||
},
|
||||
|
||||
RestartAfter: function (callback) {
|
||||
|
@ -1862,8 +1864,9 @@ MathJax.Hub.Startup = {
|
|||
var config = MathJax.Hub.config, jax = MathJax.Hub.outputJax;
|
||||
// Save the order of the output jax since they are loading asynchronously
|
||||
for (var i = 0, m = config.jax.length, k = 0; i < m; i++) {
|
||||
if (config.jax[i].substr(0,7) === "output/")
|
||||
{jax.order[config.jax[i].substr(7)] = k; k++}
|
||||
var name = config.jax[i].substr(7);
|
||||
if (config.jax[i].substr(0,7) === "output/" && jax.order[name] == null)
|
||||
{jax.order[name] = k; k++}
|
||||
}
|
||||
var queue = MathJax.Callback.Queue();
|
||||
return queue.Push(
|
||||
|
@ -1911,8 +1914,17 @@ MathJax.Hub.Startup = {
|
|||
// Set the location to the designated hash position
|
||||
//
|
||||
Hash: function () {
|
||||
if (MathJax.Hub.config.positionToHash && document.location.hash)
|
||||
{setTimeout("document.location = document.location.hash",1)}
|
||||
if (MathJax.Hub.config.positionToHash && document.location.hash &&
|
||||
document.body && document.body.scrollIntoView) {
|
||||
var name = document.location.hash.substr(1);
|
||||
var target = document.getElementById(name);
|
||||
if (!target) {
|
||||
var a = document.getElementsByTagName("a");
|
||||
for (var i = 0, m = a.length; i < m; i++)
|
||||
{if (a[i].name === name) {target = a[i]; break}}
|
||||
}
|
||||
if (target) {setTimeout(function () {target.scrollIntoView(true)},1)}
|
||||
}
|
||||
},
|
||||
|
||||
//
|
||||
|
@ -1939,7 +1951,7 @@ MathJax.Hub.Startup = {
|
|||
//
|
||||
// Setup the onload callback
|
||||
//
|
||||
onLoad: function (when) {
|
||||
onLoad: function () {
|
||||
var onload = this.onload =
|
||||
MathJax.Callback(function () {MathJax.Hub.Startup.signal.Post("onLoad")});
|
||||
if (document.body && document.readyState && document.readyState !== "loading") {return [onload]}
|
||||
|
|
|
@ -33,8 +33,8 @@
|
|||
*/
|
||||
|
||||
|
||||
MathJAx.Extension["HTML-CSS/handle-floats"] = {
|
||||
version: "2.0"
|
||||
MathJax.Extension["HTML-CSS/handle-floats"] = {
|
||||
version: "2.0.1"
|
||||
};
|
||||
|
||||
//
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
*/
|
||||
|
||||
(function (HUB,HTML,AJAX,CALLBACK,OUTPUT) {
|
||||
var VERSION = "2.0.2";
|
||||
var VERSION = "2.0.5";
|
||||
|
||||
var SIGNAL = MathJax.Callback.Signal("menu") // signal for menu events
|
||||
|
||||
|
@ -609,7 +609,7 @@
|
|||
]]);
|
||||
MENU.About.div = MENU.Background(MENU.About);
|
||||
var about = HTML.addElement(MENU.About.div,"div",{
|
||||
id: "MathJax_About", onclick: MENU.About.Remove
|
||||
id: "MathJax_About"
|
||||
},[
|
||||
["b",{style:{fontSize:"120%"}},["MathJax"]]," v"+MathJax.version,["br"],
|
||||
"using "+font,["br"],["br"],
|
||||
|
@ -618,7 +618,12 @@
|
|||
"max-height":"20em", overflow:"auto",
|
||||
"background-color":"#E4E4E4", padding:".4em .6em", border:"1px inset"
|
||||
}},jax],["br"],["br"],
|
||||
["a",{href:"http://www.mathjax.org/"},["www.mathjax.org"]]
|
||||
["a",{href:"http://www.mathjax.org/"},["www.mathjax.org"]],
|
||||
["img", {
|
||||
src: CONFIG.closeImg,
|
||||
style: {width:"21px", height:"21px", position:"absolute", top:".2em", right:".2em"},
|
||||
onclick: MENU.About.Remove
|
||||
}]
|
||||
]);
|
||||
var doc = (document.documentElement||{});
|
||||
var H = window.innerHeight || doc.clientHeight || doc.scrollHeight || 0;
|
||||
|
@ -666,7 +671,7 @@
|
|||
// toMathML() can call MathJax.Hub.RestartAfter, so trap errors and check
|
||||
try {MENU.ShowSource.Text(MENU.jax.root.toMathML(),event)} catch (err) {
|
||||
if (!err.restart) {throw err}
|
||||
CALLBACK.After([this,MENU.ShowSource,EVENT]);
|
||||
CALLBACK.After([this,MENU.ShowSource,EVENT],err.restart);
|
||||
}
|
||||
} else if (!AJAX.loadingToMathML) {
|
||||
AJAX.loadingToMathML = true;
|
||||
|
@ -729,21 +734,22 @@
|
|||
* Handle rescaling all the math
|
||||
*/
|
||||
MENU.Scale = function () {
|
||||
var HTMLCSS = OUTPUT["HTML-CSS"], nMML = OUTPUT.NativeMML;
|
||||
var SCALE = (HTMLCSS ? HTMLCSS.config.scale : nMML.config.scale);
|
||||
var HTMLCSS = OUTPUT["HTML-CSS"], nMML = OUTPUT.NativeMML, SVG = OUTPUT.SVG;
|
||||
var SCALE = (HTMLCSS||nMML||SVG||{config:{scale:100}}).config.scale;
|
||||
var scale = prompt("Scale all mathematics (compared to surrounding text) by",SCALE+"%");
|
||||
if (scale) {
|
||||
if (scale.match(/^\s*\d+\s*%?\s*$/)) {
|
||||
scale = parseInt(scale);
|
||||
if (scale.match(/^\s*\d+(\.\d*)?\s*%?\s*$/)) {
|
||||
scale = parseFloat(scale);
|
||||
if (scale) {
|
||||
if (scale !== SCALE) {
|
||||
if (HTMLCSS) {HTMLCSS.config.scale = scale}
|
||||
if (nMML) {nMML.config.scale = scale}
|
||||
if (SVG) {SVG.config.scale = scale}
|
||||
MENU.cookie.scale = scale;
|
||||
MENU.saveCookie(); HUB.Reprocess();
|
||||
}
|
||||
} else {alert("The scale should not be zero")}
|
||||
} else {alert("The scale should be a perentage (e.g., 120%)")}
|
||||
} else {alert("The scale should be a percentage (e.g., 120%)")}
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -805,8 +811,11 @@
|
|||
Opera: "Opera's support for MathML is limited, so switching to " +
|
||||
"MathML output may cause some expressions to render poorly.",
|
||||
|
||||
Safari: "Your browser's native MathML does not implement all the features " +
|
||||
"used by MathJax, so some expressions may not render properly.",
|
||||
|
||||
Firefox: "Your browser's native MathML does not implement all the features " +
|
||||
"used by MathJax, so some expressions may render improperly."
|
||||
"used by MathJax, so some expressions may not render properly."
|
||||
},
|
||||
|
||||
SVG: {
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
*/
|
||||
|
||||
MathJax.Extension["TeX/AMSmath"] = {
|
||||
version: "2.0",
|
||||
version: "2.0.2",
|
||||
|
||||
number: 0, // current equation number
|
||||
startNumber: 0, // current starting equation number (for when equation is restarted)
|
||||
|
@ -46,6 +46,10 @@ MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () {
|
|||
/******************************************************************************/
|
||||
|
||||
TEXDEF.Add({
|
||||
mathchar0mo: {
|
||||
iiiint: ['2A0C',{texClass: MML.TEXCLASS.OP}]
|
||||
},
|
||||
|
||||
macros: {
|
||||
mathring: ['Accent','2DA'], // or 0x30A
|
||||
|
||||
|
@ -53,14 +57,16 @@ MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () {
|
|||
negmedspace: ['Spacer',MML.LENGTH.NEGATIVEMEDIUMMATHSPACE],
|
||||
negthickspace: ['Spacer',MML.LENGTH.NEGATIVETHICKMATHSPACE],
|
||||
|
||||
intI: ['Macro','\\mathchoice{\\!}{}{}{}\\!\\!\\int'],
|
||||
// intI: ['Macro','\\mathchoice{\\!}{}{}{}\\!\\!\\int'],
|
||||
// iint: ['MultiIntegral','\\int\\intI'], // now in core TeX input jax
|
||||
// iiint: ['MultiIntegral','\\int\\intI\\intI'], // now in core TeX input jax
|
||||
iiiint: ['MultiIntegral','\\int\\intI\\intI\\intI'],
|
||||
// iiiint: ['MultiIntegral','\\int\\intI\\intI\\intI'], // now in mathchar0mo above
|
||||
idotsint: ['MultiIntegral','\\int\\cdots\\int'],
|
||||
|
||||
dddot: ['Macro','\\mathop{#1}\\limits^{\\textstyle \\mathord{.}\\mathord{.}\\mathord{.}}',1],
|
||||
ddddot: ['Macro','\\mathop{#1}\\limits^{\\textstyle \\mathord{.}\\mathord{.}\\mathord{.}\\mathord{.}}',1],
|
||||
// dddot: ['Macro','\\mathop{#1}\\limits^{\\textstyle \\mathord{.}\\mathord{.}\\mathord{.}}',1],
|
||||
// ddddot: ['Macro','\\mathop{#1}\\limits^{\\textstyle \\mathord{.}\\mathord{.}\\mathord{.}\\mathord{.}}',1],
|
||||
dddot: ['Accent','20DB'],
|
||||
ddddot: ['Accent','20DC'],
|
||||
|
||||
sideset: ['Macro','\\mathop{\\mathop{\\rlap{\\phantom{#3}}}\\nolimits#1\\!\\mathop{#3}\\nolimits#2}',3],
|
||||
|
||||
|
@ -74,12 +80,12 @@ MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () {
|
|||
|
||||
substack: ['Macro','\\begin{subarray}{c}#1\\end{subarray}',1],
|
||||
|
||||
injlim: ['Macro','\\mathop{\\rm inj\\,lim}'],
|
||||
projlim: ['Macro','\\mathop{\\rm proj\\,lim}'],
|
||||
varliminf: ['Macro','\\mathop{\\underline{\\rm lim}}'],
|
||||
varlimsup: ['Macro','\\mathop{\\overline{\\rm lim}}'],
|
||||
varinjlim: ['Macro','\\mathop{\\underrightarrow{\\rm lim\\Rule{-1pt}{0pt}{1pt}}\\Rule{0pt}{0pt}{.45em}}'],
|
||||
varprojlim: ['Macro','\\mathop{\\underleftarrow{\\rm lim\\Rule{-1pt}{0pt}{1pt}}\\Rule{0pt}{0pt}{.45em}}'],
|
||||
injlim: ['NamedOp','inj lim'],
|
||||
projlim: ['NamedOp','proj lim'],
|
||||
varliminf: ['Macro','\\mathop{\\underline{\\mmlToken{mi}{lim}}}'],
|
||||
varlimsup: ['Macro','\\mathop{\\overline{\\mmlToken{mi}{lim}}}'],
|
||||
varinjlim: ['Macro','\\mathop{\\underrightarrow{\\mmlToken{mi}{lim}\\Rule{-1pt}{0pt}{1pt}}\\Rule{0pt}{0pt}{.45em}}'],
|
||||
varprojlim: ['Macro','\\mathop{\\underleftarrow{\\mmlToken{mi}{lim}\\Rule{-1pt}{0pt}{1pt}}\\Rule{0pt}{0pt}{.45em}}'],
|
||||
|
||||
DeclareMathOperator: 'HandleDeclareOp',
|
||||
operatorname: 'HandleOperatorName',
|
||||
|
@ -121,7 +127,10 @@ MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () {
|
|||
smallmatrix: ['Array',null,null,null,'c',COLS([1/3]),".2em",'S',1],
|
||||
|
||||
'equation': ['EquationBegin','Equation',true],
|
||||
'equation*': ['EquationBegin','EquationStar',false]
|
||||
'equation*': ['EquationBegin','EquationStar',false],
|
||||
|
||||
eqnarray: ['AMSarray',null,true,true, 'rcl',MML.LENGTH.THICKMATHSPACE,".5em"],
|
||||
'eqnarray*': ['AMSarray',null,false,true,'rcl',MML.LENGTH.THICKMATHSPACE,".5em"]
|
||||
},
|
||||
|
||||
delimiter: {
|
||||
|
@ -159,6 +168,7 @@ MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () {
|
|||
*/
|
||||
HandleLabel: function (name) {
|
||||
var global = this.stack.global, label = this.GetArgument(name);
|
||||
if (label === "") return;
|
||||
if (!AMS.refUpdate) {
|
||||
if (global.label) {TEX.Error("Multiple "+name+"'s")}
|
||||
global.label = label;
|
||||
|
@ -462,7 +472,7 @@ MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () {
|
|||
EndRow: function () {
|
||||
var mtr = MML.mtr;
|
||||
if (!this.global.tag && this.numbered) {this.autoTag()}
|
||||
if (this.global.tag &&! this.global.notags) {
|
||||
if (this.global.tag && !this.global.notags) {
|
||||
this.row = [this.getTag()].concat(this.row);
|
||||
mtr = MML.mlabeledtr;
|
||||
}
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
*/
|
||||
|
||||
MathJax.Extension["TeX/AMSsymbols"] = {
|
||||
version: "2.0"
|
||||
version: "2.0.1"
|
||||
};
|
||||
|
||||
MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () {
|
||||
|
@ -55,22 +55,22 @@ MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () {
|
|||
daleth: '2138',
|
||||
|
||||
// Miscellaneous symbols
|
||||
// hbar: '0127', // in MathJax_Main
|
||||
// hbar: '0127', // in TeX/jax.js
|
||||
backprime: ['2035',{variantForm: true}],
|
||||
hslash: ['210F',{variantForm: true}],
|
||||
hslash: '210F',
|
||||
varnothing: ['2205',{variantForm: true}],
|
||||
blacktriangle: '25B2',
|
||||
triangledown: '25BD',
|
||||
blacktriangledown: '25BC',
|
||||
square: '25A1',
|
||||
Box: '25A1',
|
||||
blacksquare: '25A0',
|
||||
blacktriangle: '25B4',
|
||||
triangledown: ['25BD',{variantForm: true}],
|
||||
blacktriangledown: '25BE',
|
||||
square: '25FB',
|
||||
Box: '25FB',
|
||||
blacksquare: '25FC',
|
||||
lozenge: '25CA',
|
||||
Diamond: '25CA',
|
||||
blacklozenge: '29EB',
|
||||
circledS: ['24C8',{mathvariant: MML.VARIANT.NORMAL}],
|
||||
bigstar: '2605',
|
||||
// angle: '2220', // in MathJax_Main
|
||||
// angle: '2220', // in TeX/jax.js
|
||||
sphericalangle: '2222',
|
||||
measuredangle: '2221',
|
||||
nexists: '2204',
|
||||
|
@ -93,7 +93,7 @@ MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () {
|
|||
// Binary operators
|
||||
dotplus: '2214',
|
||||
ltimes: '22C9',
|
||||
smallsetminus: ['2216',{variantForm: true}],
|
||||
smallsetminus: '2216',
|
||||
rtimes: '22CA',
|
||||
Cap: '22D2',
|
||||
doublecap: '22D2',
|
||||
|
@ -187,8 +187,8 @@ MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () {
|
|||
pitchfork: '22D4',
|
||||
varpropto: '221D',
|
||||
backepsilon: '220D',
|
||||
blacktriangleleft: '25C0',
|
||||
blacktriangleright: '25B6',
|
||||
blacktriangleleft: '25C2',
|
||||
blacktriangleright: '25B8',
|
||||
therefore: '2234',
|
||||
because: '2235',
|
||||
eqsim: '2242',
|
||||
|
@ -343,59 +343,4 @@ MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () {
|
|||
|
||||
});
|
||||
|
||||
MathJax.Hub.Register.StartupHook("HTML-CSS Jax Ready",function () {
|
||||
var HTMLCSS = MathJax.OutputJax["HTML-CSS"];
|
||||
var VARIANT = HTMLCSS.FONTDATA.VARIANT;
|
||||
if (HTMLCSS.fontInUse === "TeX") {
|
||||
VARIANT["-TeX-variant"] = {
|
||||
fonts: ["MathJax_AMS","MathJax_Main","MathJax_Size1"],
|
||||
remap: {0x2268: 0xE00C, 0x2269: 0xE00D, 0x2270: 0xE011, 0x2271: 0xE00E,
|
||||
0x2A87: 0xE010, 0x2A88: 0xE00F, 0x2224: 0xE006, 0x2226: 0xE007,
|
||||
0x2288: 0xE016, 0x2289: 0xE018, 0x228A: 0xE01A, 0x228B: 0xE01B,
|
||||
0x2ACB: 0xE017, 0x2ACC: 0xE019, 0x03DC: 0xE008, 0x03F0: 0xE009}
|
||||
};
|
||||
if (HTMLCSS.msieIE6) {
|
||||
MathJax.Hub.Insert(VARIANT["-TeX-variant"].remap,{
|
||||
0x2190:[0xE2C1,"-WinIE6"], 0x2192:[0xE2C0,"-WinIE6"],
|
||||
0x2223:[0xE2C2,"-WinIE6"], 0x2225:[0xE2C3,"-WinIE6"],
|
||||
0x223C:[0xE2C4,"-WinIE6"], 0x25B3:[0xE2D3,"-WinIE6"]
|
||||
});
|
||||
}
|
||||
}
|
||||
if (HTMLCSS.fontInUse === "STIX") {
|
||||
MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () {
|
||||
var TEXDEF = MathJax.InputJax.TeX.Definitions;
|
||||
TEXDEF.mathchar0mi.varnothing = '2205';
|
||||
TEXDEF.mathchar0mi.hslash = '210F';
|
||||
TEXDEF.mathchar0mi.blacktriangle = '25B4';
|
||||
TEXDEF.mathchar0mi.blacktriangledown = '25BE';
|
||||
TEXDEF.mathchar0mi.square = '25FB';
|
||||
TEXDEF.mathchar0mi.blacksquare = '25FC';
|
||||
TEXDEF.mathchar0mi.vartriangle = ['25B3',{mathsize:"71%"}];
|
||||
TEXDEF.mathchar0mi.triangledown = ['25BD',{mathsize:"71%"}];
|
||||
TEXDEF.mathchar0mo.blacktriangleleft = '25C2';
|
||||
TEXDEF.mathchar0mo.blacktriangleright = '25B8';
|
||||
TEXDEF.mathchar0mo.smallsetminus = '2216';
|
||||
MathJax.Hub.Insert(VARIANT["-STIX-variant"],{
|
||||
remap: {0x2A87: 0xE010, 0x2A88: 0xE00F, 0x2270: 0xE011, 0x2271: 0xE00E,
|
||||
0x22E0: 0xE04B, 0x22E1: 0xE04F, 0x2288: 0xE016, 0x2289: 0xE018}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
MathJax.Hub.Register.StartupHook("SVG Jax Ready",function () {
|
||||
var SVG = MathJax.OutputJax.SVG;
|
||||
var VARIANT = SVG.FONTDATA.VARIANT;
|
||||
|
||||
VARIANT["-TeX-variant"] = {
|
||||
fonts: ["MathJax_AMS","MathJax_Main","MathJax_Size1"],
|
||||
remap: {0x2268: 0xE00C, 0x2269: 0xE00D, 0x2270: 0xE011, 0x2271: 0xE00E,
|
||||
0x2A87: 0xE010, 0x2A88: 0xE00F, 0x2224: 0xE006, 0x2226: 0xE007,
|
||||
0x2288: 0xE016, 0x2289: 0xE018, 0x228A: 0xE01A, 0x228B: 0xE01B,
|
||||
0x2ACB: 0xE017, 0x2ACC: 0xE019, 0x03DC: 0xE008, 0x03F0: 0xE009}
|
||||
};
|
||||
});
|
||||
|
||||
MathJax.Ajax.loadComplete("[MathJax]/extensions/TeX/AMSsymbols.js");
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
*/
|
||||
|
||||
MathJax.Extension["TeX/HTML"] = {
|
||||
version: "2.0"
|
||||
version: "2.0.1"
|
||||
};
|
||||
|
||||
MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () {
|
||||
|
@ -37,7 +37,7 @@ MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () {
|
|||
style: 'STYLE_attribute',
|
||||
cssId: 'ID_attribute'
|
||||
}
|
||||
});
|
||||
},null,true);
|
||||
|
||||
TEX.Parse.Augment({
|
||||
|
||||
|
|
|
@ -32,7 +32,7 @@
|
|||
*/
|
||||
|
||||
MathJax.Extension["TeX/action"] = {
|
||||
version: "2.0"
|
||||
version: "2.0.1"
|
||||
};
|
||||
|
||||
MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () {
|
||||
|
@ -42,9 +42,13 @@ MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () {
|
|||
//
|
||||
// Set up control sequenecs
|
||||
//
|
||||
TEX.Definitions.macros.toggle = 'Toggle';
|
||||
TEX.Definitions.macros.mathtip = 'Mathtip';
|
||||
TEX.Definitions.macros.texttip = ['Macro','\\mathtip{#1}{\\text{#2}}',2];
|
||||
TEX.Definitions.Add({
|
||||
macros: {
|
||||
toggle: 'Toggle',
|
||||
mathtip: 'Mathtip',
|
||||
texttip: ['Macro','\\mathtip{#1}{\\text{#2}}',2]
|
||||
}
|
||||
},null,true);
|
||||
|
||||
TEX.Parse.Augment({
|
||||
|
||||
|
|
|
@ -23,14 +23,10 @@
|
|||
*/
|
||||
|
||||
MathJax.Extension["TeX/autoload-all"] = {
|
||||
version: "2.0"
|
||||
version: "2.0.3"
|
||||
};
|
||||
|
||||
MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () {
|
||||
var TEX = MathJax.InputJax.TeX,
|
||||
MACROS = TEX.Definitions.macros,
|
||||
ENVS = TEX.Definitions.environment;
|
||||
|
||||
|
||||
var EXTENSIONS = {
|
||||
action: ["mathtip","texttip","toggle"],
|
||||
|
@ -42,24 +38,36 @@ MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () {
|
|||
"shoveleft","shoveright","xrightarrow","xleftarrow"],
|
||||
begingroup: ["begingroup","endgroup","gdef","global"],
|
||||
cancel: ["cancel","bcancel","xcancel","cancelto"],
|
||||
color: ["color","colorbox","fcolorbox","DefineColor"],
|
||||
color: ["color","textcolor","colorbox","fcolorbox","DefineColor"],
|
||||
enclose: ["enclose"],
|
||||
extpfeil: ["Newextarrow","xlongequal","xmapsto","xtofrom",
|
||||
"xtwoheadleftarrow","xtwoheadrightarrow"],
|
||||
mhchem: ["ce","cee","cf"]
|
||||
};
|
||||
|
||||
for (var name in EXTENSIONS) {if (EXTENSIONS.hasOwnProperty(name)) {
|
||||
var macros = EXTENSIONS[name];
|
||||
for (var i = 0, m = macros.length; i < m; i++) {
|
||||
MACROS[macros[i]] = ["Extension",name];
|
||||
var ENVIRONMENTS = {
|
||||
AMSmath: ["subarray","smallmatrix","equation","equation*"]
|
||||
};
|
||||
|
||||
var name, i, m, defs = {macros:{}, environment:{}};
|
||||
|
||||
for (name in EXTENSIONS) {if (EXTENSIONS.hasOwnProperty(name)) {
|
||||
if (!MathJax.Extension["TeX/"+name]) {
|
||||
var macros = EXTENSIONS[name];
|
||||
for (i = 0, m = macros.length; i < m; i++)
|
||||
{defs.macros[macros[i]] = ["Extension",name]}
|
||||
}
|
||||
}}
|
||||
|
||||
ENVS["subarray"] = ['ExtensionEnv',null,'AMSmath'];
|
||||
ENVS["smallmatrix"] = ['ExtensionEnv',null,'AMSmath'];
|
||||
ENVS["equation"] = ['ExtensionEnv',null,'AMSmath'];
|
||||
ENVS["equation*"] = ['ExtensionEnv',null,'AMSmath'];
|
||||
for (name in ENVIRONMENTS) {if (ENVIRONMENTS.hasOwnProperty(name)) {
|
||||
if (!MathJax.Extension["TeX/"+name]) {
|
||||
var envs = ENVIRONMENTS[name];
|
||||
for (i = 0, m = envs.length; i < m; i++)
|
||||
{defs.environment[envs[i]] = ["ExtensionEnv",null,name]}
|
||||
}
|
||||
}}
|
||||
|
||||
MathJax.InputJax.TeX.Definitions.Add(defs);
|
||||
|
||||
MathJax.Hub.Startup.signal.Post("TeX autoload-all Ready");
|
||||
|
||||
|
|
|
@ -43,15 +43,15 @@
|
|||
*/
|
||||
|
||||
MathJax.Extension["TeX/bbox"] = {
|
||||
version: "2.0"
|
||||
version: "2.0.1"
|
||||
};
|
||||
|
||||
MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () {
|
||||
|
||||
var TEX = MathJax.InputJax.TeX,
|
||||
MML = MathJax.ElementJax.mml;
|
||||
|
||||
TEX.Definitions.macros.bbox = "BBox";
|
||||
|
||||
TEX.Definitions.Add({macros: {bbox: "BBox"}},null,true);
|
||||
|
||||
TEX.Parse.Augment({
|
||||
BBox: function (name) {
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
*/
|
||||
|
||||
MathJax.Extension["TeX/begingroup"] = {
|
||||
version: "2.0"
|
||||
version: "2.0.1"
|
||||
};
|
||||
|
||||
MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () {
|
||||
|
@ -100,7 +100,7 @@ MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () {
|
|||
//
|
||||
Init: function (eqn) {
|
||||
this.isEqn = eqn; this.stack = [];
|
||||
if (!eqn) {this.Push(NSFRAME(TEXDEF.macros,TEXDEF.environments))}
|
||||
if (!eqn) {this.Push(NSFRAME(TEXDEF.macros,TEXDEF.environment))}
|
||||
else {this.Push(NSFRAME())}
|
||||
},
|
||||
//
|
||||
|
@ -186,10 +186,14 @@ MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () {
|
|||
//
|
||||
// Define the new macros
|
||||
//
|
||||
TEXDEF.macros.begingroup = "BeginGroup";
|
||||
TEXDEF.macros.endgroup = "EndGroup";
|
||||
TEXDEF.macros.global = ["Extension","newcommand"];
|
||||
TEXDEF.macros.gdef = ["Extension","newcommand"];
|
||||
TEXDEF.Add({
|
||||
macros: {
|
||||
begingroup: "BeginGroup",
|
||||
endgroup: "EndGroup",
|
||||
global: ["Extension","newcommand"],
|
||||
gdef: ["Extension","newcommand"]
|
||||
}
|
||||
},null,true);
|
||||
|
||||
TEX.Parse.Augment({
|
||||
//
|
||||
|
@ -257,8 +261,12 @@ MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () {
|
|||
//
|
||||
// Add the commands that depend on the newcommand code
|
||||
//
|
||||
TEXDEF.macros.global = "Global";
|
||||
TEXDEF.macros.gdef = ["Macro","\\global\\def"];
|
||||
TEXDEF.Add({
|
||||
macros: {
|
||||
global: "Global",
|
||||
gdef: ["Macro","\\global\\def"]
|
||||
}
|
||||
},null,true);
|
||||
|
||||
TEX.Parse.Augment({
|
||||
//
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
*/
|
||||
|
||||
MathJax.Extension["TeX/boldsymbol"] = {
|
||||
version: "2.0"
|
||||
version: "2.0.1"
|
||||
};
|
||||
|
||||
MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () {
|
||||
|
@ -41,7 +41,7 @@ MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () {
|
|||
BOLDVARIANT["-tex-caligraphic"] = "-tex-caligraphic-bold";
|
||||
BOLDVARIANT["-tex-oldstyle"] = "-tex-oldstyle-bold";
|
||||
|
||||
TEXDEF.macros.boldsymbol = 'Boldsymbol';
|
||||
TEXDEF.Add({macros: {boldsymbol: 'Boldsymbol'}},null,true);
|
||||
|
||||
TEX.Parse.Augment({
|
||||
mmlToken: function (token) {
|
||||
|
|
|
@ -29,7 +29,7 @@
|
|||
*/
|
||||
|
||||
MathJax.Extension["TeX/cancel"] = {
|
||||
version: "2.0",
|
||||
version: "2.0.1",
|
||||
|
||||
//
|
||||
// The attributes allowed in \enclose{notation}[attributes]{math}
|
||||
|
@ -45,7 +45,6 @@ MathJax.Extension["TeX/cancel"] = {
|
|||
|
||||
MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () {
|
||||
var TEX = MathJax.InputJax.TeX,
|
||||
MACROS = TEX.Definitions.macros,
|
||||
MML = MathJax.ElementJax.mml,
|
||||
CANCEL = MathJax.Extension["TeX/cancel"];
|
||||
|
||||
|
@ -65,12 +64,16 @@ MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () {
|
|||
};
|
||||
|
||||
//
|
||||
// Set up macro
|
||||
// Set up macros
|
||||
//
|
||||
MACROS.cancel = ['Cancel',MML.NOTATION.UPDIAGONALSTRIKE];
|
||||
MACROS.bcancel = ['Cancel',MML.NOTATION.DOWNDIAGONALSTRIKE];
|
||||
MACROS.xcancel = ['Cancel',MML.NOTATION.UPDIAGONALSTRIKE+" "+MML.NOTATION.DOWNDIAGONALSTRIKE];
|
||||
MACROS.cancelto = 'CancelTo';
|
||||
TEX.Definitions.Add({
|
||||
macros: {
|
||||
cancel: ['Cancel',MML.NOTATION.UPDIAGONALSTRIKE],
|
||||
bcancel: ['Cancel',MML.NOTATION.DOWNDIAGONALSTRIKE],
|
||||
xcancel: ['Cancel',MML.NOTATION.UPDIAGONALSTRIKE+" "+MML.NOTATION.DOWNDIAGONALSTRIKE],
|
||||
cancelto: 'CancelTo'
|
||||
}
|
||||
},null,true);
|
||||
|
||||
TEX.Parse.Augment({
|
||||
//
|
||||
|
|
|
@ -2,9 +2,10 @@
|
|||
*
|
||||
* MathJax/extensions/TeX/color.js
|
||||
*
|
||||
* Implements LaTeX-compatible \color macro rather than MathJax's
|
||||
* original (non-standard) version. It includes the rgb, gray, and
|
||||
* named color models, and the \definecolor macro.
|
||||
* Implements LaTeX-compatible \color macro rather than MathJax's original
|
||||
* (non-standard) version. It includes the rgb, RGB, gray, and named color
|
||||
* models, and the \textcolor, \definecolor, \colorbox, and \fcolorbox
|
||||
* macros.
|
||||
*
|
||||
* ---------------------------------------------------------------------
|
||||
*
|
||||
|
@ -27,7 +28,7 @@
|
|||
// The configuration defaults, augmented by the user settings
|
||||
//
|
||||
MathJax.Extension["TeX/color"] = {
|
||||
version: "2.0",
|
||||
version: "2.0.2",
|
||||
|
||||
config: MathJax.Hub.CombineConfig("TeX.color",{
|
||||
padding: "5px",
|
||||
|
@ -116,21 +117,37 @@ MathJax.Extension["TeX/color"] = {
|
|||
},
|
||||
|
||||
/*
|
||||
* Get an RGB color
|
||||
* Get an rgb color
|
||||
*/
|
||||
get_rgb: function (rgb) {
|
||||
rgb = rgb.split(/,/); var RGB = "#";
|
||||
if (rgb.length !== 3) {this.TEX.Error("RGB colors require 3 decimal numbers")}
|
||||
if (rgb.length !== 3) {this.TEX.Error("rgb colors require 3 decimal numbers")}
|
||||
for (var i = 0; i < 3; i++) {
|
||||
if (!rgb[i].match(/^(\d+(\.\d*)?|\.\d+)$/)) {this.TEX.Error("Invalid decimal number")}
|
||||
var n = parseFloat(rgb[i]);
|
||||
if (n < 0 || n > 1) {this.TEX.Error("RGB values must be between 0 and 1")}
|
||||
if (n < 0 || n > 1) {this.TEX.Error("rgb values must be between 0 and 1")}
|
||||
n = Math.floor(n*255).toString(16); if (n.length < 2) {n = "0"+n}
|
||||
RGB += n;
|
||||
}
|
||||
return RGB;
|
||||
},
|
||||
|
||||
/*
|
||||
* Get an RGB color
|
||||
*/
|
||||
get_RGB: function (rgb) {
|
||||
rgb = rgb.split(/,/); var RGB = "#";
|
||||
if (rgb.length !== 3) {this.TEX.Error("RGB colors require 3 numbers")}
|
||||
for (var i = 0; i < 3; i++) {
|
||||
if (!rgb[i].match(/^\d+$/)) {this.TEX.Error("Invalid number")}
|
||||
var n = parseInt(rgb[i]);
|
||||
if (n > 255) {this.TEX.Error("RGB values must be between 0 and 255")}
|
||||
n = n.toString(16); if (n.length < 2) {n = "0"+n}
|
||||
RGB += n;
|
||||
}
|
||||
return RGB;
|
||||
},
|
||||
|
||||
/*
|
||||
* Get a gray-scale value
|
||||
*/
|
||||
|
@ -166,11 +183,16 @@ MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () {
|
|||
var COLOR = MathJax.Extension["TeX/color"];
|
||||
|
||||
COLOR.TEX = TEX; // for reference in getColor above
|
||||
|
||||
TEX.Definitions.macros.color = "Color";
|
||||
TEX.Definitions.macros.definecolor = "DefineColor";
|
||||
TEX.Definitions.macros.colorbox = "ColorBox";
|
||||
TEX.Definitions.macros.fcolorbox = "fColorBox";
|
||||
|
||||
TEX.Definitions.Add({
|
||||
macros: {
|
||||
color: "Color",
|
||||
textcolor: "TextColor",
|
||||
definecolor: "DefineColor",
|
||||
colorbox: "ColorBox",
|
||||
fcolorbox: "fColorBox"
|
||||
}
|
||||
},null,true);
|
||||
|
||||
TEX.Parse.Augment({
|
||||
|
||||
|
@ -185,6 +207,16 @@ MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () {
|
|||
this.stack.env.color = color;
|
||||
this.Push(mml);
|
||||
},
|
||||
|
||||
TextColor: function (name) {
|
||||
var model = this.GetBrackets(name),
|
||||
color = this.GetArgument(name);
|
||||
color = COLOR.getColor(model,color);
|
||||
var old = this.stack.env.color; this.stack.env.color = color;
|
||||
var math = this.ParseArg(name);
|
||||
if (old) {this.stack.env.color} else {delete this.stack.env.color}
|
||||
this.Push(MML.mstyle(math).With({mathcolor: color}));
|
||||
},
|
||||
|
||||
//
|
||||
// Define the \definecolor macro
|
||||
|
|
|
@ -29,7 +29,7 @@
|
|||
*/
|
||||
|
||||
MathJax.Extension["TeX/enclose"] = {
|
||||
version: "2.0",
|
||||
version: "2.0.1",
|
||||
|
||||
//
|
||||
// The attributes allowed in \enclose{notation}[attributes]{math}
|
||||
|
@ -51,7 +51,7 @@ MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () {
|
|||
//
|
||||
// Set up macro
|
||||
//
|
||||
TEX.Definitions.macros.enclose = 'Enclose';
|
||||
TEX.Definitions.Add({macros: {enclose: 'Enclose'}},null,true);
|
||||
|
||||
TEX.Parse.Augment({
|
||||
//
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
*/
|
||||
|
||||
MathJax.Extension["TeX/extpfeil"] = {
|
||||
version: "2.0"
|
||||
version: "2.0.1"
|
||||
};
|
||||
|
||||
MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () {
|
||||
|
@ -34,7 +34,7 @@ MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () {
|
|||
// Define the arrows to load the AMSmath extension
|
||||
// (since they need its xArrow method)
|
||||
//
|
||||
MathJax.Hub.Insert(TEXDEF,{
|
||||
TEXDEF.Add({
|
||||
macros: {
|
||||
xtwoheadrightarrow: ['Extension','AMSmath'],
|
||||
xtwoheadleftarrow: ['Extension','AMSmath'],
|
||||
|
@ -43,7 +43,7 @@ MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () {
|
|||
xtofrom: ['Extension','AMSmath'],
|
||||
Newextarrow: ['Extension','AMSmath']
|
||||
}
|
||||
});
|
||||
},null,true);
|
||||
|
||||
//
|
||||
// Redefine the macros when AMSmath is loaded
|
||||
|
|
|
@ -22,16 +22,15 @@
|
|||
*/
|
||||
|
||||
MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () {
|
||||
var VERSION = "2.0";
|
||||
var VERSION = "2.0.1";
|
||||
|
||||
var MML = MathJax.ElementJax.mml;
|
||||
var TEX = MathJax.InputJax.TeX;
|
||||
var TEXDEF = TEX.Definitions;
|
||||
|
||||
TEXDEF.macros.mathchoice = 'MathChoice';
|
||||
TEXDEF.Add({macros: {mathchoice: 'MathChoice'}},null,true);
|
||||
|
||||
TEX.Parse.Augment({
|
||||
|
||||
MathChoice: function (name) {
|
||||
var D = this.ParseArg(name),
|
||||
T = this.ParseArg(name),
|
||||
|
@ -39,7 +38,6 @@ MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () {
|
|||
SS = this.ParseArg(name);
|
||||
this.Push(MML.TeXmathchoice(D,T,S,SS));
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
MML.TeXmathchoice = MML.mbase.Subclass({
|
||||
|
|
|
@ -23,13 +23,12 @@
|
|||
*/
|
||||
|
||||
MathJax.Extension["TeX/mhchem"] = {
|
||||
version: "2.0"
|
||||
version: "2.0.1"
|
||||
};
|
||||
|
||||
MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () {
|
||||
|
||||
var TEX = MathJax.InputJax.TeX,
|
||||
MACROS = TEX.Definitions.macros;
|
||||
var TEX = MathJax.InputJax.TeX;
|
||||
|
||||
/*
|
||||
* This is the main class for handing the \ce and related commands.
|
||||
|
@ -81,6 +80,7 @@ MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () {
|
|||
'<->': "leftrightarrow",
|
||||
'<=>': "rightleftharpoons",
|
||||
'<=>>': "Rightleftharpoons",
|
||||
'<<=>': "Leftrightharpoons",
|
||||
'^': "uparrow",
|
||||
'v': "downarrow"
|
||||
},
|
||||
|
@ -136,7 +136,7 @@ MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () {
|
|||
},
|
||||
|
||||
//
|
||||
// Make a number of fraction preceeding an atom,
|
||||
// Make a number or fraction preceeding an atom,
|
||||
// or a subscript for an atom.
|
||||
//
|
||||
ParseNumber: function () {
|
||||
|
@ -204,7 +204,7 @@ MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () {
|
|||
//
|
||||
ParseLess: function (c) {
|
||||
this.FinishAtom();
|
||||
var arrow = this.Match(/^(<->?|<=>>?)/);
|
||||
var arrow = this.Match(/^(<->?|<=>>?|<<=>)/);
|
||||
if (!arrow) {this.tex += c; this.i++} else {this.AddArrow(arrow)}
|
||||
},
|
||||
|
||||
|
@ -215,7 +215,8 @@ MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () {
|
|||
c = this.string.charAt(++this.i);
|
||||
if (c === "{") {
|
||||
this.i++; var m = this.Find("}");
|
||||
if (m === "-.") {this.sup += "{-}{\\cdot}"} else if (m) {this.sup += CE(m).Parse()}
|
||||
if (m === "-.") {this.sup += "{-}{\\cdot}"}
|
||||
else if (m) {this.sup += CE(m).Parse().replace(/^\{-\}/,"-")}
|
||||
} else if (c === " " || c === "") {
|
||||
this.tex += "{\\"+this.Arrows["^"]+"}"; this.i++;
|
||||
} else {
|
||||
|
@ -228,7 +229,7 @@ MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () {
|
|||
//
|
||||
ParseSubscript: function (c) {
|
||||
if (this.string.charAt(++this.i) == "{") {
|
||||
this.i++; this.sub += CE(this.Find("}")).Parse();
|
||||
this.i++; this.sub += CE(this.Find("}")).Parse().replace(/^\{-\}/,"-");
|
||||
} else {
|
||||
var n = this.Match(/^\d+/);
|
||||
if (n) {this.sub += n}
|
||||
|
@ -300,15 +301,15 @@ MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () {
|
|||
//
|
||||
// right-justify super- and subscripts when they are before the atom
|
||||
//
|
||||
var n = Math.abs(this.sup.length-this.sub.length);
|
||||
if (n) {
|
||||
var zeros = "0000000000".substr(0,n);
|
||||
var script = (this.sup.length > this.sub.length ? "sub" : "sup");
|
||||
this[script] = "\\phantom{"+zeros+"}" + this[script];
|
||||
}
|
||||
var sup = this.sup, sub = this.sub;
|
||||
if (!sup.match(/\d/)) {sup += "\\vphantom{0}"} // force common heights
|
||||
if (!sub.match(/\d/)) {sub += "\\vphantom{0}"}
|
||||
this.tex += "\\raise 1pt{\\scriptstyle\\begin{CEscriptstack}"+sup+"\\\\"+
|
||||
sub+"\\end{CEscriptstack}}\\kern-.125em ";
|
||||
} else {
|
||||
if (!this.sup) {this.sup = "\\Space{0pt}{0pt}{.2em}"} // forces subscripts to align properly
|
||||
this.tex += "^{"+this.sup+"}_{"+this.sub+"}";
|
||||
}
|
||||
if (!this.sup) {this.sup = "\\Space{0pt}{0pt}{.2em}"} // forces subscripts to align properly
|
||||
this.tex += "^{"+this.sup+"}_{"+this.sub+"}";
|
||||
this.sup = this.sub = "";
|
||||
}
|
||||
this.atom = false;
|
||||
|
@ -358,37 +359,77 @@ MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () {
|
|||
|
||||
});
|
||||
|
||||
MathJax.Extension["TeX/mhchem"].CE = CE;
|
||||
|
||||
/***************************************************************************/
|
||||
|
||||
//
|
||||
// Set up the macros for chemistry
|
||||
//
|
||||
MACROS.ce = 'CE';
|
||||
MACROS.cf = 'CE';
|
||||
MACROS.cee = 'CE';
|
||||
TEX.Definitions.Add({
|
||||
macros: {
|
||||
//
|
||||
// Set up the macros for chemistry
|
||||
//
|
||||
ce: 'CE',
|
||||
cf: 'CE',
|
||||
cee: 'CE',
|
||||
|
||||
//
|
||||
// Make these load AMSmath package (redefined below when loaded)
|
||||
//
|
||||
xleftrightarrow: ['Extension','AMSmath'],
|
||||
xrightleftharpoons: ['Extension','AMSmath'],
|
||||
xRightleftharpoons: ['Extension','AMSmath'],
|
||||
xLeftrightharpoons: ['Extension','AMSmath'],
|
||||
|
||||
// FIXME: These don't work well in FF NativeMML mode
|
||||
longrightleftharpoons: ["Macro","\\stackrel{\\textstyle{{-}\\!\\!{\\rightharpoonup}}}{\\smash{{\\leftharpoondown}\\!\\!{-}}}"],
|
||||
longRightleftharpoons: ["Macro","\\stackrel{\\textstyle{-}\\!\\!{\\rightharpoonup}}{\\small\\smash\\leftharpoondown}"],
|
||||
longLeftrightharpoons: ["Macro","\\stackrel{\\rightharpoonup}{{{\\leftharpoondown}\\!\\!\\textstyle{-}}}"],
|
||||
|
||||
//
|
||||
// Add \hyphen used in some mhchem examples
|
||||
//
|
||||
hyphen: ["Macro","\\text{-}"],
|
||||
|
||||
//
|
||||
// Needed for \bond for the ~ forms
|
||||
//
|
||||
tripledash: ["Macro","\\raise3mu{\\tiny\\text{-}\\kern2mu\\text{-}\\kern2mu\\text{-}}"]
|
||||
},
|
||||
|
||||
//
|
||||
// Needed for \bond for the ~ forms
|
||||
//
|
||||
environment: {
|
||||
CEstack: ['Array',null,null,null,'r',null,"0.001em",'T',1],
|
||||
CEscriptstack: ['Array',null,null,null,'r',null,"0.2em",'S',1]
|
||||
}
|
||||
},null,true);
|
||||
|
||||
if (!MathJax.Extension["TeX/AMSmath"]) {
|
||||
TEX.Definitions.Add({
|
||||
macros: {
|
||||
xrightarrow: ['Extension','AMSmath'],
|
||||
xleftarrow: ['Extension','AMSmath']
|
||||
}
|
||||
},null,true);
|
||||
}
|
||||
|
||||
//
|
||||
// Include some missing arrows (some are hacks)
|
||||
// These arrows need to wait until AMSmath is loaded
|
||||
//
|
||||
MACROS.xleftrightarrow = ['xArrow',0x2194,6,6];
|
||||
MACROS.xrightleftharpoons = ['xArrow',0x21CC,5,7]; // FIXME: doesn't stretch in HTML-CSS output
|
||||
MACROS.xRightleftharpoons = ['xArrow',0x21CC,5,7]; // FIXME: how should this be handled?
|
||||
|
||||
// FIXME: These don't work well in FF NativeMML mode
|
||||
MACROS.longrightleftharpoons = ["Macro","\\stackrel{\\textstyle{{-}\\!\\!{\\rightharpoonup}}}{\\smash{{\\leftharpoondown}\\!\\!{-}}}"];
|
||||
MACROS.longRightleftharpoons = ["Macro","\\stackrel{\\textstyle{-}\\!\\!{\\rightharpoonup}}{\\small\\smash\\leftharpoondown}"];
|
||||
|
||||
//
|
||||
// Needed for \bond for the ~ forms
|
||||
//
|
||||
MACROS.tripledash = ["Macro","\\raise3mu{\\tiny\\text{-}\\kern2mu\\text{-}\\kern2mu\\text{-}}"];
|
||||
TEX.Definitions.environment.CEstack = ['Array',null,null,null,'r',null,"0.001em",'T',1]
|
||||
|
||||
//
|
||||
// Add \hyphen used in some mhchem examples
|
||||
//
|
||||
MACROS.hyphen = ["Macro","\\text{-}"];
|
||||
MathJax.Hub.Register.StartupHook("TeX AMSmath Ready",function () {
|
||||
TEX.Definitions.Add({
|
||||
macros: {
|
||||
//
|
||||
// Some of these are hacks for now
|
||||
//
|
||||
xleftrightarrow: ['xArrow',0x2194,6,6],
|
||||
xrightleftharpoons: ['xArrow',0x21CC,5,7], // FIXME: doesn't stretch in HTML-CSS output
|
||||
xRightleftharpoons: ['xArrow',0x21CC,5,7], // FIXME: how should this be handled?
|
||||
xLeftrightharpoons: ['xArrow',0x21CC,5,7]
|
||||
}
|
||||
},null,true);
|
||||
});
|
||||
|
||||
TEX.Parse.Augment({
|
||||
|
||||
|
|
|
@ -59,7 +59,7 @@
|
|||
// The configuration defaults, augmented by the user settings
|
||||
//
|
||||
MathJax.Extension["TeX/unicode"] = {
|
||||
version: "2.0",
|
||||
version: "2.0.1",
|
||||
unicode: {},
|
||||
config: MathJax.Hub.CombineConfig("TeX.unicode",{
|
||||
fonts: "STIXGeneral,'Arial Unicode MS'"
|
||||
|
@ -74,7 +74,7 @@ MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () {
|
|||
//
|
||||
// Add \unicode macro
|
||||
//
|
||||
TEX.Definitions.macros.unicode = 'Unicode';
|
||||
TEX.Definitions.Add({macros: {unicode: 'Unicode'}},null,true);
|
||||
//
|
||||
// Implementation of \unicode in parser
|
||||
//
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
*/
|
||||
|
||||
MathJax.Extension["TeX/verb"] = {
|
||||
version: "2.0"
|
||||
version: "2.0.1"
|
||||
};
|
||||
|
||||
MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () {
|
||||
|
@ -32,7 +32,7 @@ MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () {
|
|||
var TEX = MathJax.InputJax.TeX;
|
||||
var TEXDEF = TEX.Definitions;
|
||||
|
||||
TEXDEF.macros.verb = 'Verb';
|
||||
TEXDEF.Add({macros: {verb: 'Verb'}},null,true);
|
||||
|
||||
TEX.Parse.Augment({
|
||||
|
||||
|
|
|
@ -91,5 +91,5 @@ MathJax.Extension.jsMath2jax = {
|
|||
|
||||
};
|
||||
|
||||
MathJax.Hub.Register.PreProcessor(["PreProcess",MathJax.Extension.jsMath2jax]);
|
||||
MathJax.Hub.Register.PreProcessor(["PreProcess",MathJax.Extension.jsMath2jax],8);
|
||||
MathJax.Ajax.loadComplete("[MathJax]/extensions/jsMath2jax.js");
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
*/
|
||||
|
||||
MathJax.Hub.Register.LoadHook("[MathJax]/jax/element/mml/jax.js",function () {
|
||||
var VERSION = "2.0";
|
||||
var VERSION = "2.0.1";
|
||||
|
||||
var MML = MathJax.ElementJax.mml
|
||||
SETTINGS = MathJax.Hub.config.menuSettings;
|
||||
|
@ -88,7 +88,7 @@ MathJax.Hub.Register.LoadHook("[MathJax]/jax/element/mml/jax.js",function () {
|
|||
if (typeof(value) === "string" &&
|
||||
value.replace(/ /g,"").match(/^(([-+])?(\d+(\.\d*)?|\.\d+))mu$/)) {
|
||||
// FIXME: should take scriptlevel into account
|
||||
return ((1/18)*RegExp.$1).toFixed(3).replace(/\.?0+$/,"")+"em";
|
||||
return RegExp.$2+((1/18)*RegExp.$3).toFixed(3).replace(/\.?0+$/,"")+"em";
|
||||
}
|
||||
else if (this.toMathMLvariants[value]) {return this.toMathMLvariants[value]}
|
||||
return this.toMathMLquote(value);
|
||||
|
|
|
@ -27,7 +27,7 @@ MathJax.ElementJax.mml = MathJax.ElementJax({
|
|||
mimeType: "jax/mml"
|
||||
},{
|
||||
id: "mml",
|
||||
version: "2.0",
|
||||
version: "2.0.4",
|
||||
directory: MathJax.ElementJax.directory + "/mml",
|
||||
extensionDir: MathJax.ElementJax.extensionDir + "/mml",
|
||||
optableDir: MathJax.ElementJax.directory + "/mml/optable"
|
||||
|
@ -395,7 +395,7 @@ MathJax.ElementJax.mml.Augment({
|
|||
},
|
||||
setBaseTeXclasses: function (prev) {
|
||||
this.getPrevClass(prev); this.texClass = null;
|
||||
if (this.isEmbellished()) {
|
||||
if (this.isEmbellished() || this.data[0].isa(MML.mi)) {
|
||||
prev = this.data[0].setTeXclass(prev);
|
||||
this.updateTeXclass(this.Core());
|
||||
} else {if (this.data[0]) {this.data[0].setTeXclass()}; prev = this}
|
||||
|
@ -429,7 +429,17 @@ MathJax.ElementJax.mml.Augment({
|
|||
MML.VARIANT.ITALIC : MML.VARIANT.NORMAL);
|
||||
}
|
||||
return "";
|
||||
}
|
||||
},
|
||||
setTeXclass: function (prev) {
|
||||
this.getPrevClass(prev);
|
||||
var name = this.data.join("");
|
||||
if (name.length > 1 && name.match(/^[a-z][a-z0-9]*$/i) &&
|
||||
this.texClass === MML.TEXCLASS.ORD) {
|
||||
this.texClass = MML.TEXCLASS.OP;
|
||||
this.autoOP = true;
|
||||
}
|
||||
return this;
|
||||
}
|
||||
});
|
||||
|
||||
MML.mn = MML.mbase.Subclass({
|
||||
|
@ -567,9 +577,24 @@ MathJax.ElementJax.mml.Augment({
|
|||
setTeXclass: function (prev) {
|
||||
this.getValues("lspace","rspace"); // sets useMMLspacing
|
||||
if (this.useMMLspacing) {this.texClass = MML.TEXCLASS.NONE; return this}
|
||||
this.texClass = this.Get("texClass"); if (this.texClass === MML.TEXCLASS.NONE) {return prev}
|
||||
if (prev) {this.prevClass = prev.texClass || MML.TEXCLASS.ORD; this.prevLevel = prev.Get("scriptlevel")}
|
||||
else {this.prevClass = MML.TEXCLASS.NONE}
|
||||
this.texClass = this.Get("texClass");
|
||||
if (this.data.join("") === "\u2061") {
|
||||
// force previous node to be texClass OP, and skip this node
|
||||
prev.texClass = MML.TEXCLASS.OP;
|
||||
this.texClass = this.prevClass = MML.TEXCLASS.NONE;
|
||||
return prev;
|
||||
}
|
||||
return this.adjustTeXclass(prev);
|
||||
},
|
||||
adjustTeXclass: function (prev) {
|
||||
if (this.texClass === MML.TEXCLASS.NONE) {return prev}
|
||||
if (prev) {
|
||||
if (prev.autoOP && (this.texClass === MML.TEXCLASS.BIN ||
|
||||
this.texClass === MML.TEXCLASS.REL))
|
||||
{prev.texClass = MML.TEXCLASS.ORD}
|
||||
this.prevClass = prev.texClass || MML.TEXCLASS.ORD;
|
||||
this.prevLevel = prev.Get("scriptlevel")
|
||||
} else {this.prevClass = MML.TEXCLASS.NONE}
|
||||
if (this.texClass === MML.TEXCLASS.BIN &&
|
||||
(this.prevClass === MML.TEXCLASS.NONE ||
|
||||
this.prevClass === MML.TEXCLASS.BIN ||
|
||||
|
@ -1009,6 +1034,9 @@ MathJax.ElementJax.mml.Augment({
|
|||
},
|
||||
inheritFromMe: true,
|
||||
noInherit: {
|
||||
mover: {align: true},
|
||||
munder: {align: true},
|
||||
munderover: {align: true},
|
||||
mtable: {
|
||||
align: true, rowalign: true, columnalign: true, groupalign: true,
|
||||
alignmentscope: true, columnwidth: true, width: true, rowspacing: true,
|
||||
|
@ -1234,7 +1262,6 @@ MathJax.ElementJax.mml.Augment({
|
|||
var nNode, i, m;
|
||||
if (node.nodeType === 1) { // ELEMENT_NODE
|
||||
nNode = document.createElement(node.nodeName);
|
||||
if (node.className) {nNode.className=iNode.className}
|
||||
for (i = 0, m = node.attributes.length; i < m; i++) {
|
||||
var attribute = node.attributes[i];
|
||||
if (attribute.specified && attribute.nodeValue != null && attribute.nodeValue != '')
|
||||
|
@ -1261,11 +1288,14 @@ MathJax.ElementJax.mml.Augment({
|
|||
type: "texatom",
|
||||
inferRow: true,
|
||||
texClass: MML.TEXCLASS.ORD,
|
||||
Core: MML.mbase.childCore,
|
||||
CoreMO: MML.mbase.childCoreMO,
|
||||
isEmbellished: MML.mbase.childEmbellished,
|
||||
setTeXclass: function (prev) {
|
||||
this.getPrevClass(prev);
|
||||
this.data[0].setTeXclass();
|
||||
return this;
|
||||
}
|
||||
return this.adjustTeXclass(prev);
|
||||
},
|
||||
adjustTeXclass: MML.mo.prototype.adjustTeXclass
|
||||
});
|
||||
|
||||
MML.NULL = MML.mbase().With({type:"null"});
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
|
||||
MathJax.InputJax.TeX = MathJax.InputJax({
|
||||
id: "TeX",
|
||||
version: "2.0",
|
||||
version: "2.0.6",
|
||||
directory: MathJax.InputJax.directory + "/TeX",
|
||||
extensionDir: MathJax.InputJax.extensionDir + "/TeX",
|
||||
|
||||
|
|
|
@ -135,6 +135,16 @@
|
|||
type: "close", isClose: true
|
||||
});
|
||||
|
||||
STACKITEM.prime = STACKITEM.Subclass({
|
||||
type: "prime",
|
||||
checkItem: function (item) {
|
||||
if (this.data[0].type !== "msubsup")
|
||||
{return [MML.msup(this.data[0],this.data[1]),item]}
|
||||
this.data[0].SetData(this.data[0].sup,this.data[1]);
|
||||
return [this.data[0],item];
|
||||
}
|
||||
});
|
||||
|
||||
STACKITEM.subsup = STACKITEM.Subclass({
|
||||
type: "subsup",
|
||||
stopError: "Missing superscript or subscript argument",
|
||||
|
@ -142,6 +152,10 @@
|
|||
var script = ["","subscript","superscript"][this.position];
|
||||
if (item.type === "open" || item.type === "left") {return true}
|
||||
if (item.type === "mml") {
|
||||
if (this.primes) {
|
||||
if (this.position !== 2) {this.data[0].SetData(2,this.primes)}
|
||||
else {item.data[0] = MML.mrow(this.primes.With({variantForm:true}),item.data[0])}
|
||||
}
|
||||
this.data[0].SetData(this.position,item.data[0]);
|
||||
return STACKITEM.mml(this.data[0]);
|
||||
}
|
||||
|
@ -335,9 +349,11 @@
|
|||
}
|
||||
});
|
||||
STACKITEM.not.remap = {
|
||||
0x2190:0x219A, 0x2192:0x219B, 0x2194:0x21AE,
|
||||
0x21D0:0x21CD, 0x21D2:0x21CF, 0x21D4:0x21CE,
|
||||
0x2208:0x2209, 0x220B:0x220C, 0x2223:0x2224, 0x2225:0x2226,
|
||||
0x223C:0x2241, 0x007E:0x2241, 0x2243:0x2244, 0x2245:0x2247,
|
||||
0x2248:0x2249, 0x003D:0x2260, 0x2261:0x2262,
|
||||
0x2248:0x2249, 0x224D:0x226D, 0x003D:0x2260, 0x2261:0x2262,
|
||||
0x003C:0x226E, 0x003E:0x226F, 0x2264:0x2270, 0x2265:0x2271,
|
||||
0x2272:0x2274, 0x2273:0x2275, 0x2276:0x2278, 0x2277:0x2279,
|
||||
0x227A:0x2280, 0x227B:0x2281, 0x2282:0x2284, 0x2283:0x2285,
|
||||
|
@ -442,9 +458,9 @@
|
|||
varphi: '03C6',
|
||||
|
||||
// Ord symbols
|
||||
S: '00A7',
|
||||
S: ['00A7',{mathvariant: MML.VARIANT.NORMAL}],
|
||||
aleph: ['2135',{mathvariant: MML.VARIANT.NORMAL}],
|
||||
hbar: '210F',
|
||||
hbar: ['210F',{variantForm:true}],
|
||||
imath: '0131',
|
||||
jmath: '0237',
|
||||
ell: '2113',
|
||||
|
@ -453,14 +469,14 @@
|
|||
Im: ['2111',{mathvariant: MML.VARIANT.NORMAL}],
|
||||
partial: ['2202',{mathvariant: MML.VARIANT.NORMAL}],
|
||||
infty: ['221E',{mathvariant: MML.VARIANT.NORMAL}],
|
||||
prime: ['2032',{mathvariant: MML.VARIANT.NORMAL}],
|
||||
prime: ['2032',{mathvariant: MML.VARIANT.NORMAL, variantForm:true}],
|
||||
emptyset: ['2205',{mathvariant: MML.VARIANT.NORMAL}],
|
||||
nabla: ['2207',{mathvariant: MML.VARIANT.NORMAL}],
|
||||
top: ['22A4',{mathvariant: MML.VARIANT.NORMAL}],
|
||||
bot: ['22A5',{mathvariant: MML.VARIANT.NORMAL}],
|
||||
angle: ['2220',{mathvariant: MML.VARIANT.NORMAL}],
|
||||
triangle: ['25B3',{mathvariant: MML.VARIANT.NORMAL}],
|
||||
backslash: ['2216',{mathvariant: MML.VARIANT.NORMAL}],
|
||||
backslash: ['2216',{mathvariant: MML.VARIANT.NORMAL, variantForm:true}],
|
||||
forall: ['2200',{mathvariant: MML.VARIANT.NORMAL}],
|
||||
exists: ['2203',{mathvariant: MML.VARIANT.NORMAL}],
|
||||
neg: ['00AC',{mathvariant: MML.VARIANT.NORMAL}],
|
||||
|
@ -527,7 +543,7 @@
|
|||
pm: '00B1',
|
||||
circ: '2218',
|
||||
bigcirc: '25EF',
|
||||
setminus: '2216',
|
||||
setminus: ['2216',{variantForm:true}],
|
||||
cdot: '22C5',
|
||||
ast: '2217',
|
||||
times: '00D7',
|
||||
|
@ -862,18 +878,18 @@
|
|||
hphantom: ['Phantom',0,1],
|
||||
smash: 'Smash',
|
||||
|
||||
acute: ['Accent', "02CA"], // or 0301
|
||||
grave: ['Accent', "02CB"], // or 0300
|
||||
acute: ['Accent', "00B4"], // or 0301 or 02CA
|
||||
grave: ['Accent', "0060"], // or 0300 or 02CB
|
||||
ddot: ['Accent', "00A8"], // or 0308
|
||||
tilde: ['Accent', "02DC"], // or 0303
|
||||
bar: ['Accent', "02C9"], // or 0304
|
||||
tilde: ['Accent', "007E"], // or 0303 or 02DC
|
||||
bar: ['Accent', "00AF"], // or 0304 or 02C9
|
||||
breve: ['Accent', "02D8"], // or 0306
|
||||
check: ['Accent', "02C7"], // or 030C
|
||||
hat: ['Accent', "02C6"], // or 0302
|
||||
vec: ['Accent', "20D7"],
|
||||
hat: ['Accent', "005E"], // or 0302 or 02C6
|
||||
vec: ['Accent', "2192"], // or 20D7
|
||||
dot: ['Accent', "02D9"], // or 0307
|
||||
widetilde: ['Accent', "02DC",1], // or 0303
|
||||
widehat: ['Accent', "02C6",1], // or 0302
|
||||
widetilde: ['Accent', "007E",1], // or 0303 or 02DC
|
||||
widehat: ['Accent', "005E",1], // or 0302 or 02C6
|
||||
|
||||
matrix: 'Matrix',
|
||||
array: 'Matrix',
|
||||
|
@ -968,12 +984,13 @@
|
|||
vmatrix: ['Array',null,'\\vert','\\vert','c'],
|
||||
Vmatrix: ['Array',null,'\\Vert','\\Vert','c'],
|
||||
cases: ['Array',null,'\\{','.','ll',null,".1em"],
|
||||
eqnarray: ['Array',null,null,null,'rcl',MML.LENGTH.THICKMATHSPACE,".5em",'D'],
|
||||
'eqnarray*': ['Array',null,null,null,'rcl',MML.LENGTH.THICKMATHSPACE,".5em",'D'],
|
||||
|
||||
equation: [null,'Equation'],
|
||||
'equation*': [null,'Equation'],
|
||||
|
||||
eqnarray: ['ExtensionEnv',null,'AMSmath'],
|
||||
'eqnarray*': ['ExtensionEnv',null,'AMSmath'],
|
||||
|
||||
align: ['ExtensionEnv',null,'AMSmath'],
|
||||
'align*': ['ExtensionEnv',null,'AMSmath'],
|
||||
aligned: ['ExtensionEnv',null,'AMSmath'],
|
||||
|
@ -1139,13 +1156,12 @@
|
|||
Superscript: function (c) {
|
||||
if (this.GetNext().match(/\d/)) // don't treat numbers as a unit
|
||||
{this.string = this.string.substr(0,this.i+1)+" "+this.string.substr(this.i+1)}
|
||||
var position, base = this.stack.Prev(); if (!base) {base = MML.mi("")}
|
||||
var position, primes, base, top = this.stack.Top();
|
||||
if (top.type === "prime") {base = top.data[0]; primes = top.data[1]; this.stack.Pop()}
|
||||
else {base = this.stack.Prev(); if (!base) {base = MML.mi("")}}
|
||||
if (base.isEmbellishedWrapper) {base = base.data[0].data[0]}
|
||||
if (base.type === "msubsup") {
|
||||
if (base.data[base.sup]) {
|
||||
if (!base.data[base.sup].isPrime) {TEX.Error("Double exponent: use braces to clarify")}
|
||||
base = MML.msubsup(base,null,null);
|
||||
}
|
||||
if (base.data[base.sup]) {TEX.Error("Double exponent: use braces to clarify")}
|
||||
position = base.sup;
|
||||
} else if (base.movesupsub) {
|
||||
if (base.type !== "munderover" || base.data[base.over]) {
|
||||
|
@ -1157,12 +1173,14 @@
|
|||
base = MML.msubsup(base,null,null);
|
||||
position = base.sup;
|
||||
}
|
||||
this.Push(STACKITEM.subsup(base).With({position: position}));
|
||||
this.Push(STACKITEM.subsup(base).With({position: position, primes: primes}));
|
||||
},
|
||||
Subscript: function (c) {
|
||||
if (this.GetNext().match(/\d/)) // don't treat numbers as a unit
|
||||
{this.string = this.string.substr(0,this.i+1)+" "+this.string.substr(this.i+1)}
|
||||
var position, base = this.stack.Prev(); if (!base) {base = MML.mi("")}
|
||||
var position, primes, base, top = this.stack.Top();
|
||||
if (top.type === "prime") {base = top.data[0]; primes = top.data[1]; this.stack.Pop()}
|
||||
else {base = this.stack.Prev(); if (!base) {base = MML.mi("")}}
|
||||
if (base.isEmbellishedWrapper) {base = base.data[0].data[0]}
|
||||
if (base.type === "msubsup") {
|
||||
if (base.data[base.sub]) {TEX.Error("Double subscripts: use braces to clarify")}
|
||||
|
@ -1177,7 +1195,7 @@
|
|||
base = MML.msubsup(base,null,null);
|
||||
position = base.sub;
|
||||
}
|
||||
this.Push(STACKITEM.subsup(base).With({position: position}));
|
||||
this.Push(STACKITEM.subsup(base).With({position: position, primes: primes}));
|
||||
},
|
||||
PRIME: "\u2032", SMARTQUOTE: "\u2019",
|
||||
Prime: function (c) {
|
||||
|
@ -1187,8 +1205,8 @@
|
|||
var sup = ""; this.i--;
|
||||
do {sup += this.PRIME; this.i++, c = this.GetNext()}
|
||||
while (c === "'" || c === this.SMARTQUOTE);
|
||||
sup = this.mmlToken(MML.mo(MML.chars(sup)).With({isPrime: true}));
|
||||
this.Push(MML.msup(base,sup));
|
||||
sup = ["","\u2032","\u2033","\u2034","\u2057"][sup.length] || sup;
|
||||
this.Push(STACKITEM.prime(base,this.mmlToken(MML.mo(sup))));
|
||||
},
|
||||
mi2mo: function (mi) {
|
||||
var mo = MML.mo(); mo.Append.apply(mo,mi.data); var id;
|
||||
|
@ -1286,7 +1304,7 @@
|
|||
},
|
||||
Limits: function (name,limits) {
|
||||
var op = this.stack.Prev("nopop");
|
||||
if (op.texClass !== MML.TEXCLASS.OP) {TEX.Error(name+" is allowed only on operators")}
|
||||
if (!op || op.texClass !== MML.TEXCLASS.OP) {TEX.Error(name+" is allowed only on operators")}
|
||||
op.movesupsub = (limits ? true : false);
|
||||
op.movablelimits = false;
|
||||
},
|
||||
|
@ -1592,9 +1610,12 @@
|
|||
},
|
||||
|
||||
CrLaTeX: function (name) {
|
||||
var n = this.GetBrackets(name,"").replace(/ /g,"");
|
||||
if (n && !n.match(/^(((\.\d+|\d+(\.\d*)?))(pt|em|ex|mu|mm|cm|in|pc))$/))
|
||||
{TEX.Error("Bracket argument to "+name+" must be a dimension")}
|
||||
var n;
|
||||
if (this.string.charAt(this.i) === "[") {
|
||||
n = this.GetBrackets(name,"").replace(/ /g,"");
|
||||
if (n && !n.match(/^(((\.\d+|\d+(\.\d*)?))(pt|em|ex|mu|mm|cm|in|pc))$/))
|
||||
{TEX.Error("Bracket argument to "+name+" must be a dimension")}
|
||||
}
|
||||
this.Push(STACKITEM.cell().With({isCR: true, name: name, linebreak: true}));
|
||||
var top = this.stack.Top();
|
||||
if (top.isa(STACKITEM.array)) {
|
||||
|
@ -1986,7 +2007,7 @@
|
|||
this.prefilterHooks.Execute(data); math = data.math;
|
||||
try {
|
||||
mml = TEX.Parse(math).mml();
|
||||
// mml = MML.semantics(mml,MML.annotation(math).With({encoding:"application:x-tex"}));
|
||||
// mml = MML.semantics(mml,MML.annotation(math).With({encoding:"application/x-tex"}));
|
||||
} catch(err) {
|
||||
if (!err.texError) {throw err}
|
||||
mml = this.formatError(err,math,display,script);
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
*/
|
||||
|
||||
MathJax.Hub.Register.StartupHook("HTML-CSS Jax Ready",function () {
|
||||
var VERSION = "2.0";
|
||||
var VERSION = "2.0.2";
|
||||
var MML = MathJax.ElementJax.mml,
|
||||
HTMLCSS = MathJax.OutputJax["HTML-CSS"];
|
||||
|
||||
|
@ -38,8 +38,8 @@ MathJax.Hub.Register.StartupHook("HTML-CSS Jax Ready",function () {
|
|||
var stack = HTMLCSS.createStack(span);
|
||||
var scale = this.HTMLgetScale(), mu = this.HTMLgetMu(span), LABEL = -1;
|
||||
|
||||
var H = [], D = [], W = [], A = [], C = [], i, j, J = -1, m, M, s, row, entries = [];
|
||||
var LHD = HTMLCSS.FONTDATA.baselineskip * scale * values.useHeight,
|
||||
var H = [], D = [], W = [], A = [], C = [], i, j, J = -1, m, M, s, row, cell, mo, entries = [];
|
||||
var LHD = HTMLCSS.FONTDATA.baselineskip * scale * values.useHeight, HD,
|
||||
LH = HTMLCSS.FONTDATA.lineH * scale, LD = HTMLCSS.FONTDATA.lineD * scale;
|
||||
|
||||
//
|
||||
|
@ -62,7 +62,26 @@ MathJax.Hub.Register.StartupHook("HTML-CSS Jax Ready",function () {
|
|||
for (i = 0, m = this.data.length; i < m; i++) {
|
||||
row = this.data[i]; s = (row.type === "mlabeledtr" ? LABEL : 0);
|
||||
for (j = s, M = row.data.length + s; j < M; j++) {
|
||||
if (row.data[j-s].isMultiline) {A[i][j].style.width = "100%"}
|
||||
cell = row.data[j-s];
|
||||
if (cell.isMultiline) {A[i][j].style.width = "100%"}
|
||||
if (cell.isEmbellished()) {
|
||||
mo = cell.CoreMO();
|
||||
var min = mo.Get("minsize",true);
|
||||
if (min) {
|
||||
var bbox = mo.HTMLspanElement().bbox;
|
||||
if (mo.HTMLcanStretch("Vertical")) {
|
||||
HD = bbox.h + bbox.d;
|
||||
if (HD) {
|
||||
min = HTMLCSS.length2em(min,mu,HD);
|
||||
if (min*bbox.h/HD > H[j]) {H[j] = min*bbox.h/HD}
|
||||
if (min*bbox.d/HD > D[j]) {D[j] = min*bbox.d/HD}
|
||||
}
|
||||
} else if (mo.HTMLcanStretch("Horizontal")) {
|
||||
min = HTMLCSS.length2em(min,mu,bbox.w);
|
||||
if (min > W[j]) {W[j] = min}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (A[i][j].bbox.h > H[i]) {H[i] = A[i][j].bbox.h}
|
||||
if (A[i][j].bbox.d > D[i]) {D[i] = A[i][j].bbox.d}
|
||||
if (A[i][j].bbox.w > W[j]) {W[j] = A[i][j].bbox.w}
|
||||
|
@ -122,7 +141,7 @@ MathJax.Hub.Register.StartupHook("HTML-CSS Jax Ready",function () {
|
|||
//
|
||||
// Determine array total height
|
||||
//
|
||||
var HD = H[0] + D[A.length-1];
|
||||
HD = H[0] + D[A.length-1];
|
||||
for (i = 0, m = A.length-1; i < m; i++) {HD += Math.max((H[i]+D[i] ? LHD : 0),D[i]+H[i+1]+RSPACE[i])}
|
||||
//
|
||||
// Determine frame and line sizes
|
||||
|
@ -245,13 +264,13 @@ MathJax.Hub.Register.StartupHook("HTML-CSS Jax Ready",function () {
|
|||
for (i = 0, m = A.length; i < m; i++) {
|
||||
if (A[i][j]) {
|
||||
s = (this.data[i].type === "mlabeledtr" ? LABEL : 0);
|
||||
var cell = this.data[i].data[j-s];
|
||||
cell = this.data[i].data[j-s];
|
||||
if (cell.HTMLcanStretch("Horizontal")) {
|
||||
A[i][j].bbox = cell.HTMLstretchH(C[j],W[j]).bbox
|
||||
A[i][j].bbox = cell.HTMLstretchH(C[j],W[j]).bbox;
|
||||
} else if (cell.HTMLcanStretch("Vertical")) {
|
||||
var mo = cell.CoreMO();
|
||||
mo = cell.CoreMO();
|
||||
var symmetric = mo.symmetric; mo.symmetric = false;
|
||||
A[i][j].bbox = cell.HTMLstretchV(C[j],H[i],D[i]).bbox;
|
||||
A[i][j].bbox = cell.HTMLstretchV(C[j],H[i],D[i]).bbox; A[i][j].HH = null;
|
||||
mo.symmetric = symmetric;
|
||||
}
|
||||
align = cell.rowalign||this.data[i].rowalign||RALIGN[i];
|
||||
|
@ -259,7 +278,7 @@ MathJax.Hub.Register.StartupHook("HTML-CSS Jax Ready",function () {
|
|||
bottom: A[i][j].bbox.d - D[i],
|
||||
center: ((H[i]-D[i]) - (A[i][j].bbox.h-A[i][j].bbox.d))/2,
|
||||
baseline: 0, axis: 0})[align]; // FIXME: handle axis better?
|
||||
align = (cell.columnalign||RCALIGN[i][j]||CALIGN[j])
|
||||
align = (cell.columnalign||RCALIGN[i][j]||CALIGN[j]);
|
||||
HTMLCSS.alignBox(A[i][j],align,y+dy);
|
||||
}
|
||||
if (i < A.length-1) {y -= Math.max((H[i]+D[i] ? LHD : 0),D[i]+H[i+1]+RSPACE[i])}
|
||||
|
@ -431,7 +450,7 @@ MathJax.Hub.Register.StartupHook("HTML-CSS Jax Ready",function () {
|
|||
},
|
||||
HTMLhandleSpace: function (span) {
|
||||
span.bbox.keepPadding = true; span.bbox.exact = true;
|
||||
if (!this.hasFrame) {span.style.paddingLeft = span.style.paddingRight = ".1667em"}
|
||||
if (!this.hasFrame) {span.style.paddingLeft = span.style.paddingRight = HTMLCSS.Em(1/6)}
|
||||
this.SUPER(arguments).HTMLhandleSpace.call(this,span);
|
||||
}
|
||||
});
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
*/
|
||||
|
||||
MathJax.Hub.Register.StartupHook("HTML-CSS Jax Ready",function () {
|
||||
var VERSION = "2.0.1";
|
||||
var VERSION = "2.0.3";
|
||||
var MML = MathJax.ElementJax.mml,
|
||||
HTMLCSS = MathJax.OutputJax["HTML-CSS"];
|
||||
|
||||
|
@ -146,10 +146,9 @@ MathJax.Hub.Register.StartupHook("HTML-CSS Jax Ready",function () {
|
|||
// Get the current breakpoint position and other data
|
||||
//
|
||||
var index = info.index.slice(0), i = info.index.shift(),
|
||||
m = this.data.length, W, scanW = info.W,
|
||||
broken = (info.index.length > 0), better = false;
|
||||
if (i == null) {i = -1}; if (!broken) {i++; info.W += info.w};
|
||||
info.w = 0; info.nest++; info.scanW = scanW;
|
||||
m = this.data.length, W, w, scanW, broken = (info.index.length > 0), better = false;
|
||||
if (i == null) {i = -1}; if (!broken) {i++; info.W += info.w; info.w = 0}
|
||||
scanW = info.scanW = info.W; info.nest++;
|
||||
//
|
||||
// Look through the line for breakpoints,
|
||||
// (as long as we are not too far past the breaking width)
|
||||
|
@ -157,23 +156,25 @@ MathJax.Hub.Register.StartupHook("HTML-CSS Jax Ready",function () {
|
|||
while (i < m && info.scanW < 1.33*HTMLCSS.linebreakWidth) {
|
||||
if (this.data[i]) {
|
||||
if (this.data[i].HTMLbetterBreak(info,state)) {
|
||||
better = true; index = [i].concat(info.index); W = info.W;
|
||||
better = true; index = [i].concat(info.index); W = info.W; w = info.w;
|
||||
if (info.penalty === PENALTY.newline) {info.index = index; info.nest--; return true}
|
||||
}
|
||||
if (!broken) {
|
||||
var span = this.data[i].HTMLspanElement();
|
||||
scanW += span.bbox.w;
|
||||
if (span.style.paddingLeft) {scanW += parseFloat(span.style.paddingLeft)}
|
||||
if (span.style.paddingRight) {scanW += parseFloat(span.style.paddingRight)}
|
||||
info.W = info.scanW = scanW;
|
||||
}
|
||||
if (!broken) {scanW = this.HTMLaddWidth(i,info,scanW)}
|
||||
}
|
||||
info.index = []; i++; broken = false;
|
||||
}
|
||||
info.nest--; info.index = index;
|
||||
if (better) {info.W = W}
|
||||
if (better) {info.W = W; info.w = w}
|
||||
return better;
|
||||
},
|
||||
HTMLaddWidth: function (i,info,scanW) {
|
||||
var span = this.data[i].HTMLspanElement();
|
||||
scanW += span.bbox.w;
|
||||
if (span.style.paddingLeft) {scanW += HTMLCSS.unEm(span.style.paddingLeft)}
|
||||
if (span.style.paddingRight) {scanW += HTMLCSS.unEm(span.style.paddingRight)}
|
||||
info.W = info.scanW = scanW; info.w = 0;
|
||||
return scanW;
|
||||
},
|
||||
|
||||
/****************************************************************/
|
||||
//
|
||||
|
@ -262,7 +263,7 @@ MathJax.Hub.Register.StartupHook("HTML-CSS Jax Ready",function () {
|
|||
} else {
|
||||
//
|
||||
// Otherwise, move the remainder of the initial item
|
||||
// and any others up tp the last one
|
||||
// and any others up to the last one
|
||||
//
|
||||
var last = state.last; state.last = false;
|
||||
while (i < j) {
|
||||
|
@ -366,7 +367,88 @@ MathJax.Hub.Register.StartupHook("HTML-CSS Jax Ready",function () {
|
|||
} else if (state.first) {state.nextIsFirst = true} else {delete state.nextIsFirst}
|
||||
}
|
||||
});
|
||||
|
||||
/**************************************************************************/
|
||||
|
||||
MML.mfenced.Augment({
|
||||
HTMLbetterBreak: function (info,state) {
|
||||
//
|
||||
// Get the current breakpoint position and other data
|
||||
//
|
||||
var index = info.index.slice(0), i = info.index.shift(),
|
||||
m = this.data.length, W, w, scanW, broken = (info.index.length > 0), better = false;
|
||||
if (i == null) {i = -1}; if (!broken) {i++; info.W += info.w; info.w = 0}
|
||||
scanW = info.scanW = info.W; info.nest++;
|
||||
//
|
||||
// Create indices that include the delimiters and separators
|
||||
//
|
||||
if (!this.dataI) {
|
||||
this.dataI = [];
|
||||
if (this.data.open) {this.dataI.push("open")}
|
||||
if (m) {this.dataI.push(0)}
|
||||
for (var j = 1; j < m; j++) {
|
||||
if (this.data["sep"+j]) {this.dataI.push("sep"+j)}
|
||||
this.dataI.push(j);
|
||||
}
|
||||
if (this.data.close) {this.dataI.push("close")}
|
||||
}
|
||||
m = this.dataI.length;
|
||||
//
|
||||
// Look through the line for breakpoints, including the open, close, and separators
|
||||
// (as long as we are not too far past the breaking width)
|
||||
//
|
||||
while (i < m && info.scanW < 1.33*HTMLCSS.linebreakWidth) {
|
||||
var k = this.dataI[i];
|
||||
if (this.data[k]) {
|
||||
if (this.data[k].HTMLbetterBreak(info,state)) {
|
||||
better = true; index = [i].concat(info.index); W = info.W; w = info.w;
|
||||
if (info.penalty === PENALTY.newline) {info.index = index; info.nest--; return true}
|
||||
}
|
||||
if (!broken) {scanW = this.HTMLaddWidth(k,info,scanW)}
|
||||
}
|
||||
info.index = []; i++; broken = false;
|
||||
}
|
||||
info.nest--; info.index = index;
|
||||
if (better) {info.W = W; info.w = w}
|
||||
return better;
|
||||
},
|
||||
|
||||
HTMLmoveLine: function (start,end,span,state,values) {
|
||||
var i = start[0], j = end[0];
|
||||
if (i == null) {i = -1}; if (j == null) {j = this.dataI.length-1}
|
||||
if (i === j && start.length > 1) {
|
||||
//
|
||||
// If starting and ending in the same element move the subpiece to the new line
|
||||
// Add the closing fence, if present
|
||||
//
|
||||
this.data[this.dataI[i]].HTMLmoveSlice(start.slice(1),end.slice(1),span,state,values,"paddingLeft");
|
||||
} else {
|
||||
//
|
||||
// Otherwise, move the remainder of the initial item
|
||||
// and any others (including open and separators) up to the last one
|
||||
//
|
||||
var last = state.last; state.last = false; var k = this.dataI[i];
|
||||
while (i < j) {
|
||||
if (this.data[k]) {
|
||||
if (start.length <= 1) {this.data[k].HTMLmoveSpan(span,state,values)}
|
||||
else {this.data[k].HTMLmoveSlice(start.slice(1),[],span,state,values,"paddingLeft")}
|
||||
}
|
||||
i++; k = this.dataI[i]; state.first = false; start = [];
|
||||
}
|
||||
//
|
||||
// If the last item is complete, move it and the closing fence,
|
||||
// otherwise move the first part of it up to the split
|
||||
//
|
||||
state.last = last;
|
||||
if (this.data[k]) {
|
||||
if (end.length <= 1) {this.data[k].HTMLmoveSpan(span,state,values)}
|
||||
else {this.data[k].HTMLmoveSlice([],end.slice(1),span,state,values,"paddingRight")}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
/**************************************************************************/
|
||||
|
||||
MML.mo.Augment({
|
||||
|
@ -394,7 +476,7 @@ MathJax.Hub.Register.StartupHook("HTML-CSS Jax Ready",function () {
|
|||
//
|
||||
var W = info.scanW, mo = (info.embellished||this); delete info.embellished;
|
||||
var span = mo.HTMLspanElement(), w = span.bbox.w;
|
||||
if (span.style.paddingLeft) {w += parseFloat(span.style.paddingLeft)}
|
||||
if (span.style.paddingLeft) {w += HTMLCSS.unEm(span.style.paddingLeft)}
|
||||
if (values.linebreakstyle === MML.LINEBREAKSTYLE.AFTER) {W += w; w = 0}
|
||||
if (W - info.shift === 0) {return false} // don't break at zero width (FIXME?)
|
||||
var offset = HTMLCSS.linebreakWidth - W;
|
||||
|
@ -445,8 +527,7 @@ MathJax.Hub.Register.StartupHook("HTML-CSS Jax Ready",function () {
|
|||
// Get the default penalty for this location
|
||||
//
|
||||
var W = info.scanW, span = this.HTMLspanElement(), w = span.bbox.w;
|
||||
if (span.style.paddingLeft) {w += parseFloat(span.style.paddingLeft)}
|
||||
if (values.linebreakstyle === MML.LINEBREAKSTYLE.AFTER) {W += w; w = 0}
|
||||
if (span.style.paddingLeft) {w += HTMLCSS.unEm(span.style.paddingLeft)}
|
||||
if (W - info.shift === 0) {return false} // don't break at zero width (FIXME?)
|
||||
var offset = HTMLCSS.linebreakWidth - W;
|
||||
//
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
|
||||
MathJax.OutputJax["HTML-CSS"] = MathJax.OutputJax({
|
||||
id: "HTML-CSS",
|
||||
version: "2.0.1",
|
||||
version: "2.0.11",
|
||||
directory: MathJax.OutputJax.directory + "/HTML-CSS",
|
||||
extensionDir: MathJax.OutputJax.extensionDir + "/HTML-CSS",
|
||||
autoloadDir: MathJax.OutputJax.directory + "/HTML-CSS/autoload",
|
||||
|
|
|
@ -22,8 +22,8 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
(function (HTMLCSS,HTML) {
|
||||
var VERSION = "2.0";
|
||||
(function (HTMLCSS,MML,HTML) {
|
||||
var VERSION = "2.0.1";
|
||||
|
||||
HTMLCSS.allowWebFonts = false;
|
||||
|
||||
|
@ -31,6 +31,7 @@
|
|||
BOLD = "STIXGeneral-bold",
|
||||
ITALIC = "STIXGeneral-italic",
|
||||
NONUNI = "STIXNonUnicode",
|
||||
NONUNII = "STIXNonUnicode-italic",
|
||||
SIZE1 = "STIXSizeOneSym",
|
||||
SIZE2 = "STIXSizeTwoSym",
|
||||
SIZE3 = "STIXSizeThreeSym",
|
||||
|
@ -66,15 +67,16 @@
|
|||
},
|
||||
|
||||
VARIANT: {
|
||||
"normal": {fonts: [GENERAL,NONUNI,SIZE1]},
|
||||
"normal": {fonts: [GENERAL,NONUNI,SIZE1],
|
||||
remap: {0x2205: [0x2205,"-STIX-variant"]}}, // \emptyset
|
||||
"bold": {fonts: [BOLD,"STIXNonUnicode-bold","STIXSizeOneSym-bold"], bold:true},
|
||||
"italic": {fonts: [ITALIC,"STIXNonUnicode-italic",GENERAL,NONUNI,SIZE1], italic:true},
|
||||
"italic": {fonts: [ITALIC,NONUNII,GENERAL,NONUNI,SIZE1], italic:true},
|
||||
"bold-italic": {fonts: ["STIXGeneral-bold-italic","STIXNonUnicode-bold-italic"], bold:true, italic:true},
|
||||
"double-struck": {offsetA: 0x1D538, offsetN: 0x1D7D8,
|
||||
remap: {0x1D53A: 0x2102, 0x1D53F: 0x210D, 0x1D545: 0x2115, 0x1D547: 0x2119,
|
||||
0x1D548: 0x211A, 0x1D549: 0x211D, 0x1D551: 0x2124}},
|
||||
remap: {0x1D53A: 0x2102, 0x1D53F: 0x210D, 0x1D545: 0x2115, 0x1D547: 0x2119,
|
||||
0x1D548: 0x211A, 0x1D549: 0x211D, 0x1D551: 0x2124}},
|
||||
"fraktur": {offsetA: 0x1D504,
|
||||
remap: {0x1D506: 0x212D, 0x1D50B: 0x210C, 0x1D50C: 0x2111, 0x1D515: 0x211C, 0x1D51D: 0x2128}},
|
||||
remap: {0x1D506: 0x212D, 0x1D50B: 0x210C, 0x1D50C: 0x2111, 0x1D515: 0x211C, 0x1D51D: 0x2128}},
|
||||
"bold-fraktur": {fonts: [BOLD], offsetA: 0x1D56C, bold:true},
|
||||
"script": {fonts: [ITALIC], offsetA: 0x1D49C,
|
||||
remap: {0x1D49D: 0x212C, 0x1D4A0: 0x2130, 0x1D4A1: 0x2131, 0x1D4A3: 0x210B,
|
||||
|
@ -83,16 +85,20 @@
|
|||
"bold-script": {fonts: [ITALIC], offsetA: 0x1D4D0, bold:true},
|
||||
"sans-serif": {offsetA: 0x1D5A0, offsetN: 0x1D7E2, offsetG: 0xE17D},
|
||||
"bold-sans-serif": {offsetA: 0x1D5D4, offsetG: 0x1D756, offsetN: 0x1D7EC, bold:true},
|
||||
"sans-serif-italic": {fonts: [ITALIC], offsetA: 0x1D608, offsetN: 0xE1B4, offsetG: 0xE1BF, italic:true},
|
||||
"sans-serif-bold-italic": {fonts: ["STIXGeneral-bold-italic"], offsetA: 0x1D63C, offsetN: 0xE1F6, offsetG: 0x1D790, bold:true, italic:true},
|
||||
"sans-serif-italic": {fonts: [ITALIC,NONUNII], offsetA: 0x1D608, offsetN: 0xE1B4, offsetG: 0xE1BF, italic:true},
|
||||
"sans-serif-bold-italic": {fonts: ["STIXGeneral-bold-italic","STIXNonUnicode-bold-italic"], offsetA: 0x1D63C, offsetN: 0xE1F6, offsetG: 0x1D790, bold:true, italic:true},
|
||||
"monospace": {offsetA: 0x1D670, offsetN: 0x1D7F6},
|
||||
"-STIX-variant": {fonts:["STIXVariants",NONUNI,GENERAL]},
|
||||
"-tex-caligraphic": {fonts: [ITALIC,"STIXNonUnicode-italic",NONUNI,SIZE1], offsetA: 0xE22D, noLowerCase: 1},
|
||||
"-STIX-variant": {fonts:["STIXVariants",NONUNI,GENERAL],
|
||||
remap: {0x2A87: 0xE010, 0x2A88: 0xE00F, 0x2270: 0xE011, 0x2271: 0xE00E,
|
||||
0x22E0: 0xE04B, 0x22E1: 0xE04F, 0x2288: 0xE016, 0x2289: 0xE018,
|
||||
0x25B3: 0x25B5, 0x25BD: 0x25BF,
|
||||
0x2205: [0x2205,MML.VARIANT.NORMAL]}}, // \varnothing
|
||||
"-tex-caligraphic": {fonts: [ITALIC,NONUNII,NONUNI,SIZE1], offsetA: 0xE22D, noLowerCase: 1},
|
||||
"-tex-oldstyle": {offsetN: 0xE261,
|
||||
remap: {0xE262: 0xE265, 0xE263: 0xE269, 0xE264: 0xE26D, 0xE265: 0xE271,
|
||||
0xE266: 0xE275, 0xE267: 0xE279, 0xE268: 0xE27D, 0xE269: 0xE281,
|
||||
0xE26A: 0xE285}},
|
||||
"-tex-mathit": {fonts: [ITALIC,"STIXNonUnicode-italic",GENERAL,NONUNI,SIZE1], italic:true, noIC:true},
|
||||
remap: {0xE262: 0xE265, 0xE263: 0xE269, 0xE264: 0xE26D, 0xE265: 0xE271,
|
||||
0xE266: 0xE275, 0xE267: 0xE279, 0xE268: 0xE27D, 0xE269: 0xE281,
|
||||
0xE26A: 0xE285}},
|
||||
"-tex-mathit": {fonts: [ITALIC,NONUNII,GENERAL,NONUNI,SIZE1], italic:true, noIC:true},
|
||||
"-largeOp": {fonts:[SIZE1,"STIXIntegralsD",NONUNI,GENERAL]},
|
||||
"-smallOp": {}
|
||||
},
|
||||
|
@ -101,7 +107,7 @@
|
|||
{name: "alpha", low: 0x61, high: 0x7A, offset: "A", add: 26},
|
||||
{name: "Alpha", low: 0x41, high: 0x5A, offset: "A"},
|
||||
{name: "number", low: 0x30, high: 0x39, offset: "N"},
|
||||
{name: "greek", low: 0x03B1, high: 0x03C9, offset: "G", add: 25},
|
||||
{name: "greek", low: 0x03B1, high: 0x03C9, offset: "G", add: 26},
|
||||
{name: "Greek", low: 0x0391, high: 0x03F6, offset: "G",
|
||||
remap: {0x03F5: 53, 0x03D1: 54, 0x03F0: 55, 0x03D5: 56, 0x03F1: 57, 0x03D6: 58, 0x03F4: 17}}
|
||||
],
|
||||
|
@ -336,7 +342,7 @@
|
|||
stretch: {top:[0x23AB,SIZE1], ext:[0x23AA,SIZE1], bot:[0x23AD,SIZE1]}
|
||||
},
|
||||
0x002D: {alias: 0x23AF, dir:H}, // minus
|
||||
0x005E: {alias: 0x02D6, dir:H}, // wide hat
|
||||
0x005E: {alias: 0x02C6, dir:H}, // wide hat
|
||||
0x005F: {alias: 0x23AF, dir:H}, // low line
|
||||
0x007E: {alias: 0x02DC, dir:H}, // wide tilde
|
||||
0x00AF: {alias: 0x23AF, dir:H}, // macron
|
||||
|
@ -454,18 +460,6 @@
|
|||
}
|
||||
});
|
||||
|
||||
MathJax.Hub.Register.StartupHook("TeX Jax Ready", function () {
|
||||
var TEX = MathJax.InputJax.TeX;
|
||||
|
||||
TEX.isSTIX = true;
|
||||
TEX.Definitions.mathchar0mi.hbar = ['210F',{variantForm: true}];
|
||||
TEX.Definitions.mathchar0mi.emptyset[1].variantForm = true;
|
||||
TEX.Definitions.mathchar0mi.backslash[1].variantForm = true;
|
||||
TEX.Definitions.mathchar0mi.triangle[1].mathsize = "71%";
|
||||
|
||||
TEX.Definitions.mathchar0mo.setminus = ['2216',{variantForm: true}];
|
||||
});
|
||||
|
||||
HTMLCSS.FONTDATA.FONTS['STIXGeneral'] = {
|
||||
directory: 'General/Regular',
|
||||
family: 'STIXGeneral',
|
||||
|
@ -1567,5 +1561,5 @@
|
|||
QUEUE.push(["loadComplete",MathJax.Ajax,HTMLCSS.fontDir + "/fontdata.js"]);
|
||||
MathJax.Callback.Queue.apply(MathJax.Callback,QUEUE);
|
||||
|
||||
})(MathJax.OutputJax["HTML-CSS"],MathJax.HTML);
|
||||
})(MathJax.OutputJax["HTML-CSS"],MathJax.ElementJax.mml,MathJax.HTML);
|
||||
|
||||
|
|
|
@ -22,6 +22,7 @@
|
|||
*/
|
||||
|
||||
(function (HTMLCSS) {
|
||||
var VERSION = "2.0.1";
|
||||
|
||||
var DELIMITERS = HTMLCSS.FONTDATA.DELIMITERS;
|
||||
|
||||
|
@ -48,12 +49,12 @@
|
|||
0x21A4: // left arrow from bar
|
||||
{
|
||||
dir: H, HW: [],
|
||||
stretch: {left:[0x2190,MAIN], rep:[0x2212,MAIN], right:[0x2223,SIZE1,0,-.05,.9]}
|
||||
stretch: {min:1, left:[0x2190,MAIN], rep:[0x2212,MAIN], right:[0x2223,SIZE1,0,-.05,.9]}
|
||||
},
|
||||
0x21A5: // up arrow from bar
|
||||
{
|
||||
dir: V, HW: [],
|
||||
stretch: {bot:[0x22A5,BOLD,0,0,.75], ext:[0x23D0,SIZE1], top:[0x2191,SIZE1]}
|
||||
stretch: {min:.6, bot:[0x22A5,BOLD,0,0,.75], ext:[0x23D0,SIZE1], top:[0x2191,SIZE1]}
|
||||
},
|
||||
0x21A6: // right arrow from bar
|
||||
{
|
||||
|
@ -63,7 +64,7 @@
|
|||
0x21A7: // down arrow from bar
|
||||
{
|
||||
dir: V, HW: [],
|
||||
stretch: {top:[0x22A4,BOLD,0,0,.75], ext:[0x23D0,SIZE1], bot:[0x2193,SIZE1]}
|
||||
stretch: {min:.6, top:[0x22A4,BOLD,0,0,.75], ext:[0x23D0,SIZE1], bot:[0x2193,SIZE1]}
|
||||
},
|
||||
0x21B0: // up arrow with top leftwards
|
||||
{
|
||||
|
@ -128,12 +129,12 @@
|
|||
0x23B4: // top square bracket
|
||||
{
|
||||
dir: H, HW: [],
|
||||
stretch: {left:[0x250C,AMS,0,-.1], rep:[0x2212,MAIN,0,.35], right:[0x2510,AMS,0,-.1]}
|
||||
stretch: {min:.5, left:[0x250C,AMS,0,-.1], rep:[0x2212,MAIN,0,.35], right:[0x2510,AMS,0,-.1]}
|
||||
},
|
||||
0x23B5: // bottom square bracket
|
||||
{
|
||||
dir: H, HW: [],
|
||||
stretch: {left:[0x2514,AMS,0,.26], rep:[0x2212,MAIN,0,0,0,.25], right:[0x2518,AMS,0,.26]}
|
||||
stretch: {min:.5, left:[0x2514,AMS,0,.26], rep:[0x2212,MAIN,0,0,0,.25], right:[0x2518,AMS,0,.26]}
|
||||
},
|
||||
0x23DC: // top paren
|
||||
{
|
||||
|
@ -148,82 +149,82 @@
|
|||
0x23E0: // top tortoise shell
|
||||
{
|
||||
dir: H, HW: [],
|
||||
stretch: {left:[0x2CA,MAIN,-.1], rep:[0x2C9,MAIN,0,.13], right:[0x2CB,MAIN], fullExtenders:true}
|
||||
stretch: {min:1.25, left:[0x2CA,MAIN,-.1], rep:[0x2C9,MAIN,0,.13], right:[0x2CB,MAIN], fullExtenders:true}
|
||||
},
|
||||
0x23E1: // bottom tortoise shell
|
||||
{
|
||||
dir: H, HW: [],
|
||||
stretch: {left:[0x2CB,MAIN,-.1,.1], rep:[0x2C9,MAIN], right:[0x2CA,MAIN,-.1,.1], fullExtenders:true}
|
||||
stretch: {min:1.5, left:[0x2CB,MAIN,-.1,.1], rep:[0x2C9,MAIN], right:[0x2CA,MAIN,-.1,.1], fullExtenders:true}
|
||||
},
|
||||
0x2906: // leftwards double arrow from bar
|
||||
{
|
||||
dir: H, HW: [],
|
||||
stretch: {left:[0x21D0,MAIN], rep:[0x3D,MAIN], right:[0x2223,SIZE1,0,-.1]}
|
||||
stretch: {min:1, left:[0x21D0,MAIN], rep:[0x3D,MAIN], right:[0x2223,SIZE1,0,-.1]}
|
||||
},
|
||||
0x2907: // rightwards double arrow from bar
|
||||
{
|
||||
dir: H, HW: [],
|
||||
stretch: {left:[0x22A8,AMS,0,-.12], rep:[0x3D,MAIN], right:[0x21D2,MAIN]}
|
||||
stretch: {min:.7, left:[0x22A8,AMS,0,-.12], rep:[0x3D,MAIN], right:[0x21D2,MAIN]}
|
||||
},
|
||||
0x294E: // left barb up right barb up harpoon
|
||||
{
|
||||
dir: H, HW: [],
|
||||
stretch: {left:[0x21BC,MAIN], rep:[0x2212,MAIN], right:[0x21C0,MAIN]}
|
||||
stretch: {min:.5, left:[0x21BC,MAIN], rep:[0x2212,MAIN], right:[0x21C0,MAIN]}
|
||||
},
|
||||
0x294F: // up barb right down barb right harpoon
|
||||
{
|
||||
dir: V, HW: [],
|
||||
stretch: {top:[0x21BE,AMS,.12,0,1.1], ext:[0x23D0,SIZE1], bot:[0x21C2,AMS,.12,0,1.1]}
|
||||
stretch: {min:.5, top:[0x21BE,AMS,.12,0,1.1], ext:[0x23D0,SIZE1], bot:[0x21C2,AMS,.12,0,1.1]}
|
||||
},
|
||||
0x2950: // left barb dow right barb down harpoon
|
||||
{
|
||||
dir: H, HW: [],
|
||||
stretch: {left:[0x21BD,MAIN], rep:[0x2212,MAIN], right:[0x21C1,MAIN]}
|
||||
stretch: {min:.5, left:[0x21BD,MAIN], rep:[0x2212,MAIN], right:[0x21C1,MAIN]}
|
||||
},
|
||||
0x2951: // up barb left down barb left harpoon
|
||||
{
|
||||
dir: V, HW: [],
|
||||
stretch: {top:[0x21BF,AMS,.12,0,1.1], ext:[0x23D0,SIZE1], bot:[0x21C3,AMS,.12,0,1.1]}
|
||||
stretch: {min:.5, top:[0x21BF,AMS,.12,0,1.1], ext:[0x23D0,SIZE1], bot:[0x21C3,AMS,.12,0,1.1]}
|
||||
},
|
||||
0x295A: // leftwards harpoon with barb up from bar
|
||||
{
|
||||
dir: H, HW: [],
|
||||
stretch: {left:[0x21BC,MAIN], rep:[0x2212,MAIN], right:[0x2223,SIZE1,0,-.05,.9]}
|
||||
stretch: {min:1, left:[0x21BC,MAIN], rep:[0x2212,MAIN], right:[0x2223,SIZE1,0,-.05,.9]}
|
||||
},
|
||||
0x295B: // rightwards harpoon with barb up from bar
|
||||
{
|
||||
dir: H, HW: [],
|
||||
stretch: {left:[0x2223,SIZE1,-.09,-.05,.9], rep:[0x2212,MAIN], right:[0x21C0,MAIN]}
|
||||
stretch: {min:1, left:[0x2223,SIZE1,-.05,-.05,.9], rep:[0x2212,MAIN], right:[0x21C0,MAIN]}
|
||||
},
|
||||
0x295C: // up harpoon with barb right from bar
|
||||
{
|
||||
dir: V, HW: [],
|
||||
stretch: {bot:[0x22A5,BOLD,0,0,.75], ext:[0x23D0,SIZE1], top:[0x21BE,AMS,.12,0,1.1]}
|
||||
stretch: {min:.7, bot:[0x22A5,BOLD,0,0,.75], ext:[0x23D0,SIZE1], top:[0x21BE,AMS,.12,0,1.1]}
|
||||
},
|
||||
0x295D: // down harpoon with barb right from bar
|
||||
{
|
||||
dir: V, HW: [],
|
||||
stretch: {top:[0x22A4,BOLD,0,0,.75], ext:[0x23D0,SIZE1], bot:[0x21C2,AMS,.12,0,1.1]}
|
||||
stretch: {min:.7, top:[0x22A4,BOLD,0,0,.75], ext:[0x23D0,SIZE1], bot:[0x21C2,AMS,.12,0,1.1]}
|
||||
},
|
||||
0x295E: // leftwards harpoon with barb down from bar
|
||||
{
|
||||
dir: H, HW: [],
|
||||
stretch: {left:[0x21BD,MAIN], rep:[0x2212,MAIN], right:[0x2223,SIZE1,0,-.05,.9]}
|
||||
stretch: {min:1, left:[0x21BD,MAIN], rep:[0x2212,MAIN], right:[0x2223,SIZE1,0,-.05,.9]}
|
||||
},
|
||||
0x295F: // rightwards harpoon with barb down from bar
|
||||
{
|
||||
dir: H, HW: [],
|
||||
stretch: {left:[0x2223,SIZE1,-.09,-.05,.9], rep:[0x2212,MAIN], right:[0x21C1,MAIN]}
|
||||
stretch: {min:1, left:[0x2223,SIZE1,-.05,-.05,.9], rep:[0x2212,MAIN], right:[0x21C1,MAIN]}
|
||||
},
|
||||
0x2960: // up harpoon with barb left from bar
|
||||
{
|
||||
dir: V, HW: [],
|
||||
stretch: {bot:[0x22A5,BOLD,0,0,.75], ext:[0x23D0,SIZE1], top:[0x21BF,AMS,.12,0,1.1]}
|
||||
stretch: {min:.7, bot:[0x22A5,BOLD,0,0,.75], ext:[0x23D0,SIZE1], top:[0x21BF,AMS,.12,0,1.1]}
|
||||
},
|
||||
0x2961: // down harpoon with barb left from bar
|
||||
{
|
||||
dir: V, HW: [],
|
||||
stretch: {top:[0x22A4,BOLD,0,0,.75], ext:[0x23D0,SIZE1], bot:[0x21C3,AMS,.12,0,1.1]}
|
||||
stretch: {min:.7, top:[0x22A4,BOLD,0,0,.75], ext:[0x23D0,SIZE1], bot:[0x21C3,AMS,.12,0,1.1]}
|
||||
}
|
||||
};
|
||||
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
*/
|
||||
|
||||
(function (HTMLCSS,MML,AJAX) {
|
||||
var VERSION = "2.0";
|
||||
var VERSION = "2.0.4";
|
||||
|
||||
var MAIN = "MathJax_Main",
|
||||
BOLD = "MathJax_Main-bold",
|
||||
|
@ -71,12 +71,18 @@
|
|||
offsetG: 0x03B1, variantG: "italic",
|
||||
remap: {0x391:0x41, 0x392:0x42, 0x395:0x45, 0x396:0x5A, 0x397:0x48,
|
||||
0x399:0x49, 0x39A:0x4B, 0x39C:0x4D, 0x39D:0x4E, 0x39F:0x4F,
|
||||
0x3A1:0x50, 0x3A4:0x54, 0x3A7:0x58, 0x29F8:[0x002F,"italic"]}},
|
||||
0x3A1:0x50, 0x3A4:0x54, 0x3A7:0x58,
|
||||
0x2216:[0x2216,"-TeX-variant"], // \smallsetminus
|
||||
0x210F:[0x210F,"-TeX-variant"], // \hbar
|
||||
0x2032:[0x27,"sans-serif-italic"], // HACK: a smaller prime
|
||||
0x29F8:[0x002F,MML.VARIANT.ITALIC]}},
|
||||
"bold": {fonts:[BOLD,SIZE1,AMS], bold:true,
|
||||
offsetG: 0x03B1, variantG: "bold-italic",
|
||||
remap: {0x391:0x41, 0x392:0x42, 0x395:0x45, 0x396:0x5A, 0x397:0x48,
|
||||
0x399:0x49, 0x39A:0x4B, 0x39C:0x4D, 0x39D:0x4E, 0x39F:0x4F,
|
||||
0x3A1:0x50, 0x3A4:0x54, 0x3A7:0x58, 0x29F8:[0x002F,"bold-italic"],
|
||||
0x219A:"\u2190\u0338", 0x219B:"\u2192\u0338", 0x21AE:"\u2194\u0338",
|
||||
0x21CD:"\u21D0\u0338", 0x21CE:"\u21D4\u0338", 0x21CF:"\u21D2\u0338",
|
||||
0x2204:"\u2203\u0338", 0x2224:"\u2223\u0338", 0x2226:"\u2225\u0338",
|
||||
0x2241:"\u223C\u0338", 0x2247:"\u2245\u0338",
|
||||
0x226E:"<\u0338", 0x226F:">\u0338",
|
||||
|
@ -113,6 +119,15 @@
|
|||
remap: {0x391:0x41, 0x392:0x42, 0x395:0x45, 0x396:0x5A, 0x397:0x48,
|
||||
0x399:0x49, 0x39A:0x4B, 0x39C:0x4D, 0x39D:0x4E, 0x39F:0x4F,
|
||||
0x3A1:0x50, 0x3A4:0x54, 0x3A7:0x58}},
|
||||
"-TeX-variant": {fonts:[AMS,MAIN,SIZE1], // HACK: to get larger prime for \prime
|
||||
remap: {
|
||||
0x2268: 0xE00C, 0x2269: 0xE00D, 0x2270: 0xE011, 0x2271: 0xE00E,
|
||||
0x2A87: 0xE010, 0x2A88: 0xE00F, 0x2224: 0xE006, 0x2226: 0xE007,
|
||||
0x2288: 0xE016, 0x2289: 0xE018, 0x228A: 0xE01A, 0x228B: 0xE01B,
|
||||
0x2ACB: 0xE017, 0x2ACC: 0xE019, 0x03DC: 0xE008, 0x03F0: 0xE009,
|
||||
0x2216:[0x2216,MML.VARIANT.NORMAL], // \setminus
|
||||
0x210F:[0x210F,MML.VARIANT.NORMAL] // \hslash
|
||||
}},
|
||||
"-largeOp": {fonts:[SIZE2,SIZE1,MAIN]},
|
||||
"-smallOp": {fonts:[SIZE1,MAIN]}
|
||||
},
|
||||
|
@ -141,13 +156,16 @@
|
|||
0x2022: 0x2219, 0x2044: 0x2F, // bullet, fraction slash
|
||||
0x2305: 0x22BC, 0x2306: 0x2A5E, // barwedge, doublebarwedge
|
||||
0x25AA: 0x25A0, 0x25B4: 0x25B2, // blacksquare, blacktriangle
|
||||
0x25B5: 0x25B3, 0x25BE: 0x25BC, // triangle, blacktriangledown
|
||||
0x25BF: 0x25BD, 0x25C2: 0x25C0, // triangledown, blacktriangleleft
|
||||
0x25B5: 0x25B3, 0x25B8: 0x25B6, // triangle, blacktriangleright
|
||||
0x25BE: 0x25BC, 0x25BF: 0x25BD, // blacktriangledown, triangledown
|
||||
0x25C2: 0x25C0, // blacktriangleleft
|
||||
0x2329: 0x27E8, 0x232A: 0x27E9, // langle, rangle
|
||||
0x3008: 0x27E8, 0x3009: 0x27E9, // langle, rangle
|
||||
0x2758: 0x2223, // VerticalSeparator
|
||||
0x2A2F: 0xD7, // cross product
|
||||
|
||||
0x25FB: 0x25A1, 0x25FC: 0x25A0, // square, blacksquare
|
||||
|
||||
//
|
||||
// Letter-like symbols (that appear elsewhere)
|
||||
//
|
||||
|
@ -186,9 +204,10 @@
|
|||
//
|
||||
0x2204: "\u2203\u0338", // \not\exists
|
||||
0x220C: "\u220B\u0338", // \not\ni
|
||||
0x2244: "\u2243\u0338", // \not\cong
|
||||
0x2244: "\u2243\u0338", // \not\simeq
|
||||
0x2249: "\u2248\u0338", // \not\approx
|
||||
0x2262: "\u2261\u0338", // \not\equiv
|
||||
0x226D: "\u224D\u0338", // \not\asymp
|
||||
0x2274: "\u2272\u0338", // \not\lesssim
|
||||
0x2275: "\u2273\u0338", // \not\gtrsim
|
||||
0x2278: "\u2276\u0338", // \not\lessgtr
|
||||
|
@ -198,15 +217,21 @@
|
|||
0x22E2: "\u2291\u0338", // \not\sqsubseteq
|
||||
0x22E3: "\u2292\u0338", // \not\sqsupseteq
|
||||
|
||||
0x2A0C: "\u222C\u222C", // quadruple integral
|
||||
|
||||
0x2033: "\u2032\u2032", // double prime
|
||||
0x2034: "\u2032\u2032\u2032", // triple prime
|
||||
0x2036: "\u2035\u2035", // double back prime
|
||||
0x2037: "\u2035\u2035\u2035", // trile back prime
|
||||
0x2057: "\u2032\u2032\u2032\u2032" // quadruple prime
|
||||
0x2057: "\u2032\u2032\u2032\u2032", // quadruple prime
|
||||
0x20DB: "...", // combining three dots above (only works with mover/under)
|
||||
0x20DC: "...." // combining four dots above (only works with mover/under)
|
||||
},
|
||||
|
||||
REMAPACCENT: {
|
||||
"\u2192":"\u20D7"
|
||||
"\u2192":"\u20D7",
|
||||
"\u2032":"'",
|
||||
"\u2035":"`"
|
||||
},
|
||||
REMAPACCENTUNDER: {
|
||||
},
|
||||
|
@ -449,12 +474,12 @@
|
|||
0x23DE: // horizontal brace down
|
||||
{
|
||||
dir: H, HW: [],
|
||||
stretch: {left:[0xE150,SIZE4], mid:[[0xE153,0xE152],SIZE4], right:[0xE151,SIZE4], rep:[0xE154,SIZE4]}
|
||||
stretch: {min:.9, left:[0xE150,SIZE4], mid:[[0xE153,0xE152],SIZE4], right:[0xE151,SIZE4], rep:[0xE154,SIZE4]}
|
||||
},
|
||||
0x23DF: // horizontal brace up
|
||||
{
|
||||
dir: H, HW: [],
|
||||
stretch: {left:[0xE152,SIZE4], mid:[[0xE151,0xE150],SIZE4], right:[0xE153,SIZE4], rep:[0xE154,SIZE4]}
|
||||
stretch: {min:.9, left:[0xE152,SIZE4], mid:[[0xE151,0xE150],SIZE4], right:[0xE153,SIZE4], rep:[0xE154,SIZE4]}
|
||||
},
|
||||
0x27E8: // \langle
|
||||
{
|
||||
|
@ -564,13 +589,6 @@
|
|||
}
|
||||
};
|
||||
|
||||
MathJax.Hub.Register.StartupHook("TeX Jax Ready", function () {
|
||||
var TEX = MathJax.InputJax.TeX;
|
||||
TEX.Definitions.mathchar0mi.ell = ['2113',{mathvariant: MML.VARIANT.NORMAL}];
|
||||
TEX.Definitions.mathchar0mi.hbar = ['210F',{mathvariant: MML.VARIANT.NORMAL}];
|
||||
TEX.Definitions.mathchar0mi.S = ['00A7',{mathvariant: MML.VARIANT.SCRIPT}];
|
||||
});
|
||||
|
||||
HTMLCSS.FONTDATA.FONTS['MathJax_Caligraphic'] = {
|
||||
directory: 'Caligraphic/Regular',
|
||||
family: 'MathJax_Caligraphic',
|
||||
|
@ -1790,6 +1808,11 @@
|
|||
"bold": VARBOLD,
|
||||
"italic": VARNORMAL,
|
||||
"bold-italic": VARBOLD,
|
||||
"-TeX-variant": {remap:{
|
||||
0x2190:[0xE2C1,"-WinIE6"], 0x2192:[0xE2C0,"-WinIE6"],
|
||||
0x2223:[0xE2C2,"-WinIE6"], 0x2225:[0xE2C3,"-WinIE6"],
|
||||
0x223C:[0xE2C4,"-WinIE6"], 0x25B3:[0xE2D3,"-WinIE6"]
|
||||
}},
|
||||
"-largeOp": {fonts:[WinIE6,SIZE2,SIZE1,MAIN],
|
||||
remap: {0x220F:0xE290, 0x2211:0xE291, 0x222B:0xE295, 0x222E:0xE296}},
|
||||
"-smallOp": {fonts:[WinIE6,SIZE1,MAIN],
|
||||
|
|
|
@ -449,13 +449,13 @@
|
|||
// Remove any existing output
|
||||
//
|
||||
prev = script.previousSibling;
|
||||
if (prev && String(prev.className).match(/^MathJax(_Display)?$/))
|
||||
if (prev && String(prev.className).match(/^MathJax(_Display)?( MathJax_Processing)?$/))
|
||||
{prev.parentNode.removeChild(prev)}
|
||||
//
|
||||
// Add the span, and a div if in display mode,
|
||||
// then set the role and mark it as being processed
|
||||
//
|
||||
jax = script.MathJax.elementJax;
|
||||
jax = script.MathJax.elementJax; if (!jax) continue;
|
||||
jax.HTMLCSS = {display: (jax.root.Get("display") === "block")}
|
||||
span = div = this.Element("span",{
|
||||
className:"MathJax", id:jax.inputID+"-Frame", isMathJax:true, jaxID:this.id,
|
||||
|
@ -491,7 +491,7 @@
|
|||
for (i = 0; i < m; i++) {
|
||||
script = scripts[i]; if (!script.parentNode) continue;
|
||||
test = script.previousSibling; div = test.previousSibling;
|
||||
jax = script.MathJax.elementJax;
|
||||
jax = script.MathJax.elementJax; if (!jax) continue;
|
||||
ex = test.firstChild.offsetHeight/60;
|
||||
em = test.lastChild.firstChild.offsetHeight/60;
|
||||
if (relwidth) {maxwidth = div.previousSibling.firstChild.offsetWidth}
|
||||
|
@ -513,7 +513,8 @@
|
|||
//
|
||||
for (i = 0; i < m; i++) {
|
||||
script = scripts[i]; if (!script.parentNode) continue;
|
||||
test = scripts[i].previousSibling; jax = scripts[i].MathJax.elementJax;
|
||||
test = scripts[i].previousSibling;
|
||||
jax = scripts[i].MathJax.elementJax; if (!jax) continue;
|
||||
if (relwidth) {
|
||||
span = test.previousSibling;
|
||||
if (!jax.HTMLCSS.isHidden) {span = span.previousSibling}
|
||||
|
@ -524,7 +525,7 @@
|
|||
//
|
||||
// Set state variables used for displaying equations in chunks
|
||||
//
|
||||
state.HTMLCSSeqn = state.HTMLCSSlast = 0;
|
||||
state.HTMLCSSeqn = state.HTMLCSSlast = 0; state.HTMLCSSi = -1;
|
||||
state.HTMLCSSchunk = this.config.EqnChunk;
|
||||
state.HTMLCSSdelay = false;
|
||||
},
|
||||
|
@ -583,7 +584,7 @@
|
|||
//
|
||||
// Check if we should show this chunk of equations
|
||||
//
|
||||
state.HTMLCSSeqn++;
|
||||
state.HTMLCSSeqn += (state.i - state.HTMLCSSi); state.HTMLCSSi = state.i;
|
||||
if (state.HTMLCSSeqn >= state.HTMLCSSlast + state.HTMLCSSchunk) {
|
||||
this.postTranslate(state);
|
||||
state.HTMLCSSchunk = Math.floor(state.HTMLCSSchunk*this.config.EqnChunkFactor);
|
||||
|
@ -600,7 +601,7 @@
|
|||
//
|
||||
for (var i = state.HTMLCSSlast, m = state.HTMLCSSeqn; i < m; i++) {
|
||||
var script = scripts[i];
|
||||
if (script) {
|
||||
if (script && script.MathJax.elementJax) {
|
||||
//
|
||||
// Remove the processed marker
|
||||
//
|
||||
|
@ -806,6 +807,16 @@
|
|||
if (Math.abs(m) < .0006) {return "0em"}
|
||||
return m.toFixed(3).replace(/\.?0+$/,"") + "em";
|
||||
},
|
||||
unEm: function (m) {
|
||||
return parseFloat(m);
|
||||
},
|
||||
Px: function (m) {
|
||||
m *= this.em; var s = (m < 0? "-" : "");
|
||||
return s+Math.abs(m).toFixed(1).replace(/\.?0+$/,"") + "px";
|
||||
},
|
||||
unPx: function (m) {
|
||||
return parseFloat(m)/this.em;
|
||||
},
|
||||
Percent: function (m) {
|
||||
return (100*m).toFixed(1).replace(/\.?0+$/,"") + "%";
|
||||
},
|
||||
|
@ -893,17 +904,13 @@
|
|||
if (before) {span.insertBefore(space,span.firstChild)} else {span.appendChild(space)}
|
||||
return space;
|
||||
},
|
||||
createSpace: function (span,h,d,w,color) {
|
||||
createSpace: function (span,h,d,w,color,isSpace) {
|
||||
if (h < -d) {d = -h} // make sure h is above d
|
||||
var H = this.Em(h+d), D = this.Em(-d);
|
||||
if (this.msieInlineBlockAlignBug) {D = this.Em(HTMLCSS.getHD(span.parentNode).d-d)}
|
||||
if (span.isBox || span.className == "mspace") {
|
||||
var scale = (span.scale == null ? 1 : span.scale);
|
||||
span.bbox = {
|
||||
exactW: true,
|
||||
h: h*scale, d: d*scale,
|
||||
w: w*scale, rw: w*scale, lw: 0
|
||||
};
|
||||
if (span.isBox || isSpace) {
|
||||
var scale = (span.scale == null ? 1 : span.scale);
|
||||
span.bbox = {exactW: true, h: h*scale, d: d*scale, w: w*scale, rw: w*scale, lw: 0};
|
||||
span.style.height = H; span.style.verticalAlign = D;
|
||||
span.HH = (h+d)*scale;
|
||||
} else {
|
||||
|
@ -981,7 +988,7 @@
|
|||
return box;
|
||||
},
|
||||
addBox: function (span,box) {
|
||||
box.style.position = "absolute"; box.isBox = true;
|
||||
box.style.position = "absolute"; box.isBox = box.isMathJax = true;
|
||||
return span.appendChild(box);
|
||||
},
|
||||
placeBox: function (span,x,y,noclip) {
|
||||
|
@ -996,6 +1003,7 @@
|
|||
else {HH = span.offsetHeight/this.em}
|
||||
if (!span.noAdjust) {
|
||||
HH += 1;
|
||||
HH = Math.round(HH*this.em)/this.em; // make this an integer number of pixels (for Chrome)
|
||||
if (this.msieInlineBlockAlignBug) {
|
||||
this.addElement(span,"img",{
|
||||
className:"MathJax_strut", border:0, src:"about:blank", isMathJax:true,
|
||||
|
@ -1005,6 +1013,8 @@
|
|||
this.addElement(span,"span",{
|
||||
isMathJax: true, style:{display:"inline-block",width:0,height:this.Em(HH)}
|
||||
});
|
||||
if (HTMLCSS.chromeHeightBug)
|
||||
{HH -= (span.lastChild.offsetHeight - Math.round(HH*this.em))/this.em}
|
||||
}
|
||||
}
|
||||
// Clip so that bbox doesn't include extra height and depth
|
||||
|
@ -1112,6 +1122,7 @@
|
|||
mid = this.createBox(stack); this.createChar(mid,delim.mid,scale,font);
|
||||
h += mid.bbox.h + mid.bbox.d;
|
||||
}
|
||||
if (delim.min && H < h*delim.min) {H = h*delim.min}
|
||||
if (H > h) {
|
||||
ext = this.Element("span"); this.createChar(ext,delim.ext,scale,font);
|
||||
var eH = ext.bbox.h + ext.bbox.d, eh = eH - .05, n, N, k = (delim.mid ? 2 : 1);
|
||||
|
@ -1122,6 +1133,7 @@
|
|||
while (n-- > 0) {
|
||||
if (!this.msieCloneNodeBug) {EXT = ext.cloneNode(true)}
|
||||
else {EXT = this.Element("span"); this.createChar(EXT,delim.ext,scale,font)}
|
||||
EXT.bbox = ext.bbox;
|
||||
y -= eh; this.placeBox(this.addBox(stack,EXT),0,y,true);
|
||||
}
|
||||
y += dy - ext.bbox.d;
|
||||
|
@ -1161,6 +1173,7 @@
|
|||
mid = this.createBox(stack); this.createChar(mid,delim.mid,scale,font);
|
||||
w += mid.bbox.w;
|
||||
}
|
||||
if (delim.min && W < w*delim.min) {W = w*delim.min}
|
||||
if (W > w) {
|
||||
var rW = rep.bbox.rw-rep.bbox.lw, rw = rW - .05, n, N, k = (delim.mid ? 2 : 1);
|
||||
N = n = Math.ceil((W-w)/(k*rw));
|
||||
|
@ -1168,15 +1181,17 @@
|
|||
dx = (n/(n+1))*(rW - rw); rw = rW - dx; x -= rep.bbox.lw + dx;
|
||||
while (k-- > 0) {
|
||||
while (n-- > 0) {
|
||||
if (!this.msieCloneNodeBug) {REP = rep.cloneNode(true)}
|
||||
if (!this.cloneNodeBug) {REP = rep.cloneNode(true)}
|
||||
else {REP = this.Element("span"); this.createChar(REP,delim.rep,scale,font)}
|
||||
REP.bbox = rep.bbox;
|
||||
this.placeBox(this.addBox(stack,REP),x,0,true); x += rw;
|
||||
}
|
||||
if (delim.mid && k) {this.placeBox(mid,x,0,true); x += mid.bbox.w - dx; n = N}
|
||||
}
|
||||
} else {
|
||||
dx = Math.min(w - W,left.bbox.w/2);
|
||||
x -= dx/2; if (delim.mid) {this.placeBox(mid,x,0,true); x += mid.bbox.w}; x -= dx/2;
|
||||
x -= (w - W)/2;
|
||||
if (delim.mid) {this.placeBox(mid,x,0,true); x += mid.bbox.w};
|
||||
x -= (w - W)/2;
|
||||
}
|
||||
this.placeBox(right,x,0,true);
|
||||
span.bbox = {
|
||||
|
@ -1219,7 +1234,7 @@
|
|||
if (this.safariVerticalAlignBug || this.konquerorVerticalAlignBug ||
|
||||
(this.operaVerticalAlignBug && span.isMultiChar)) {
|
||||
if (span.firstChild.style.display === "" && span.style.top !== "")
|
||||
{span = span.firstChild; h -= parseFloat(span.style.top)}
|
||||
{span = span.firstChild; h -= HTMLCSS.unEm(span.style.top)}
|
||||
span.style.position = "relative";
|
||||
span.style.top = this.Em(-h);
|
||||
} else {
|
||||
|
@ -1335,6 +1350,10 @@
|
|||
if (text.length) {this.addText(span,text)}
|
||||
var scale = span.scale;
|
||||
HTMLCSS.createDelimiter(span,n,0,1,font);
|
||||
if (this.FONTDATA.DELIMITERS[n].dir === "V") {
|
||||
span.style.verticalAlign = this.Em(span.bbox.d);
|
||||
span.bbox.h += span.bbox.d; span.bbox.d = 0;
|
||||
}
|
||||
span.scale = scale;
|
||||
c[0] = span.bbox.h*1000; c[1] = span.bbox.d*1000;
|
||||
c[2] = span.bbox.w*1000; c[3] = span.bbox.lw*1000; c[4] = span.bbox.rw*1000;
|
||||
|
@ -1553,11 +1572,11 @@
|
|||
if (bbox.h > BBOX.h) {BBOX.h = bbox.h}
|
||||
if (bbox.D != null && bbox.D > BBOX.D) {BBOX.D = bbox.D}
|
||||
if (bbox.H != null && bbox.H > BBOX.H) {BBOX.H = bbox.H}
|
||||
if (child.style.paddingLeft) {BBOX.w += parseFloat(child.style.paddingLeft)*(child.scale||1)}
|
||||
if (child.style.paddingLeft) {BBOX.w += HTMLCSS.unEm(child.style.paddingLeft)*(child.scale||1)}
|
||||
if (BBOX.w + bbox.lw < BBOX.lw) {BBOX.lw = BBOX.w + bbox.lw}
|
||||
if (BBOX.w + bbox.rw > BBOX.rw) {BBOX.rw = BBOX.w + bbox.rw}
|
||||
BBOX.w += bbox.w;
|
||||
if (child.style.paddingRight) {BBOX.w += parseFloat(child.style.paddingRight)*(child.scale||1)}
|
||||
if (child.style.paddingRight) {BBOX.w += HTMLCSS.unEm(child.style.paddingRight)*(child.scale||1)}
|
||||
if (bbox.width) {BBOX.width = bbox.width}
|
||||
if (bbox.ic) {BBOX.ic = bbox.ic} else {delete BBOX.ic}
|
||||
if (BBOX.exactW && !bbox.exactW) {delete BBOX.exactW}
|
||||
|
@ -1574,7 +1593,10 @@
|
|||
},
|
||||
HTMLzeroBBox: function () {return {h:0, d:0, w:0, lw: 0, rw:0}},
|
||||
HTMLcanStretch: function (direction) {
|
||||
if (this.isEmbellished()) {return this.Core().HTMLcanStretch(direction)}
|
||||
if (this.isEmbellished()) {
|
||||
var core = this.Core();
|
||||
if (core && core !== this) {return core.HTMLcanStretch(direction)}
|
||||
}
|
||||
return false;
|
||||
},
|
||||
HTMLstretchH: function (box,W) {return this.HTMLspanElement()},
|
||||
|
@ -1600,10 +1622,10 @@
|
|||
HTMLcreateSpan: function (span) {
|
||||
if (this.spanID) {
|
||||
var SPAN = this.HTMLspanElement();
|
||||
if (SPAN) {
|
||||
if (SPAN && (SPAN.parentNode === span || (SPAN.parentNode||{}).parentNode === span)) {
|
||||
while (SPAN.firstChild) {SPAN.removeChild(SPAN.firstChild)}
|
||||
SPAN.bbox = {w:0, h:0, d:0, lw:0, rw:0};
|
||||
SPAN.scale = 1; SPAN.isMultChar = null;
|
||||
SPAN.scale = 1; SPAN.isMultChar = SPAN.HH = null;
|
||||
SPAN.style.cssText = "";
|
||||
return SPAN;
|
||||
}
|
||||
|
@ -1657,8 +1679,8 @@
|
|||
var bbox = span.bbox, dd = (bbox.exact ? 0 : 1/HTMLCSS.em), lW = 0, rW = 0,
|
||||
lpad = span.style.paddingLeft, rpad = span.style.paddingRight;
|
||||
if (this.isToken) {lW = bbox.lw; rW = bbox.rw - bbox.w}
|
||||
if (lpad !== "") {lW += parseFloat(lpad)*(span.scale||1)}
|
||||
if (rpad !== "") {rW -= parseFloat(rpad)*(span.scale||1)}
|
||||
if (lpad !== "") {lW += HTMLCSS.unEm(lpad)*(span.scale||1)}
|
||||
if (rpad !== "") {rW -= HTMLCSS.unEm(rpad)*(span.scale||1)}
|
||||
var dw = (HTMLCSS.PaddingWidthBug || bbox.keepPadding || bbox.exactW ? 0 : rW - lW);
|
||||
var W = Math.max(0,HTMLCSS.getW(span) + dw);
|
||||
var H = bbox.h + bbox.d, D = -bbox.d, lp = 0, rp = 0;
|
||||
|
@ -1730,7 +1752,7 @@
|
|||
var space = this.texSpacing();
|
||||
if (space !== "") {
|
||||
space = HTMLCSS.length2em(space,this.HTMLgetScale())/(span.scale||1);
|
||||
if (span.style.paddingLeft) {space += parseFloat(span.style.paddingLeft)}
|
||||
if (span.style.paddingLeft) {space += HTMLCSS.unEm(span.style.paddingLeft)}
|
||||
span.style.paddingLeft = HTMLCSS.Em(space);
|
||||
}
|
||||
}
|
||||
|
@ -1749,7 +1771,7 @@
|
|||
values.scriptminsize = HTMLCSS.length2em(this.Get("scriptminsize"));
|
||||
if (scale < values.scriptminsize) {scale = values.scriptminsize}
|
||||
}
|
||||
scale *= HTMLCSS.length2em(values.mathsize);
|
||||
if (this.isToken) {scale *= HTMLCSS.length2em(values.mathsize)}
|
||||
return scale;
|
||||
},
|
||||
HTMLgetMu: function (span) {
|
||||
|
@ -1840,9 +1862,11 @@
|
|||
toHTML: function (span,variant,remap,chars) {
|
||||
var text = this.data.join("").replace(/[\u2061-\u2064]/g,""); // remove invisibles
|
||||
if (remap) {text = remap(text,chars)}
|
||||
if (!variant) {
|
||||
if (variant.fontInherit) {
|
||||
var scale = Math.floor(100/HTMLCSS.scale+.5) + "%";
|
||||
HTMLCSS.addElement(span,"span",{style:{"font-size":scale}},[text]);
|
||||
if (variant.bold) {span.lastChild.style.fontWeight = "bold"}
|
||||
if (variant.italic) {span.lastChild.style.fontStyle = "italic"}
|
||||
var HD = HTMLCSS.getHD(span), W = HTMLCSS.getW(span);
|
||||
span.bbox = {h:HD.h, d:HD.d, w:W, lw:0, rw:W, exactW: true};
|
||||
} else {
|
||||
|
@ -1851,11 +1875,14 @@
|
|||
}
|
||||
});
|
||||
MML.entity.Augment({
|
||||
toHTML: function (span,variant) {
|
||||
toHTML: function (span,variant,remap,chars) {
|
||||
var text = this.toString().replace(/[\u2061-\u2064]/g,""); // remove invisibles
|
||||
if (!variant) {
|
||||
if (remap) {text = remap(text,chars)}
|
||||
if (variant.fontInherit) {
|
||||
var scale = Math.floor(100/HTMLCSS.scale+.5) + "%";
|
||||
HTMLCSS.addElement(span,"span",{style:{"font-size":scale}},[text]);
|
||||
if (variant.bold) {span.lastChild.style.fontWeight = "bold"}
|
||||
if (variant.italic) {span.lastChild.style.fontStyle = "italic"}
|
||||
var HD = HTMLCSS.getHD(span), W = HTMLCSS.getW(span);
|
||||
span.bbox = {h:HD.h, d:HD.d, w:W, lw:0, rw:W, exactW: true};
|
||||
} else {
|
||||
|
@ -1923,10 +1950,10 @@
|
|||
else if (under && this === under.CoreMO() && parent.Get("accentunder")) {mapchars = HTMLCSS.FONTDATA.REMAPACCENTUNDER}
|
||||
}
|
||||
//
|
||||
// STIX fonts need quotes from variant font
|
||||
// STIX and TeX fonts need quotes from variant font
|
||||
//
|
||||
if (isScript && HTMLCSS.fontInUse === "STIX" && text.match(/['`"\u00B4\u2032-\u2037]/))
|
||||
{variant = HTMLCSS.FONTDATA.VARIANT["-STIX-variant"]}
|
||||
if (isScript && text.match(/['`"\u00B4\u2032-\u2037\u2057]/))
|
||||
{variant = HTMLCSS.FONTDATA.VARIANT["-"+HTMLCSS.fontInUse+"-variant"]}
|
||||
//
|
||||
// Typeset contents
|
||||
//
|
||||
|
@ -1948,7 +1975,7 @@
|
|||
var p = (span.bbox.h - span.bbox.d)/2 - HTMLCSS.TeX.axis_height*span.scale;
|
||||
if (HTMLCSS.safariVerticalAlignBug && span.lastChild.nodeName === "IMG") {
|
||||
span.lastChild.style.verticalAlign =
|
||||
HTMLCSS.Em(parseFloat(span.lastChild.style.verticalAlign||0)/HTMLCSS.em-p/span.scale);
|
||||
HTMLCSS.Em(HTMLCSS.unEm(span.lastChild.style.verticalAlign||0)/HTMLCSS.em-p/span.scale);
|
||||
} else if (HTMLCSS.konquerorVerticalAlignBug && span.lastChild.nodeName === "IMG") {
|
||||
span.style.position = "relative";
|
||||
span.lastChild.style.position="relative";
|
||||
|
@ -1973,14 +2000,14 @@
|
|||
CoreParent: function () {
|
||||
var parent = this;
|
||||
while (parent && parent.isEmbellished() &&
|
||||
parent.CoreMO() === this && !parent.isa(MML.math)) {parent = parent.Parent()}
|
||||
parent.CoreMO() === this && !parent.isa(MML.math)) {parent = parent.Parent()}
|
||||
return parent;
|
||||
},
|
||||
CoreText: function (parent) {
|
||||
if (!parent) {return ""}
|
||||
if (parent.isEmbellished()) {return parent.CoreMO().data.join("")}
|
||||
while (parent.isa(MML.mrow) && parent.data.length === 1 && parent.data[0])
|
||||
{parent = parent.data[0]}
|
||||
while ((parent.isa(MML.mrow) || parent.isa(MML.TeXAtom)) &&
|
||||
parent.data.length === 1 && parent.data[0]) {parent = parent.data[0]}
|
||||
if (!parent.isToken) {return ""} else {return parent.data.join("")}
|
||||
},
|
||||
HTMLremapChars: {
|
||||
|
@ -2055,7 +2082,8 @@
|
|||
span = this.HTMLhandleSize(this.HTMLcreateSpan(span));
|
||||
var variant = this.HTMLgetVariant();
|
||||
// Avoid setting the font style for error text or if mtextFontInherit is set
|
||||
if (HTMLCSS.config.mtextFontInherit || this.Parent().type === "merror") {variant = null}
|
||||
if (HTMLCSS.config.mtextFontInherit || this.Parent().type === "merror")
|
||||
{variant = {bold:variant.bold, italic:variant.italic, fontInherit: true}}
|
||||
for (var i = 0, m = this.data.length; i < m; i++)
|
||||
{if (this.data[i]) {this.data[i].toHTML(span,variant)}}
|
||||
if (!span.bbox) {span.bbox = {w:0, h:0, d:0, rw:0, lw:0}}
|
||||
|
@ -2086,15 +2114,15 @@
|
|||
|
||||
MML.mspace.Augment({
|
||||
toHTML: function (span) {
|
||||
span = this.HTMLhandleSize(this.HTMLcreateSpan(span));
|
||||
span = this.HTMLcreateSpan(span);
|
||||
var values = this.getValues("height","depth","width");
|
||||
var mu = this.HTMLgetMu(span);
|
||||
values.mathbackground = this.mathbackground;
|
||||
if (this.background && !this.mathbackground) {values.mathbackground = this.background}
|
||||
var h = HTMLCSS.length2em(values.height,mu) / span.scale,
|
||||
d = HTMLCSS.length2em(values.depth,mu) / span.scale,
|
||||
w = HTMLCSS.length2em(values.width,mu) / span.scale;
|
||||
HTMLCSS.createSpace(span,h,d,w,values.mathbackground);
|
||||
var h = HTMLCSS.length2em(values.height,mu),
|
||||
d = HTMLCSS.length2em(values.depth,mu),
|
||||
w = HTMLCSS.length2em(values.width,mu);
|
||||
HTMLCSS.createSpace(span,h,d,w,values.mathbackground,true);
|
||||
return span;
|
||||
}
|
||||
});
|
||||
|
@ -2254,8 +2282,8 @@
|
|||
HTMLhandleSpace: function (span) {
|
||||
if (!this.texWithDelims) {
|
||||
var space = (this.useMMLspacing ? 0 : HTMLCSS.length2em(this.texSpacing()||0)) + .12;
|
||||
span.style.paddingLeft = HTMLCSS.Em(space);
|
||||
span.style.paddingRight = ".12em";
|
||||
span.style.paddingLeft = HTMLCSS.Em(space);
|
||||
span.style.paddingRight = HTMLCSS.Em(.12);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
@ -2281,7 +2309,7 @@
|
|||
if (surd.bbox.h + surd.bbox.d > H) {q = ((surd.bbox.h+surd.bbox.d) - (H-t))/2}
|
||||
var ruleC = HTMLCSS.FONTDATA.DELIMITERS[HTMLCSS.FONTDATA.RULECHAR];
|
||||
if (!ruleC || W < ruleC.HW[0][0]*scale || scale < .75) {
|
||||
HTMLCSS.createRule(rule,t,0,W);
|
||||
HTMLCSS.createRule(rule,0,t,W);
|
||||
} else {
|
||||
HTMLCSS.createDelimiter(rule,HTMLCSS.FONTDATA.RULECHAR,W,scale);
|
||||
}
|
||||
|
@ -2365,23 +2393,19 @@
|
|||
MML.maction.Augment({toHTML: MML.mbase.HTMLautoload});
|
||||
|
||||
MML.semantics.Augment({
|
||||
toHTML: function (span) {
|
||||
toHTML: function (span,HW,D) {
|
||||
span = this.HTMLcreateSpan(span);
|
||||
if (this.data[0] != null) {
|
||||
span = this.data[0].toHTML(span);
|
||||
this.spanID = this.data[0].spanID;
|
||||
this.HTMLhandleSpace(span);
|
||||
var SPAN = this.data[0].toHTML(span);
|
||||
if (D != null) {this.data[0].HTMLstretchV(span,HW,D)}
|
||||
else if (HW != null) {this.data[0].HTMLstretchH(span,HW)}
|
||||
span.bbox = SPAN.bbox;
|
||||
}
|
||||
this.HTMLhandleSpace(span);
|
||||
return span;
|
||||
},
|
||||
HTMLspanElement: function () {
|
||||
return (this.data[0] != null ? this.data[0].HTMLspanElement() : null);
|
||||
},
|
||||
HTMLstretchH: function (box,w) {
|
||||
return (this.data[0] != null ? this.data[0].HTMLstretchH(box,w) : box);
|
||||
},
|
||||
HTMLstretchV: function (box,h,d) {
|
||||
return (this.data[0] != null ? this.data[0].HTMLstretchV(box,h,d) : box);
|
||||
}
|
||||
HTMLstretchH: MML.mbase.HTMLstretchH,
|
||||
HTMLstretchV: MML.mbase.HTMLstretchV
|
||||
});
|
||||
|
||||
MML.munderover.Augment({
|
||||
|
@ -2432,7 +2456,7 @@
|
|||
var accent = (i != this.base && values[this.ACCENTS[i]]);
|
||||
if (accent && box.bbox.w <= 1/HTMLCSS.em+.0001) { // images can get the width off by 1px
|
||||
box.bbox.w = box.bbox.rw - box.bbox.lw; box.bbox.noclip = true;
|
||||
if (box.bbox.lw && !HTMLCSS.zeroWidthBug)
|
||||
if (box.bbox.lw)
|
||||
{box.insertBefore(HTMLCSS.createSpace(box.parentNode,0,0,-box.bbox.lw),box.firstChild)}
|
||||
HTMLCSS.createBlank(box,0,0,box.bbox.rw+.1);
|
||||
}
|
||||
|
@ -2564,9 +2588,11 @@
|
|||
}
|
||||
MML.mbase.prototype.displayAlign = HUB.config.displayAlign;
|
||||
MML.mbase.prototype.displayIndent = HUB.config.displayIndent;
|
||||
math = HTMLCSS.Measured(this.data[0].toHTML(box),box);
|
||||
var html = this.data[0].toHTML(box); html.bbox.exactW = false; // force remeasure just to be sure
|
||||
math = HTMLCSS.Measured(html,box);
|
||||
}
|
||||
HTMLCSS.placeBox(box,0,0);
|
||||
stack.style.width = Math.round(HTMLCSS.unEm(stack.style.width)*this.em)+"px"; // get width right if minimum font size is set
|
||||
//
|
||||
// Adjust bbox to match outer em-size
|
||||
//
|
||||
|
@ -2672,12 +2698,11 @@
|
|||
msiePlaceBoxBug: (isIE8 && !quirks),
|
||||
msieClipRectBug: !isIE8,
|
||||
msieNegativeSpaceBug: quirks,
|
||||
msieCloneNodeBug: (isIE8 && browser.version === "8.0"),
|
||||
cloneNodeBug: (isIE8 && browser.version === "8.0"),
|
||||
initialSkipBug: (mode < 8), // confused by initial left-margin values
|
||||
msieNegativeBBoxBug: (mode >= 8), // negative bboxes have positive widths
|
||||
msieIE6: !isIE7,
|
||||
msieItalicWidthBug: true,
|
||||
zeroWidthBug: (mode < 8),
|
||||
FontFaceBug: true,
|
||||
msieFontCSSBug: browser.isIE9,
|
||||
allowWebFonts: (mode >= 9 ? "woff" : "eot")
|
||||
|
@ -2749,6 +2774,10 @@
|
|||
|
||||
Chrome: function (browser) {
|
||||
HTMLCSS.Augment({
|
||||
Em: HTMLCSS.Px, // vertical alignment is better in pixels (since around v20)
|
||||
unEm: HTMLCSS.unPx,
|
||||
chromeHeightBug: true, // heights can be 1px off from the explicitly set size
|
||||
cloneNodeBug: true, // Chrome gets heights wrong with the cloned ones
|
||||
rfuzz: .011,
|
||||
AccentBug: true,
|
||||
AdjustSurd: true,
|
||||
|
@ -2769,7 +2798,6 @@
|
|||
operaVerticalAlignBug: true,
|
||||
operaFontSizeBug: browser.versionAtLeast("10.61"),
|
||||
initialSkipBug: true,
|
||||
zeroWidthBug: true,
|
||||
FontFaceBug: true,
|
||||
PaddingWidthBug: true,
|
||||
allowWebFonts: (browser.versionAtLeast("10.0") && !browser.isMini ? "otf" : false),
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
|
||||
MathJax.OutputJax.NativeMML = MathJax.OutputJax({
|
||||
id: "NativeMML",
|
||||
version: "2.0.1",
|
||||
version: "2.0.5",
|
||||
directory: MathJax.OutputJax.directory + "/NativeMML",
|
||||
extensionDir: MathJax.OutputJax.extensionDir + "/NativeMML",
|
||||
|
||||
|
|
|
@ -35,6 +35,32 @@
|
|||
//
|
||||
config: {
|
||||
styles: {
|
||||
".MathJax_MathML": {
|
||||
"font-style": "normal",
|
||||
"font-weight": "normal",
|
||||
"line-height": "normal",
|
||||
"font-size": "100%",
|
||||
"font-size-adjust":"none",
|
||||
"text-indent": 0,
|
||||
"text-align": "left",
|
||||
"text-transform": "none",
|
||||
"letter-spacing": "normal",
|
||||
"word-spacing": "normal",
|
||||
"word-wrap": "normal",
|
||||
"white-space": "nowrap",
|
||||
"float": "none",
|
||||
"direction": "ltr",
|
||||
border: 0, padding: 0, margin: 0
|
||||
},
|
||||
|
||||
"span.MathJax_MathML": {
|
||||
display: "inline"
|
||||
},
|
||||
|
||||
"div.MathJax_MathML": {
|
||||
display: "block"
|
||||
},
|
||||
|
||||
".MathJax_mmlExBox": {
|
||||
display:"block", overflow:"hidden",
|
||||
height:"1px", width:"60ex",
|
||||
|
@ -149,7 +175,8 @@
|
|||
//
|
||||
// Add the MathJax span
|
||||
//
|
||||
jax = script.MathJax.elementJax; math = jax.root; jax.NativeMML = {};
|
||||
jax = script.MathJax.elementJax; if (!jax) continue;
|
||||
math = jax.root; jax.NativeMML = {};
|
||||
var type = (math.Get("display") === "block" ? "div" : "span");
|
||||
span = HTML.Element(type,{
|
||||
className: "MathJax_MathML", id:jax.inputID+"-Frame"
|
||||
|
@ -170,7 +197,7 @@
|
|||
//
|
||||
for (i = 0; i < m; i++) {
|
||||
script = scripts[i]; if (!script.parentNode) continue;
|
||||
jax = script.MathJax.elementJax;
|
||||
jax = script.MathJax.elementJax; if (!jax) continue;
|
||||
if (!isMSIE) {
|
||||
test = script.previousSibling; span = test.previousSibling;
|
||||
ex = test.firstChild.offsetWidth/60;
|
||||
|
@ -186,7 +213,7 @@
|
|||
//
|
||||
if (!isMSIE) {
|
||||
for (i = 0; i < m; i++) {
|
||||
script = scripts[i]; if (!script.parentNode) continue;
|
||||
script = scripts[i]; if (!script.parentNode || !script.MathJax.elementJax) continue;
|
||||
test = scripts[i].previousSibling;
|
||||
test.parentNode.removeChild(test);
|
||||
}
|
||||
|
@ -233,6 +260,10 @@
|
|||
container.onmousedown = EVENT.Mousedown;
|
||||
container.onclick = EVENT.Click;
|
||||
container.ondblclick = EVENT.DblClick;
|
||||
if (HUB.Browser.noContextMenu) {
|
||||
container.ontouchstart = TOUCH.start;
|
||||
container.ontouchend = TOUCH.end;
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
|
@ -400,7 +431,7 @@
|
|||
value = String(value);
|
||||
if (nMML.NAMEDSPACE[value]) {value = nMML.NAMEDSPACE[value]} // MP doesn't do negative spaces
|
||||
else if (value.match(/^\s*(([-+])?(\d+(\.\d*)?|\.\d+))\s*mu\s*$/))
|
||||
{value = ((1/18)*RegExp.$1).toFixed(3).replace(/\.?0+$/,"")+"em"} // FIXME: should take scriptlevel into account
|
||||
{value = RegExp.$2+((1/18)*RegExp.$3).toFixed(3).replace(/\.?0+$/,"")+"em"} // FIXME: should take scriptlevel into account
|
||||
else if (this.NativeMMLvariants[value]) {value = this.NativeMMLvariants[value]}
|
||||
return value;
|
||||
},
|
||||
|
@ -475,20 +506,22 @@
|
|||
});
|
||||
|
||||
if (HUB.Browser.isFirefox) {
|
||||
MML.mtable.Augment({
|
||||
toNativeMML: function (parent) {
|
||||
//
|
||||
// FF doesn't handle width, so put it in styles instead
|
||||
//
|
||||
if (this.width) {
|
||||
var styles = (this.style||"").replace(/;\s*$/,"").split(";");
|
||||
if (styles[0] === "") {styles.shift()}
|
||||
styles.push("width:"+this.width);
|
||||
this.style = styles.join(";");
|
||||
}
|
||||
this.SUPER(arguments).toNativeMML.call(this,parent);
|
||||
}
|
||||
});
|
||||
if (!HUB.Browser.versionAtLeast("13.0")) {
|
||||
MML.mtable.Augment({
|
||||
toNativeMML: function (parent) {
|
||||
//
|
||||
// Firefox < 13 doesn't handle width, so put it in styles instead
|
||||
//
|
||||
if (this.width) {
|
||||
var styles = (this.style||"").replace(/;\s*$/,"").split(";");
|
||||
if (styles[0] === "") {styles.shift()}
|
||||
styles.push("width:"+this.width);
|
||||
this.style = styles.join(";");
|
||||
}
|
||||
this.SUPER(arguments).toNativeMML.call(this,parent);
|
||||
}
|
||||
});
|
||||
}
|
||||
if (!HUB.Browser.versionAtLeast("9.0")) {
|
||||
MML.mlabeledtr.Augment({
|
||||
toNativeMML: function (parent) {
|
||||
|
|
|
@ -22,13 +22,14 @@
|
|||
*/
|
||||
|
||||
MathJax.Hub.Register.StartupHook("SVG Jax Ready",function () {
|
||||
var VERSION = "2.0";
|
||||
var VERSION = "2.0.2";
|
||||
var MML = MathJax.ElementJax.mml,
|
||||
SVG = MathJax.OutputJax.SVG;
|
||||
|
||||
MML.mmultiscripts.Augment({
|
||||
toSVG: function (HW,D) {
|
||||
var svg = this.SVG(); this.SVGhandleSpace();
|
||||
this.SVGgetStyles();
|
||||
var svg = this.SVG(); this.SVGhandleSpace(svg);
|
||||
var scale = this.SVGgetScale();
|
||||
var base = (this.data[this.base] ? this.SVGdataStretched(this.base,HW,D) : SVG.BBOX.G().Clean());
|
||||
var x_height = SVG.TeX.x_height * scale,
|
||||
|
|
|
@ -22,12 +22,13 @@
|
|||
*/
|
||||
|
||||
MathJax.Hub.Register.StartupHook("SVG Jax Ready",function () {
|
||||
var VERSION = "2.0";
|
||||
var VERSION = "2.0.1";
|
||||
var MML = MathJax.ElementJax.mml,
|
||||
SVG = MathJax.OutputJax.SVG;
|
||||
|
||||
MML.ms.Augment({
|
||||
toSVG: function () {
|
||||
this.SVGgetStyles();
|
||||
var svg = this.SVG(); this.SVGhandleSpace(svg);
|
||||
var values = this.getValues("lquote","rquote");
|
||||
var variant = this.SVGgetVariant(), scale = this.SVGgetScale();
|
||||
|
|
|
@ -22,13 +22,14 @@
|
|||
*/
|
||||
|
||||
MathJax.Hub.Register.StartupHook("SVG Jax Ready",function () {
|
||||
var VERSION = "2.0";
|
||||
var VERSION = "2.0.2";
|
||||
var MML = MathJax.ElementJax.mml,
|
||||
SVG = MathJax.OutputJax.SVG,
|
||||
BBOX = SVG.BBOX;
|
||||
|
||||
MML.mtable.Augment({
|
||||
toSVG: function (span) {
|
||||
this.SVGgetStyles();
|
||||
var svg = this.SVG();
|
||||
if (this.data.length === 0) {return svg}
|
||||
var values = this.getValues("columnalign","rowalign","columnspacing","rowspacing",
|
||||
|
@ -41,8 +42,8 @@ MathJax.Hub.Register.StartupHook("SVG Jax Ready",function () {
|
|||
var scale = this.SVGgetScale(), mu = this.SVGgetMu(svg);
|
||||
var LABEL = -1;
|
||||
|
||||
var H = [], D = [], W = [], A = [], C = [], i, j, J = -1, m, M, s, row;
|
||||
var LHD = SVG.FONTDATA.baselineskip * scale * values.useHeight,
|
||||
var H = [], D = [], W = [], A = [], C = [], i, j, J = -1, m, M, s, row, cell, mo;
|
||||
var LHD = SVG.FONTDATA.baselineskip * scale * values.useHeight, HD,
|
||||
LH = SVG.FONTDATA.lineH * scale, LD = SVG.FONTDATA.lineD * scale;
|
||||
|
||||
//
|
||||
|
@ -57,8 +58,26 @@ MathJax.Hub.Register.StartupHook("SVG Jax Ready",function () {
|
|||
C[j] = BBOX.G();
|
||||
W[j] = -SVG.BIGDIMEN;
|
||||
}
|
||||
A[i][j] = row.data[j-s].toSVG();
|
||||
cell = row.data[j-s];
|
||||
A[i][j] = cell.toSVG();
|
||||
// if (row.data[j-s].isMultiline) {A[i][j].style.width = "100%"}
|
||||
if (cell.isEmbellished()) {
|
||||
mo = cell.CoreMO();
|
||||
var min = mo.Get("minsize",true);
|
||||
if (min) {
|
||||
if (mo.SVGcanStretch("Vertical")) {
|
||||
HD = mo.SVGdata.h + mo.SVGdata.d;
|
||||
if (HD) {
|
||||
min = SVG.length2em(min,mu,HD);
|
||||
if (min*mo.SVGdata.h/HD > H[j]) {H[j] = min*mo.SVGdata.h/HD}
|
||||
if (min*mo.SVGdata.d/HD > D[j]) {D[j] = min*mo.SVGdata.d/HD}
|
||||
}
|
||||
} else if (mo.SVGcanStretch("Horizontal")) {
|
||||
min = SVG.length2em(min,mu,mo.SVGdata.w);
|
||||
if (min > W[j]) {W[j] = min}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (A[i][j].h > H[i]) {H[i] = A[i][j].h}
|
||||
if (A[i][j].d > D[i]) {D[i] = A[i][j].d}
|
||||
if (A[i][j].w > W[j]) {W[j] = A[i][j].w}
|
||||
|
@ -118,7 +137,7 @@ MathJax.Hub.Register.StartupHook("SVG Jax Ready",function () {
|
|||
//
|
||||
// Determine array total height
|
||||
//
|
||||
var HD = H[0] + D[A.length-1];
|
||||
HD = H[0] + D[A.length-1];
|
||||
for (i = 0, m = A.length-1; i < m; i++)
|
||||
{HD += Math.max((H[i]+D[i] ? LHD : 0),D[i]+H[i+1]+RSPACE[i])}
|
||||
//
|
||||
|
@ -229,11 +248,11 @@ MathJax.Hub.Register.StartupHook("SVG Jax Ready",function () {
|
|||
for (i = 0, m = A.length; i < m; i++) {
|
||||
if (A[i][j]) {
|
||||
s = (this.data[i].type === "mlabeledtr" ? LABEL : 0);
|
||||
var cell = this.data[i].data[j-s];
|
||||
cell = this.data[i].data[j-s];
|
||||
if (cell.SVGcanStretch("Horizontal")) {
|
||||
A[i][j] = cell.SVGstretchH(W[j]);
|
||||
} else if (cell.SVGcanStretch("Vertical")) {
|
||||
var mo = cell.CoreMO();
|
||||
mo = cell.CoreMO();
|
||||
var symmetric = mo.symmetric; mo.symmetric = false;
|
||||
A[i][j] = cell.SVGstretchV(H[i],D[i]);
|
||||
mo.symmetric = symmetric;
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
*/
|
||||
|
||||
MathJax.Hub.Register.StartupHook("SVG Jax Ready",function () {
|
||||
var VERSION = "2.0.1";
|
||||
var VERSION = "2.0.2";
|
||||
var MML = MathJax.ElementJax.mml,
|
||||
SVG = MathJax.OutputJax.SVG,
|
||||
BBOX = SVG.BBOX;
|
||||
|
@ -149,10 +149,9 @@ MathJax.Hub.Register.StartupHook("SVG Jax Ready",function () {
|
|||
// Get the current breakpoint position and other data
|
||||
//
|
||||
var index = info.index.slice(0), i = info.index.shift(),
|
||||
m = this.data.length, W, scanW = info.W,
|
||||
broken = (info.index.length > 0), better = false;
|
||||
if (i == null) {i = -1}; if (!broken) {i++; info.W += info.w};
|
||||
info.w = 0; info.nest++; info.scanW = scanW;
|
||||
m = this.data.length, W, w, scanW, broken = (info.index.length > 0), better = false;
|
||||
if (i == null) {i = -1}; if (!broken) {i++; info.W += info.w; info.w = 0}
|
||||
scanW = info.scanW = info.W; info.nest++;
|
||||
//
|
||||
// Look through the line for breakpoints,
|
||||
// (as long as we are not too far past the breaking width)
|
||||
|
@ -160,14 +159,10 @@ MathJax.Hub.Register.StartupHook("SVG Jax Ready",function () {
|
|||
while (i < m && info.scanW < 1.33*SVG.linebreakWidth) {
|
||||
if (this.data[i]) {
|
||||
if (this.data[i].SVGbetterBreak(info,state)) {
|
||||
better = true; index = [i].concat(info.index); W = info.W;
|
||||
better = true; index = [i].concat(info.index); W = info.W; w = info.w;
|
||||
if (info.penalty === PENALTY.newline) {info.index = index; info.nest--; return true}
|
||||
}
|
||||
if (!broken) {
|
||||
var svg = this.data[i].SVGdata;
|
||||
scanW += svg.w + svg.x; if (svg.X) {scanW += svg.X}
|
||||
info.W = info.scanW = scanW;
|
||||
}
|
||||
if (!broken) {scanW = this.SVGaddWidth(i,info,scanW)}
|
||||
}
|
||||
info.index = []; i++; broken = false;
|
||||
}
|
||||
|
@ -175,6 +170,12 @@ MathJax.Hub.Register.StartupHook("SVG Jax Ready",function () {
|
|||
if (better) {info.W = W}
|
||||
return better;
|
||||
},
|
||||
SVGaddWidth: function (i,info,scanW) {
|
||||
var svg = this.data[i].SVGdata;
|
||||
scanW += svg.w + svg.x; if (svg.X) {scanW += svg.X}
|
||||
info.W = info.scanW = scanW; info.w = 0;
|
||||
return scanW;
|
||||
},
|
||||
|
||||
/****************************************************************/
|
||||
//
|
||||
|
@ -303,8 +304,8 @@ MathJax.Hub.Register.StartupHook("SVG Jax Ready",function () {
|
|||
|
||||
/****************************************************************/
|
||||
//
|
||||
// Move an element from its original span to its new location in
|
||||
// a split element or the new line's span
|
||||
// Move an element from its original position to its new location in
|
||||
// a split element or the new line's position
|
||||
//
|
||||
SVGmove: function (line,state,values) {
|
||||
// FIXME: handle linebreakstyle === "duplicate"
|
||||
|
@ -327,6 +328,87 @@ MathJax.Hub.Register.StartupHook("SVG Jax Ready",function () {
|
|||
|
||||
/**************************************************************************/
|
||||
|
||||
MML.mfenced.Augment({
|
||||
SVGbetterBreak: function (info,state) {
|
||||
//
|
||||
// Get the current breakpoint position and other data
|
||||
//
|
||||
var index = info.index.slice(0), i = info.index.shift(),
|
||||
m = this.data.length, W, w, scanW, broken = (info.index.length > 0), better = false;
|
||||
if (i == null) {i = -1}; if (!broken) {i++; info.W += info.w; info.w = 0}
|
||||
scanW = info.scanW = info.W; info.nest++;
|
||||
//
|
||||
// Create indices that include the delimiters and separators
|
||||
//
|
||||
if (!this.dataI) {
|
||||
this.dataI = [];
|
||||
if (this.data.open) {this.dataI.push("open")}
|
||||
if (m) {this.dataI.push(0)}
|
||||
for (var j = 1; j < m; j++) {
|
||||
if (this.data["sep"+j]) {this.dataI.push("sep"+j)}
|
||||
this.dataI.push(j);
|
||||
}
|
||||
if (this.data.close) {this.dataI.push("close")}
|
||||
}
|
||||
m = this.dataI.length;
|
||||
//
|
||||
// Look through the line for breakpoints, including the open, close, and separators
|
||||
// (as long as we are not too far past the breaking width)
|
||||
//
|
||||
while (i < m && info.scanW < 1.33*SVG.linebreakWidth) {
|
||||
var k = this.dataI[i];
|
||||
if (this.data[k]) {
|
||||
if (this.data[k].SVGbetterBreak(info,state)) {
|
||||
better = true; index = [i].concat(info.index); W = info.W; w = info.w;
|
||||
if (info.penalty === PENALTY.newline) {info.index = index; info.nest--; return true}
|
||||
}
|
||||
if (!broken) {scanW = this.SVGaddWidth(k,info,scanW)}
|
||||
}
|
||||
info.index = []; i++; broken = false;
|
||||
}
|
||||
info.nest--; info.index = index;
|
||||
if (better) {info.W = W; info.w = w}
|
||||
return better;
|
||||
},
|
||||
|
||||
SVGmoveLine: function (start,end,svg,state,values) {
|
||||
var i = start[0], j = end[0];
|
||||
if (i == null) {i = -1}; if (j == null) {j = this.dataI.length-1}
|
||||
if (i === j && start.length > 1) {
|
||||
//
|
||||
// If starting and ending in the same element move the subpiece to the new line
|
||||
// Add the closing fence, if present
|
||||
//
|
||||
this.data[this.dataI[i]].SVGmoveSlice(start.slice(1),end.slice(1),svg,state,values,"paddingLeft");
|
||||
} else {
|
||||
//
|
||||
// Otherwise, move the remainder of the initial item
|
||||
// and any others (including open and separators) up to the last one
|
||||
//
|
||||
var last = state.last; state.last = false; var k = this.dataI[i];
|
||||
while (i < j) {
|
||||
if (this.data[k]) {
|
||||
if (start.length <= 1) {this.data[k].SVGmove(svg,state,values)}
|
||||
else {this.data[k].SVGmoveSlice(start.slice(1),[],svg,state,values,"paddingLeft")}
|
||||
}
|
||||
i++; k = this.dataI[i]; state.first = false; start = [];
|
||||
}
|
||||
//
|
||||
// If the last item is complete, move it and the closing fence,
|
||||
// otherwise move the first part of it up to the split
|
||||
//
|
||||
state.last = last;
|
||||
if (this.data[k]) {
|
||||
if (end.length <= 1) {this.data[k].SVGmove(svg,state,values)}
|
||||
else {this.data[k].SVGmoveSlice([],end.slice(1),svg,state,values,"paddingRight")}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
/**************************************************************************/
|
||||
|
||||
MML.mo.Augment({
|
||||
//
|
||||
// Override the method for checking line breaks to properly handle <mo>
|
||||
|
@ -402,7 +484,6 @@ MathJax.Hub.Register.StartupHook("SVG Jax Ready",function () {
|
|||
// Get the default penalty for this location
|
||||
//
|
||||
var W = info.scanW, svg = this.SVGdata, w = svg.w + svg.x;
|
||||
if (values.linebreakstyle === MML.LINEBREAKSTYLE.AFTER) {W += w; w = 0}
|
||||
if (W - info.shift === 0) {return false} // don't break at zero width (FIXME?)
|
||||
var offset = SVG.linebreakWidth - W;
|
||||
//
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
|
||||
MathJax.OutputJax.SVG = MathJax.OutputJax({
|
||||
id: "SVG",
|
||||
version: "2.0",
|
||||
version: "2.0.8",
|
||||
directory: MathJax.OutputJax.directory + "/SVG",
|
||||
extensionDir: MathJax.OutputJax.extensionDir + "/SVG",
|
||||
autoloadDir: MathJax.OutputJax.directory + "/SVG/autoload",
|
||||
|
|
|
@ -22,6 +22,7 @@
|
|||
*/
|
||||
|
||||
(function (SVG) {
|
||||
var VERSION = "2.0.1";
|
||||
|
||||
var DELIMITERS = SVG.FONTDATA.DELIMITERS;
|
||||
|
||||
|
@ -48,12 +49,12 @@
|
|||
0x21A4: // left arrow from bar
|
||||
{
|
||||
dir: H, HW: [],
|
||||
stretch: {left:[0x2190,MAIN], rep:[0x2212,MAIN], right:[0x2223,SIZE1,0,-.05,.9]}
|
||||
stretch: {min:1, left:[0x2190,MAIN], rep:[0x2212,MAIN], right:[0x2223,SIZE1,0,-.05,.9]}
|
||||
},
|
||||
0x21A5: // up arrow from bar
|
||||
{
|
||||
dir: V, HW: [],
|
||||
stretch: {bot:[0x22A5,BOLD,0,0,.75], ext:[0x23D0,SIZE1], top:[0x2191,SIZE1]}
|
||||
stretch: {min:.6, bot:[0x22A5,BOLD,0,0,.75], ext:[0x23D0,SIZE1], top:[0x2191,SIZE1]}
|
||||
},
|
||||
0x21A6: // right arrow from bar
|
||||
{
|
||||
|
@ -63,7 +64,7 @@
|
|||
0x21A7: // down arrow from bar
|
||||
{
|
||||
dir: V, HW: [],
|
||||
stretch: {top:[0x22A4,BOLD,0,0,.75], ext:[0x23D0,SIZE1], bot:[0x2193,SIZE1]}
|
||||
stretch: {min:.6, top:[0x22A4,BOLD,0,0,.75], ext:[0x23D0,SIZE1], bot:[0x2193,SIZE1]}
|
||||
},
|
||||
0x21B0: // up arrow with top leftwards
|
||||
{
|
||||
|
@ -128,12 +129,12 @@
|
|||
0x23B4: // top square bracket
|
||||
{
|
||||
dir: H, HW: [],
|
||||
stretch: {left:[0x250C,AMS,0,-.1], rep:[0x2212,MAIN,0,.325], right:[0x2510,AMS,0,-.1]}
|
||||
stretch: {min:.5, left:[0x250C,AMS,0,-.1], rep:[0x2212,MAIN,0,.325], right:[0x2510,AMS,0,-.1]}
|
||||
},
|
||||
0x23B5: // bottom square bracket
|
||||
{
|
||||
dir: H, HW: [],
|
||||
stretch: {left:[0x2514,AMS,0,.26], rep:[0x2212,MAIN,0,0,0,.25], right:[0x2518,AMS,0,.26]}
|
||||
stretch: {min:.5, left:[0x2514,AMS,0,.26], rep:[0x2212,MAIN,0,0,0,.25], right:[0x2518,AMS,0,.26]}
|
||||
},
|
||||
0x23DC: // top paren
|
||||
{
|
||||
|
@ -148,82 +149,82 @@
|
|||
0x23E0: // top tortoise shell
|
||||
{
|
||||
dir: H, HW: [],
|
||||
stretch: {left:[0x2CA,MAIN,-.1], rep:[0x2C9,MAIN,0,.13], right:[0x2CB,MAIN], fullExtenders:true}
|
||||
stretch: {min:1.25, left:[0x2CA,MAIN,-.1], rep:[0x2C9,MAIN,-.05,.13], right:[0x2CB,MAIN], fullExtenders:true}
|
||||
},
|
||||
0x23E1: // bottom tortoise shell
|
||||
{
|
||||
dir: H, HW: [],
|
||||
stretch: {left:[0x2CB,MAIN,-.1,.1], rep:[0x2C9,MAIN], right:[0x2CA,MAIN,-.1,.1], fullExtenders:true}
|
||||
stretch: {min:1.5, left:[0x2CB,MAIN,-.1,.1], rep:[0x2C9,MAIN,-.1], right:[0x2CA,MAIN,-.1,.1], fullExtenders:true}
|
||||
},
|
||||
0x2906: // leftwards double arrow from bar
|
||||
{
|
||||
dir: H, HW: [],
|
||||
stretch: {left:[0x21D0,MAIN], rep:[0x3D,MAIN], right:[0x2223,SIZE1,0,-.1]}
|
||||
stretch: {min:1, left:[0x21D0,MAIN], rep:[0x3D,MAIN], right:[0x2223,SIZE1,0,-.1]}
|
||||
},
|
||||
0x2907: // rightwards double arrow from bar
|
||||
{
|
||||
dir: H, HW: [],
|
||||
stretch: {left:[0x22A8,AMS,0,-.12], rep:[0x3D,MAIN], right:[0x21D2,MAIN]}
|
||||
stretch: {min:.7, left:[0x22A8,AMS,0,-.12], rep:[0x3D,MAIN], right:[0x21D2,MAIN]}
|
||||
},
|
||||
0x294E: // left barb up right barb up harpoon
|
||||
{
|
||||
dir: H, HW: [],
|
||||
stretch: {left:[0x21BC,MAIN], rep:[0x2212,MAIN], right:[0x21C0,MAIN]}
|
||||
stretch: {min:.5, left:[0x21BC,MAIN], rep:[0x2212,MAIN], right:[0x21C0,MAIN]}
|
||||
},
|
||||
0x294F: // up barb right down barb right harpoon
|
||||
{
|
||||
dir: V, HW: [],
|
||||
stretch: {top:[0x21BE,AMS,.12,0,1.1], ext:[0x23D0,SIZE1], bot:[0x21C2,AMS,.12,0,1.1]}
|
||||
stretch: {min:.5, top:[0x21BE,AMS,.12,0,1.1], ext:[0x23D0,SIZE1], bot:[0x21C2,AMS,.12,0,1.1]}
|
||||
},
|
||||
0x2950: // left barb dow right barb down harpoon
|
||||
{
|
||||
dir: H, HW: [],
|
||||
stretch: {left:[0x21BD,MAIN], rep:[0x2212,MAIN], right:[0x21C1,MAIN]}
|
||||
stretch: {min:.5, left:[0x21BD,MAIN], rep:[0x2212,MAIN], right:[0x21C1,MAIN]}
|
||||
},
|
||||
0x2951: // up barb left down barb left harpoon
|
||||
{
|
||||
dir: V, HW: [],
|
||||
stretch: {top:[0x21BF,AMS,.12,0,1.1], ext:[0x23D0,SIZE1], bot:[0x21C3,AMS,.12,0,1.1]}
|
||||
stretch: {min:.5, top:[0x21BF,AMS,.12,0,1.1], ext:[0x23D0,SIZE1], bot:[0x21C3,AMS,.12,0,1.1]}
|
||||
},
|
||||
0x295A: // leftwards harpoon with barb up from bar
|
||||
{
|
||||
dir: H, HW: [],
|
||||
stretch: {left:[0x21BC,MAIN], rep:[0x2212,MAIN], right:[0x2223,SIZE1,0,-.05,.9]}
|
||||
stretch: {min:1, left:[0x21BC,MAIN], rep:[0x2212,MAIN], right:[0x2223,SIZE1,0,-.05,.9]}
|
||||
},
|
||||
0x295B: // rightwards harpoon with barb up from bar
|
||||
{
|
||||
dir: H, HW: [],
|
||||
stretch: {left:[0x2223,SIZE1,-.09,-.05,.9], rep:[0x2212,MAIN], right:[0x21C0,MAIN]}
|
||||
stretch: {min:1, left:[0x2223,SIZE1,-.05,-.05,.9], rep:[0x2212,MAIN], right:[0x21C0,MAIN]}
|
||||
},
|
||||
0x295C: // up harpoon with barb right from bar
|
||||
{
|
||||
dir: V, HW: [],
|
||||
stretch: {bot:[0x22A5,BOLD,0,0,.75], ext:[0x23D0,SIZE1], top:[0x21BE,AMS,.12,0,1.1]}
|
||||
stretch: {min:.7, bot:[0x22A5,BOLD,0,0,.75], ext:[0x23D0,SIZE1], top:[0x21BE,AMS,.12,0,1.1]}
|
||||
},
|
||||
0x295D: // down harpoon with barb right from bar
|
||||
{
|
||||
dir: V, HW: [],
|
||||
stretch: {top:[0x22A4,BOLD,0,0,.75], ext:[0x23D0,SIZE1], bot:[0x21C2,AMS,.12,0,1.1]}
|
||||
stretch: {min:.7, top:[0x22A4,BOLD,0,0,.75], ext:[0x23D0,SIZE1], bot:[0x21C2,AMS,.12,0,1.1]}
|
||||
},
|
||||
0x295E: // leftwards harpoon with barb down from bar
|
||||
{
|
||||
dir: H, HW: [],
|
||||
stretch: {left:[0x21BD,MAIN], rep:[0x2212,MAIN], right:[0x2223,SIZE1,0,-.05,.9]}
|
||||
stretch: {min:1, left:[0x21BD,MAIN], rep:[0x2212,MAIN], right:[0x2223,SIZE1,0,-.05,.9]}
|
||||
},
|
||||
0x295F: // rightwards harpoon with barb down from bar
|
||||
{
|
||||
dir: H, HW: [],
|
||||
stretch: {left:[0x2223,SIZE1,-.09,-.05,.9], rep:[0x2212,MAIN], right:[0x21C1,MAIN]}
|
||||
stretch: {min:1, left:[0x2223,SIZE1,-.05,-.05,.9], rep:[0x2212,MAIN], right:[0x21C1,MAIN]}
|
||||
},
|
||||
0x2960: // up harpoon with barb left from bar
|
||||
{
|
||||
dir: V, HW: [],
|
||||
stretch: {bot:[0x22A5,BOLD,0,0,.75], ext:[0x23D0,SIZE1], top:[0x21BF,AMS,.12,0,1.1]}
|
||||
stretch: {min:.7, bot:[0x22A5,BOLD,0,0,.75], ext:[0x23D0,SIZE1], top:[0x21BF,AMS,.12,0,1.1]}
|
||||
},
|
||||
0x2961: // down harpoon with barb left from bar
|
||||
{
|
||||
dir: V, HW: [],
|
||||
stretch: {top:[0x22A4,BOLD,0,0,.75], ext:[0x23D0,SIZE1], bot:[0x21C3,AMS,.12,0,1.1]}
|
||||
stretch: {min:.7, top:[0x22A4,BOLD,0,0,.75], ext:[0x23D0,SIZE1], bot:[0x21C3,AMS,.12,0,1.1]}
|
||||
}
|
||||
};
|
||||
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
*/
|
||||
|
||||
(function (SVG,MML,AJAX) {
|
||||
var VERSION = "2.0";
|
||||
var VERSION = "2.0.3";
|
||||
|
||||
var MAIN = "MathJax_Main",
|
||||
BOLD = "MathJax_Main-bold",
|
||||
|
@ -69,12 +69,18 @@
|
|||
offsetG: 0x03B1, variantG: "italic",
|
||||
remap: {0x391:0x41, 0x392:0x42, 0x395:0x45, 0x396:0x5A, 0x397:0x48,
|
||||
0x399:0x49, 0x39A:0x4B, 0x39C:0x4D, 0x39D:0x4E, 0x39F:0x4F,
|
||||
0x3A1:0x50, 0x3A4:0x54, 0x3A7:0x58, 0x29F8:[0x002F,"italic"]}},
|
||||
0x3A1:0x50, 0x3A4:0x54, 0x3A7:0x58,
|
||||
0x2216:[0x2216,"-TeX-variant"], // \smallsetminus
|
||||
0x210F:[0x210F,"-TeX-variant"], // \hbar
|
||||
0x2032:[0x27,"sans-serif-italic"], // HACK: a smaller prime
|
||||
0x29F8:[0x002F,MML.VARIANT.ITALIC]}},
|
||||
"bold": {fonts:[BOLD,SIZE1,AMS], bold:true,
|
||||
offsetG: 0x03B1, variantG: "bold-italic",
|
||||
remap: {0x391:0x41, 0x392:0x42, 0x395:0x45, 0x396:0x5A, 0x397:0x48,
|
||||
0x399:0x49, 0x39A:0x4B, 0x39C:0x4D, 0x39D:0x4E, 0x39F:0x4F,
|
||||
0x3A1:0x50, 0x3A4:0x54, 0x3A7:0x58, 0x29F8:[0x002F,"bold-italic"],
|
||||
0x219A:"\u2190\u0338", 0x219B:"\u2192\u0338", 0x21AE:"\u2194\u0338",
|
||||
0x21CD:"\u21D0\u0338", 0x21CE:"\u21D4\u0338", 0x21CF:"\u21D2\u0338",
|
||||
0x2204:"\u2203\u0338", 0x2224:"\u2223\u0338", 0x2226:"\u2225\u0338",
|
||||
0x2241:"\u223C\u0338", 0x2247:"\u2245\u0338",
|
||||
0x226E:"<\u0338", 0x226F:">\u0338",
|
||||
|
@ -111,6 +117,15 @@
|
|||
remap: {0x391:0x41, 0x392:0x42, 0x395:0x45, 0x396:0x5A, 0x397:0x48,
|
||||
0x399:0x49, 0x39A:0x4B, 0x39C:0x4D, 0x39D:0x4E, 0x39F:0x4F,
|
||||
0x3A1:0x50, 0x3A4:0x54, 0x3A7:0x58}},
|
||||
"-TeX-variant": {fonts:[AMS,MAIN,SIZE1], // HACK: to get larger prime for \prime
|
||||
remap: {
|
||||
0x2268: 0xE00C, 0x2269: 0xE00D, 0x2270: 0xE011, 0x2271: 0xE00E,
|
||||
0x2A87: 0xE010, 0x2A88: 0xE00F, 0x2224: 0xE006, 0x2226: 0xE007,
|
||||
0x2288: 0xE016, 0x2289: 0xE018, 0x228A: 0xE01A, 0x228B: 0xE01B,
|
||||
0x2ACB: 0xE017, 0x2ACC: 0xE019, 0x03DC: 0xE008, 0x03F0: 0xE009,
|
||||
0x2216:[0x2216,MML.VARIANT.NORMAL], // \setminus
|
||||
0x210F:[0x210F,MML.VARIANT.NORMAL] // \hslash
|
||||
}},
|
||||
"-largeOp": {fonts:[SIZE2,SIZE1,MAIN]},
|
||||
"-smallOp": {fonts:[SIZE1,MAIN]}
|
||||
},
|
||||
|
@ -140,13 +155,16 @@
|
|||
0x2022: 0x2219, 0x2044: 0x2F, // bullet, fraction slash
|
||||
0x2305: 0x22BC, 0x2306: 0x2A5E, // barwedge, doublebarwedge
|
||||
0x25AA: 0x25A0, 0x25B4: 0x25B2, // blacksquare, blacktriangle
|
||||
0x25B5: 0x25B3, 0x25BE: 0x25BC, // triangle, blacktriangledown
|
||||
0x25BF: 0x25BD, 0x25C2: 0x25C0, // triangledown, blacktriangleleft
|
||||
0x25B5: 0x25B3, 0x25B8: 0x25B6, // triangle, blacktriangleright
|
||||
0x25BE: 0x25BC, 0x25BF: 0x25BD, // blacktriangledown, triangledown
|
||||
0x25C2: 0x25C0, // blacktriangleleft
|
||||
0x2329: 0x27E8, 0x232A: 0x27E9, // langle, rangle
|
||||
0x3008: 0x27E8, 0x3009: 0x27E9, // langle, rangle
|
||||
0x2758: 0x2223, // VerticalSeparator
|
||||
0x2A2F: 0xD7, // cross product
|
||||
|
||||
0x25FB: 0x25A1, 0x25FC: 0x25A0, // square, blacksquare
|
||||
|
||||
//
|
||||
// Letter-like symbols (that appear elsewhere)
|
||||
//
|
||||
|
@ -185,9 +203,10 @@
|
|||
//
|
||||
0x2204: "\u2203\u0338", // \not\exists
|
||||
0x220C: "\u220B\u0338", // \not\ni
|
||||
0x2244: "\u2243\u0338", // \not\cong
|
||||
0x2244: "\u2243\u0338", // \not\simeq
|
||||
0x2249: "\u2248\u0338", // \not\approx
|
||||
0x2262: "\u2261\u0338", // \not\equiv
|
||||
0x226D: "\u224D\u0338", // \not\asymp
|
||||
0x2274: "\u2272\u0338", // \not\lesssim
|
||||
0x2275: "\u2273\u0338", // \not\gtrsim
|
||||
0x2278: "\u2276\u0338", // \not\lessgtr
|
||||
|
@ -197,15 +216,21 @@
|
|||
0x22E2: "\u2291\u0338", // \not\sqsubseteq
|
||||
0x22E3: "\u2292\u0338", // \not\sqsupseteq
|
||||
|
||||
0x2A0C: "\u222C\u222C", // quadruple integral
|
||||
|
||||
0x2033: "\u2032\u2032", // double prime
|
||||
0x2034: "\u2032\u2032\u2032", // triple prime
|
||||
0x2036: "\u2035\u2035", // double back prime
|
||||
0x2037: "\u2035\u2035\u2035", // trile back prime
|
||||
0x2057: "\u2032\u2032\u2032\u2032" // quadruple prime
|
||||
0x2057: "\u2032\u2032\u2032\u2032", // quadruple prime
|
||||
0x20DB: "...", // combining three dots above (only works with mover/under)
|
||||
0x20DC: "...." // combining four dots above (only works with mover/under)
|
||||
},
|
||||
|
||||
REMAPACCENT: {
|
||||
"\u2192":"\u20D7"
|
||||
"\u2192":"\u20D7",
|
||||
"\u2032":"'",
|
||||
"\u2035":"`"
|
||||
},
|
||||
REMAPACCENTUNDER: {
|
||||
},
|
||||
|
@ -444,12 +469,12 @@
|
|||
0x23DE: // horizontal brace down
|
||||
{
|
||||
dir: H, HW: [],
|
||||
stretch: {left:[0xE150,SIZE4], mid:[[0xE153,0xE152],SIZE4], right:[0xE151,SIZE4], rep:[0xE154,SIZE4]}
|
||||
stretch: {min:.9, left:[0xE150,SIZE4], mid:[[0xE153,0xE152],SIZE4], right:[0xE151,SIZE4], rep:[0xE154,SIZE4]}
|
||||
},
|
||||
0x23DF: // horizontal brace up
|
||||
{
|
||||
dir: H, HW: [],
|
||||
stretch: {left:[0xE152,SIZE4], mid:[[0xE151,0xE150],SIZE4], right:[0xE153,SIZE4], rep:[0xE154,SIZE4]}
|
||||
stretch: {min:.9, left:[0xE152,SIZE4], mid:[[0xE151,0xE150],SIZE4], right:[0xE153,SIZE4], rep:[0xE154,SIZE4]}
|
||||
},
|
||||
0x27E8: // \langle
|
||||
{
|
||||
|
@ -546,13 +571,6 @@
|
|||
});
|
||||
|
||||
|
||||
MathJax.Hub.Register.StartupHook("TeX Jax Ready", function () {
|
||||
var TEX = MathJax.InputJax.TeX;
|
||||
TEX.Definitions.mathchar0mi.ell = ['2113',{mathvariant: MML.VARIANT.NORMAL}];
|
||||
TEX.Definitions.mathchar0mi.hbar = ['210F',{mathvariant: MML.VARIANT.NORMAL}];
|
||||
TEX.Definitions.mathchar0mi.S = ['00A7',{mathvariant: MML.VARIANT.SCRIPT}];
|
||||
});
|
||||
|
||||
SVG.FONTDATA.FONTS['MathJax_Main'] = {
|
||||
directory: 'Main/Regular',
|
||||
family: 'MathJax_Main',
|
||||
|
|
|
@ -170,16 +170,16 @@
|
|||
// Remove any existing output
|
||||
//
|
||||
prev = script.previousSibling;
|
||||
if (prev && String(prev.className).match(/^MathJax(_SVG)?(_Display)?$/))
|
||||
if (prev && String(prev.className).match(/^MathJax(_SVG)?(_Display)?( MathJax(_SVG)?_Processing)?$/))
|
||||
{prev.parentNode.removeChild(prev)}
|
||||
//
|
||||
// Add the span, and a div if in display mode,
|
||||
// then set the role and mark it as being processed
|
||||
//
|
||||
jax = script.MathJax.elementJax;
|
||||
jax = script.MathJax.elementJax; if (!jax) continue;
|
||||
jax.SVG = {display: (jax.root.Get("display") === "block")}
|
||||
span = div = HTML.Element("span",{
|
||||
style: {"font-size": this.scale+"%", display:"inline-block"},
|
||||
style: {"font-size": this.config.scale+"%", display:"inline-block"},
|
||||
className:"MathJax_SVG", id:jax.inputID+"-Frame", isMathJax:true, jaxID:this.id,
|
||||
oncontextmenu:EVENT.Menu, onmousedown: EVENT.Mousedown,
|
||||
onmouseover:EVENT.Mouseover, onmouseout:EVENT.Mouseout, onmousemove:EVENT.Mousemove,
|
||||
|
@ -213,7 +213,7 @@
|
|||
for (i = 0; i < m; i++) {
|
||||
script = scripts[i]; if (!script.parentNode) continue;
|
||||
test = script.previousSibling; div = test.previousSibling;
|
||||
jax = script.MathJax.elementJax;
|
||||
jax = script.MathJax.elementJax; if (!jax) continue;
|
||||
ex = test.firstChild.offsetHeight/60;
|
||||
cwidth = div.previousSibling.firstChild.offsetWidth;
|
||||
if (relwidth) {maxwidth = cwidth}
|
||||
|
@ -234,8 +234,8 @@
|
|||
//
|
||||
for (i = 0; i < m; i++) {
|
||||
script = scripts[i]; if (!script.parentNode) continue;
|
||||
test = scripts[i].previousSibling; jax = scripts[i].MathJax.elementJax;
|
||||
span = test.previousSibling;
|
||||
test = scripts[i].previousSibling; span = test.previousSibling;
|
||||
jax = scripts[i].MathJax.elementJax; if (!jax) continue;
|
||||
if (!jax.SVG.isHidden) {span = span.previousSibling}
|
||||
span.parentNode.removeChild(span);
|
||||
test.parentNode.removeChild(test);
|
||||
|
@ -243,7 +243,7 @@
|
|||
//
|
||||
// Set state variables used for displaying equations in chunks
|
||||
//
|
||||
state.SVGeqn = state.SVGlast = 0;
|
||||
state.SVGeqn = state.SVGlast = 0; state.SVGi = -1;
|
||||
state.SVGchunk = this.config.EqnChunk;
|
||||
state.SVGdelay = false;
|
||||
},
|
||||
|
@ -302,7 +302,7 @@
|
|||
//
|
||||
// Check if we should show this chunk of equations
|
||||
//
|
||||
state.SVGeqn++;
|
||||
state.SVGeqn += (state.i - state.SVGi); state.SVGi = state.i;
|
||||
if (state.SVGeqn >= state.SVGlast + state.SVGchunk) {
|
||||
this.postTranslate(state);
|
||||
state.SVGchunk = Math.floor(state.SVGchunk*this.config.EqnChunkFactor);
|
||||
|
@ -319,7 +319,7 @@
|
|||
//
|
||||
for (var i = state.SVGlast, m = state.SVGeqn; i < m; i++) {
|
||||
var script = scripts[i];
|
||||
if (script) {
|
||||
if (script && script.MathJax.elementJax) {
|
||||
//
|
||||
// Remove the processed marker
|
||||
//
|
||||
|
@ -534,20 +534,21 @@
|
|||
c = [scale,font.id+"-"+n.toString(16).toUpperCase()].concat(c);
|
||||
svg.Add(BBOX.GLYPH.apply(BBOX,c),svg.w,0);
|
||||
} else if (this.FONTDATA.DELIMITERS[n]) {
|
||||
svg.Add(this.createDelimiter(n,0,1,font),svg.w,0);
|
||||
c = this.createDelimiter(n,0,1,font);
|
||||
svg.Add(c,svg.w,(this.FONTDATA.DELIMITERS[n].dir === "V" ? c.d: 0));
|
||||
} else {
|
||||
if (n <= 0xFFFF) {c = String.fromCharCode(n)} else {
|
||||
N = n - 0x10000;
|
||||
c = String.fromCharCode((N>>10)+0xD800)
|
||||
+ String.fromCharCode((N&0x3FF)+0xDC00);
|
||||
}
|
||||
text = BBOX.TEXT(scale,c,{
|
||||
var box = BBOX.TEXT(scale,c,{
|
||||
"font-family":variant.defaultFamily||SVG.config.undefinedFamily,
|
||||
"font-style":(variant.italic?"italic":""),
|
||||
"font-weight":(variant.bold?"bold":"")
|
||||
})
|
||||
if (variant.h != null) {text.h = variant.h}; if (variant.d != null) {text.d = variant.d}
|
||||
c = BBOX.G(); c.Add(text); svg.Add(c,svg.w,0); text = "";
|
||||
if (variant.h != null) {box.h = variant.h}; if (variant.d != null) {box.d = variant.d}
|
||||
c = BBOX.G(); c.Add(box); svg.Add(c,svg.w,0);
|
||||
HUB.signal.Post(["SVG Jax - unknown char",n,variant]);
|
||||
}
|
||||
}
|
||||
|
@ -631,12 +632,12 @@
|
|||
if (data[0] instanceof Array) {
|
||||
for (var i = 0, m = data[0].length; i < m; i++) {text += String.fromCharCode(data[0][i])}
|
||||
} else {text = String.fromCharCode(data[0])}
|
||||
if (data[4]) {scale = scale*data[4]}
|
||||
var svg = this.HandleVariant(variant,scale,text);
|
||||
if (data[2]) {svg.x = data[2]*1000}
|
||||
if (data[3]) {svg.y = data[3]*1000}
|
||||
if (data[5]) {svg.h += data[5]*1000}
|
||||
if (data[6]) {svg.d += data[6]*1000}
|
||||
// FIXME handle data[4] (scale factor)
|
||||
return svg;
|
||||
},
|
||||
extendDelimiterV: function (svg,H,delim,scale,font) {
|
||||
|
@ -645,6 +646,7 @@
|
|||
var h = top.h + top.d + bot.h + bot.d;
|
||||
var y = -top.h; svg.Add(top,0,y); y -= top.d;
|
||||
if (delim.mid) {var mid = this.createChar(scale,delim.mid,font); h += mid.h + mid.d}
|
||||
if (delim.min && H < h*delim.min) {H = h*delim.min}
|
||||
if (H > h) {
|
||||
var ext = this.createChar(scale,delim.ext,font);
|
||||
var k = (delim.mid ? 2 : 1), eH = (H-h) / k, s = (eH+100) / (ext.h+ext.d);
|
||||
|
@ -668,6 +670,7 @@
|
|||
svg.Add(left,-left.l,0);
|
||||
var w = (left.r - left.l) + (right.r - right.l), x = left.r - left.l;
|
||||
if (delim.mid) {var mid = this.createChar(scale,delim.mid,font); w += mid.w}
|
||||
if (delim.min && W < w*delim.min) {W = w*delim.min}
|
||||
if (W > w) {
|
||||
var rep = this.createChar(scale,delim.rep,font), fuzz = delim.fuzz || 0;
|
||||
var k = (delim.mid ? 2 : 1), rW = (W-w) / k, s = (rW+fuzz) / (rep.r-rep.l);
|
||||
|
@ -677,8 +680,7 @@
|
|||
if (delim.mid && k) {svg.Add(mid,x,0); x += mid.w}
|
||||
}
|
||||
} else if (delim.mid) {
|
||||
var dx = Math.min(w - W,left.w/2);
|
||||
x -= dx/2; svg.Add(mid,x,0); x += mid.w - dx/2;
|
||||
x -= (w - W)/2; svg.Add(mid,x,0); x += mid.w - (w - W)/2;
|
||||
} else {
|
||||
x -= (w - W);
|
||||
}
|
||||
|
@ -835,8 +837,11 @@
|
|||
Stretch: function () {
|
||||
for (var i = 0, m = this.svg.length; i < m; i++)
|
||||
{
|
||||
var svg = this.svg[i];
|
||||
if (svg.mml) {svg = svg.mml.SVGstretchV(this.sh,this.sd)}
|
||||
var svg = this.svg[i], mml = svg.mml;
|
||||
if (mml) {
|
||||
svg = mml.SVGstretchV(this.sh,this.sd);
|
||||
mml.SVGdata.HW = this.sh; mml.SVGdata.D = this.sd;
|
||||
}
|
||||
if (svg.ic) {this.ic = svg.ic} else {delete this.ic}
|
||||
this.Add(svg,this.w,0,true);
|
||||
}
|
||||
|
@ -985,6 +990,7 @@
|
|||
SVGsaveData: function (svg) {
|
||||
if (!this.SVGdata) {this.SVGdata = {}}
|
||||
this.SVGdata.w = svg.w, this.SVGdata.x = svg.x;
|
||||
this.SVGdata.h = svg.h, this.SVGdata.d = svg.d;
|
||||
if (svg.X != null) {this.SVGdata.X = svg.X}
|
||||
if (this["class"]) {svg.removeable = false; SVG.Element(svg.element,{"class":this["class"]})}
|
||||
// FIXME: if an element is split by linebreaking, the ID will be the same on both parts
|
||||
|
@ -1013,8 +1019,8 @@
|
|||
svg.removeable = false;
|
||||
svg.element.setAttribute("className","mjx-svg-"+this.type);
|
||||
}
|
||||
var style = this.Get("style");
|
||||
if (style) {
|
||||
var style = this.style;
|
||||
if (style && svg.element) {
|
||||
svg.element.style.cssText = style;
|
||||
if (svg.element.style.fontSize) {svg.element.style.fontSize = ""} // handled by scale
|
||||
svg.element.style.border = svg.element.style.padding = "";
|
||||
|
@ -1091,7 +1097,7 @@
|
|||
if (values.background !== MML.COLOR.TRANSPARENT) {
|
||||
if (svg.element.nodeName !== "g" && svg.element.nodeName !== "svg") {
|
||||
var g = SVG.Element("g"); g.appendChild(svg.element);
|
||||
svg.element = g; svg.removable = true;
|
||||
svg.element = g; svg.removeable = true;
|
||||
}
|
||||
svg.Add(BBOX.RECT(svg.h,svg.d,svg.w,{fill:values.background,stroke:"none"}),0,0,false,true)
|
||||
}
|
||||
|
@ -1183,7 +1189,7 @@
|
|||
values.scriptminsize = SVG.length2em(this.Get("scriptminsize"))/1000;
|
||||
if (scale < values.scriptminsize) {scale = values.scriptminsize}
|
||||
}
|
||||
scale *= SVG.length2em(values.mathsize)/1000;
|
||||
if (this.isToken) {scale *= SVG.length2em(values.mathsize)/1000}
|
||||
return scale;
|
||||
},
|
||||
SVGgetMu: function (svg) {
|
||||
|
@ -1233,17 +1239,24 @@
|
|||
}
|
||||
});
|
||||
MML.entity.Augment({
|
||||
toSVG: function (variant,scale) {
|
||||
return this.SVGhandleVariant(variant,scale,this.toString().replace(/[\u2061-\u2064]/g,"")); // remove invisibles
|
||||
toSVG: function (variant,scale,remap,chars) {
|
||||
var text = this.toString().replace(/[\u2061-\u2064]/g,""); // remove invisibles
|
||||
if (remap) {text = remap(text,chars)}
|
||||
return this.SVGhandleVariant(variant,scale,text);
|
||||
}
|
||||
});
|
||||
|
||||
MML.mo.Augment({
|
||||
toSVG: function () {
|
||||
toSVG: function (HW,D) {
|
||||
this.SVGgetStyles();
|
||||
var svg = this.svg = this.SVG(); this.SVGhandleSpace(svg);
|
||||
if (this.data.length == 0) {svg.Clean(); this.SVGsaveData(svg); return svg}
|
||||
//
|
||||
// Stretch the operator, if that is requested
|
||||
//
|
||||
if (D != null) {return this.SVGstretchV(HW,D)}
|
||||
else if (HW != null) {return this.SVG.strechH(HW)}
|
||||
//
|
||||
// Get the variant, and check for operator size
|
||||
//
|
||||
var scale = this.SVGgetScale(), variant = this.SVGgetVariant();
|
||||
|
@ -1263,6 +1276,11 @@
|
|||
else if (under && this === under.CoreMO() && parent.Get("accentunder")) {mapchars = SVG.FONTDATA.REMAPACCENTUNDER}
|
||||
}
|
||||
//
|
||||
// Primes must come from another font
|
||||
//
|
||||
if (isScript && this.data.join("").match(/['`"\u00B4\u2032-\u2037\u2057]/))
|
||||
{variant = SVG.FONTDATA.VARIANT["-TeX-variant"]}
|
||||
//
|
||||
// Typeset contents
|
||||
//
|
||||
for (var i = 0, m = this.data.length; i < m; i++) {
|
||||
|
@ -1349,7 +1367,7 @@
|
|||
svg.y = H - svg.h;
|
||||
this.SVGhandleSpace(svg);
|
||||
this.SVGhandleColor(svg);
|
||||
delete this.svg;
|
||||
delete this.svg.element;
|
||||
this.SVGsaveData(svg);
|
||||
return svg;
|
||||
},
|
||||
|
@ -1365,7 +1383,7 @@
|
|||
svg = SVG.createDelimiter(this.data.join("").charCodeAt(0),w,svg.scale,values.mathvariant);
|
||||
this.SVGhandleSpace(svg);
|
||||
this.SVGhandleColor(svg);
|
||||
delete this.svg;
|
||||
delete this.svg.element;
|
||||
this.SVGsaveData(svg);
|
||||
return svg;
|
||||
}
|
||||
|
@ -1386,7 +1404,10 @@
|
|||
return svg;
|
||||
} else if (SVG.config.mtextFontInherit) {
|
||||
svg = this.SVG(); this.SVGhandleSpace(svg);
|
||||
svg.Add(BBOX.TEXT(scale,this.data.join(""))); svg.Clean();
|
||||
var variant = this.SVGgetVariant(), def = {};
|
||||
if (variant.bold) {def["font-weight"] = "bold"}
|
||||
if (variant.italic) {def["font-style"] = "italic"}
|
||||
svg.Add(BBOX.TEXT(scale,this.data.join(""),def)); svg.Clean();
|
||||
this.SVGhandleColor(svg);
|
||||
this.SVGsaveData(svg);
|
||||
return svg;
|
||||
|
@ -1428,8 +1449,8 @@
|
|||
while (svg.element.firstChild) {svg.element.removeChild(svg.element.firstChild)}
|
||||
}
|
||||
this.SVGhandleColor(svg);
|
||||
if (!svg.element.firstChild) {delete svg.element}
|
||||
this.SVGsaveData(svg);
|
||||
if (svg.removeable && !svg.element.firstChild) {delete svg.element}
|
||||
return svg;
|
||||
}
|
||||
});
|
||||
|
|
Loading…
Reference in New Issue
Block a user