Merge pull request #1382 from mathjax/develop
Merge develop into master for 2.6.1 release
This commit is contained in:
commit
d4ab1b35c9
18
.travis.yml
Normal file
18
.travis.yml
Normal file
|
@ -0,0 +1,18 @@
|
|||
language: node_js
|
||||
node_js:
|
||||
- '5'
|
||||
sudo: false
|
||||
script:
|
||||
- npm install
|
||||
- npm test
|
||||
branches:
|
||||
only:
|
||||
- master
|
||||
- /^\d+\.\d+/
|
||||
deploy:
|
||||
provider: npm
|
||||
email: manager@mathjax.org
|
||||
api_key:
|
||||
secure: q7e4haV9hAHng28w6EBnOc6ptorxjxeATW6ZocYiPk68To3IUHMt615rzyotfA5TBCcPJyeUJiqNcuUXbh+r8HmER4bJsjaGMpETPSkdvzQ1bYg2EJEvT6V/xc+sRGoj5ri/F2uH99AYnF99IugjeWvjpp5F5z370fJIMiUmXX8=
|
||||
on:
|
||||
tags: true
|
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
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
File diff suppressed because one or more lines are too long
|
@ -240,12 +240,18 @@ MathJax.Hub.Config({
|
|||
ALT: false, // require Alt or Option?
|
||||
CMD: false, // require CMD?
|
||||
Shift: false, // require Shift?
|
||||
discoverable: false, // make math menu discoverable on hover?
|
||||
zscale: "200%", // the scaling factor for MathZoom
|
||||
renderer: null, // set when Jax are loaded
|
||||
font: "Auto", // what font HTML-CSS should use
|
||||
context: "MathJax", // or "Browser" for pass-through to browser menu
|
||||
locale: null, // the language to use for messages
|
||||
mpContext: false, // true means pass menu events to MathPlayer in IE
|
||||
mpMouse: false, // true means pass mouse events to MathPlayer in IE
|
||||
texHints: true, // include class names for TeXAtom elements
|
||||
FastPreview: null, // use PreviewHTML output as preview?
|
||||
assistiveMML: null, // include hidden MathML for screen readers?
|
||||
inTabOrder: true, // set to true if math elements should be included in the tabindex
|
||||
semantics: false // add semantics tag with original form in MathML output
|
||||
},
|
||||
|
||||
|
|
|
@ -16,4 +16,4 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
(function(a,e,b,f){var c=b.config.menuSettings;var d=MathJax.Extension.AssistiveMML={version:"2.6.0",config:{disabled:false,styles:{".MJX_Assistive_MathML":{position:"absolute!important",top:0,left:0,clip:(b.Browser.isMSIE&&(document.documentMode||0)<8?"rect(1px 1px 1px 1px)":"rect(1px, 1px, 1px, 1px)"),padding:"1px 0 0 0!important",border:"0!important",height:"1px!important",width:"1px!important",overflow:"hidden!important",display:"block!important"},".MJX_Assistive_MathML.MJX_Assistive_MathML_Block":{width:"100%!important"}}},Config:function(){if(!this.config.disabled&&c.assistiveMML==null){b.Config({menuSettings:{assistiveMML:true}})}a.Styles(this.config.styles);b.Register.MessageHook("End Math",function(g){if(c.assistiveMML){return d.AddAssistiveMathML(g[1])}})},AddAssistiveMathML:function(g){var h={jax:b.getAllJax(g),i:0,callback:MathJax.Callback({})};this.HandleMML(h);return h.callback},RemoveAssistiveMathML:function(k){var h=b.getAllJax(k),l;for(var j=0,g=h.length;j<g;j++){l=document.getElementById(h[j].inputID+"-Frame");if(l&&l.getAttribute("data-mathml")){l.removeAttribute("data-mathml");if(l.lastChild&&l.lastChild.className.match(/MJX_Assistive_MathML/)){l.removeChild(l.lastChild)}}}},HandleMML:function(l){var g=l.jax.length,h,i,n,j;while(l.i<g){h=l.jax[l.i];n=document.getElementById(h.inputID+"-Frame");if(h.outputJax!=="NativeMML"&&n&&!n.getAttribute("data-mathml")){try{i=h.root.toMathML("").replace(/\n */g,"").replace(/<!--.*?-->/g,"")}catch(k){if(!k.restart){throw k}return MathJax.Callback.After(["HandleMML",this,l],k.restart)}n.setAttribute("data-mathml",i);j=f.addElement(n,"span",{isMathJax:true,className:"MJX_Assistive_MathML"+(h.root.Get("display")==="block"?" MJX_Assistive_MathML_Block":"")});j.innerHTML=i;n.style.position="relative";n.setAttribute("role","presentation");n.firstChild.setAttribute("aria-hidden","true");j.setAttribute("role","presentation")}l.i++}l.callback()}};b.Startup.signal.Post("AssistiveMML Ready")})(MathJax.Ajax,MathJax.Callback,MathJax.Hub,MathJax.HTML);MathJax.Callback.Queue(["Require",MathJax.Ajax,"[MathJax]/extensions/toMathML.js"],["loadComplete",MathJax.Ajax,"[MathJax]/extensions/AssistiveMML.js"],function(){MathJax.Hub.Register.StartupHook("End Config",["Config",MathJax.Extension.AssistiveMML])});
|
||||
(function(a,e,b,f){var c=b.config.menuSettings;var d=MathJax.Extension.AssistiveMML={version:"2.6.1",config:b.CombineConfig("AssistiveMML",{disabled:false,styles:{".MJX_Assistive_MathML":{position:"absolute!important",top:0,left:0,clip:(b.Browser.isMSIE&&(document.documentMode||0)<8?"rect(1px 1px 1px 1px)":"rect(1px, 1px, 1px, 1px)"),padding:"1px 0 0 0!important",border:"0!important",height:"1px!important",width:"1px!important",overflow:"hidden!important",display:"block!important","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none"},".MJX_Assistive_MathML.MJX_Assistive_MathML_Block":{width:"100%!important"}}}),Config:function(){if(!this.config.disabled&&c.assistiveMML==null){b.Config({menuSettings:{assistiveMML:true}})}a.Styles(this.config.styles);b.Register.MessageHook("End Math",function(g){if(c.assistiveMML){return d.AddAssistiveMathML(g[1])}})},AddAssistiveMathML:function(g){var h={jax:b.getAllJax(g),i:0,callback:MathJax.Callback({})};this.HandleMML(h);return h.callback},RemoveAssistiveMathML:function(k){var h=b.getAllJax(k),l;for(var j=0,g=h.length;j<g;j++){l=document.getElementById(h[j].inputID+"-Frame");if(l&&l.getAttribute("data-mathml")){l.removeAttribute("data-mathml");if(l.lastChild&&l.lastChild.className.match(/MJX_Assistive_MathML/)){l.removeChild(l.lastChild)}}}},HandleMML:function(l){var g=l.jax.length,h,i,n,j;while(l.i<g){h=l.jax[l.i];n=document.getElementById(h.inputID+"-Frame");if(h.outputJax!=="NativeMML"&&n&&!n.getAttribute("data-mathml")){try{i=h.root.toMathML("").replace(/\n */g,"").replace(/<!--.*?-->/g,"")}catch(k){if(!k.restart){throw k}return MathJax.Callback.After(["HandleMML",this,l],k.restart)}n.setAttribute("data-mathml",i);j=f.addElement(n,"span",{isMathJax:true,unselectable:"on",className:"MJX_Assistive_MathML"+(h.root.Get("display")==="block"?" MJX_Assistive_MathML_Block":"")});j.innerHTML=i;n.style.position="relative";n.setAttribute("role","presentation");n.firstChild.setAttribute("aria-hidden","true");j.setAttribute("role","presentation")}l.i++}l.callback()}};b.Startup.signal.Post("AssistiveMML Ready")})(MathJax.Ajax,MathJax.Callback,MathJax.Hub,MathJax.HTML);MathJax.Callback.Queue(["Require",MathJax.Ajax,"[MathJax]/extensions/toMathML.js"],["loadComplete",MathJax.Ajax,"[MathJax]/extensions/AssistiveMML.js"],function(){MathJax.Hub.Register.StartupHook("End Config",["Config",MathJax.Extension.AssistiveMML])});
|
||||
|
|
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
|
@ -16,4 +16,4 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
MathJax.InputJax.MathML=MathJax.InputJax({id:"MathML",version:"2.6.0",directory:MathJax.InputJax.directory+"/MathML",extensionDir:MathJax.InputJax.extensionDir+"/MathML",entityDir:MathJax.InputJax.directory+"/MathML/entities",config:{useMathMLspacing:false}});MathJax.InputJax.MathML.Register("math/mml");MathJax.InputJax.MathML.loadComplete("config.js");
|
||||
MathJax.InputJax.MathML=MathJax.InputJax({id:"MathML",version:"2.6.1",directory:MathJax.InputJax.directory+"/MathML",extensionDir:MathJax.InputJax.extensionDir+"/MathML",entityDir:MathJax.InputJax.directory+"/MathML/entities",config:{useMathMLspacing:false}});MathJax.InputJax.MathML.Register("math/mml");MathJax.InputJax.MathML.loadComplete("config.js");
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -16,4 +16,4 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
MathJax.InputJax.TeX=MathJax.InputJax({id:"TeX",version:"2.6.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.6.1",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
|
@ -16,4 +16,4 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
MathJax.OutputJax.CommonHTML=MathJax.OutputJax({id:"CommonHTML",version:"2.6.0",directory:MathJax.OutputJax.directory+"/CommonHTML",extensionDir:MathJax.OutputJax.extensionDir+"/CommonHTML",autoloadDir:MathJax.OutputJax.directory+"/CommonHTML/autoload",fontDir:MathJax.OutputJax.directory+"/CommonHTML/fonts",webfontDir:MathJax.OutputJax.fontDir+"/HTML-CSS",config:{matchFontHeight:true,scale:100,minScaleAdjust:50,mtextFontInherit:false,undefinedFamily:"STIXGeneral,'Cambria Math','Arial Unicode MS',serif",EqnChunk:(MathJax.Hub.Browser.isMobile?20:100),EqnChunkFactor:1.5,EqnChunkDelay:100,linebreaks:{automatic:false,width:"container"}}});if(!MathJax.Hub.config.delayJaxRegistration){MathJax.OutputJax.CommonHTML.Register("jax/mml")}MathJax.OutputJax.CommonHTML.loadComplete("config.js");
|
||||
MathJax.OutputJax.CommonHTML=MathJax.OutputJax({id:"CommonHTML",version:"2.6.1",directory:MathJax.OutputJax.directory+"/CommonHTML",extensionDir:MathJax.OutputJax.extensionDir+"/CommonHTML",autoloadDir:MathJax.OutputJax.directory+"/CommonHTML/autoload",fontDir:MathJax.OutputJax.directory+"/CommonHTML/fonts",webfontDir:MathJax.OutputJax.fontDir+"/HTML-CSS",config:{matchFontHeight:true,scale:100,minScaleAdjust:50,mtextFontInherit:false,undefinedFamily:"STIXGeneral,'Cambria Math','Arial Unicode MS',serif",EqnChunk:(MathJax.Hub.Browser.isMobile?20:100),EqnChunkFactor:1.5,EqnChunkDelay:100,linebreaks:{automatic:false,width:"container"}}});if(!MathJax.Hub.config.delayJaxRegistration){MathJax.OutputJax.CommonHTML.Register("jax/mml")}MathJax.OutputJax.CommonHTML.loadComplete("config.js");
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -16,4 +16,4 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
MathJax.OutputJax["HTML-CSS"]=MathJax.OutputJax({id:"HTML-CSS",version:"2.6.0",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:{noReflows:true,matchFontHeight:true,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 .MJX-monospace":{"font-family":"monospace"},".MathJax .MJX-sans-serif":{"font-family":"sans-serif"},"#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","z-index":401}}}});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(["MathJaxNotSupported","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.6.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:{noReflows:true,matchFontHeight:true,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 .MJX-monospace":{"font-family":"monospace"},".MathJax .MJX-sans-serif":{"font-family":"sans-serif"},"#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","z-index":401}}}});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(["MathJaxNotSupported","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
|
@ -16,4 +16,4 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
MathJax.OutputJax.NativeMML=MathJax.OutputJax({id:"NativeMML",version:"2.6.0",directory:MathJax.OutputJax.directory+"/NativeMML",extensionDir:MathJax.OutputJax.extensionDir+"/NativeMML",config:{matchFontHeight:true,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.6.1",directory:MathJax.OutputJax.directory+"/NativeMML",extensionDir:MathJax.OutputJax.extensionDir+"/NativeMML",config:{matchFontHeight:true,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
|
@ -16,4 +16,4 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
MathJax.OutputJax.PlainSource=MathJax.OutputJax({id:"PlainSource",version:"2.6.0",directory:MathJax.OutputJax.directory+"/PlainSource",extensionDir:MathJax.OutputJax.extensionDir+"/PlainSource",config:{styles:{".MathJax_PlainSource_Display":{"text-align":"center",margin:".75em 0px","white-space":"pre"},".MathJax_PlainSource_Display > span":{display:"inline-block","text-align":"left"}}}});if(!MathJax.Hub.config.delayJaxRegistration){MathJax.OutputJax.PlainSource.Register("jax/mml")}MathJax.OutputJax.PlainSource.loadComplete("config.js");
|
||||
MathJax.OutputJax.PlainSource=MathJax.OutputJax({id:"PlainSource",version:"2.6.1",directory:MathJax.OutputJax.directory+"/PlainSource",extensionDir:MathJax.OutputJax.extensionDir+"/PlainSource",config:{styles:{".MathJax_PlainSource_Display":{"text-align":"center",margin:".75em 0px","white-space":"pre"},".MathJax_PlainSource_Display > span":{display:"inline-block","text-align":"left"}}}});if(!MathJax.Hub.config.delayJaxRegistration){MathJax.OutputJax.PlainSource.Register("jax/mml")}MathJax.OutputJax.PlainSource.loadComplete("config.js");
|
||||
|
|
|
@ -16,4 +16,4 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
(function(a,b,f,c){var e,g,d;c.Augment({settings:b.config.menuSettings,Config:function(){if(!this.require){this.require=[]}this.SUPER(arguments).Config.call(this);this.require.push(MathJax.OutputJax.extensionDir+"/MathEvents.js")},Startup:function(){e=MathJax.Extension.MathEvents.Event;g=MathJax.Extension.MathEvents.Touch;d=MathJax.Extension.MathEvents.Hover;this.ContextMenu=e.ContextMenu;this.Mousedown=e.AltContextMenu;this.Mouseover=d.Mouseover;this.Mouseout=d.Mouseout;this.Mousemove=d.Mousemove;return a.Styles(this.config.styles)},preTranslate:function(k){var o=k.jax[this.id],p,l=o.length,q,n,r,j,h;for(p=0;p<l;p++){q=o[p];if(!q.parentNode){continue}n=q.previousSibling;if(n&&String(n.className).match(/^MathJax_PlainSource(_Display)?( MathJax_Processing)?$/)){n.parentNode.removeChild(n)}h=q.MathJax.elementJax;if(!h){continue}h.PlainSource={display:(h.root.Get("display")==="block")};r=j=f.Element("span",{className:"MathJax_PlainSource",id:h.inputID+"-Frame",isMathJax:true,jaxID:this.id,oncontextmenu:e.Menu,onmousedown:e.Mousedown,onmouseover:e.Mouseover,onmouseout:e.Mouseout,onmousemove:e.Mousemove,onclick:e.Click,ondblclick:e.DblClick,onkeydown:e.Keydown,tabIndex:"0"},[["span"]]);if(b.Browser.noContextMenu){r.ontouchstart=g.start;r.ontouchend=g.end}if(h.PlainSource.display){j=f.Element("div",{className:"MathJax_PlainSource_Display"});j.appendChild(r)}q.parentNode.insertBefore(j,q)}},Translate:function(j,n){if(!j.parentNode){return}var i=j.MathJax.elementJax,l=i.root,k=document.getElementById(i.inputID+"-Frame");this.initPlainSource(l,k);var m=i.originalText;if(i.inputJax==="MathML"){if((i.root.data[0].data.length>0)&&(i.root.data[0].data[0].type==="semantics")){var o=i.root.data[0].data[0].data;for(var h=0;h<o.length;h++){if(o[h].attr.encoding==="application/x-tex"){m=i.root.data[0].data[0].data[h].data[0].data[0];break}if(o[h].attr.encoding==="text/x-asciimath"){m=i.root.data[0].data[0].data[h].data[0].data[0]}}}}i.PlainSource.source=m;f.addText(k.firstChild,m)},postTranslate:function(h){},getJaxFromMath:function(h){if(h.parentNode.className==="MathJax_PlainSource_Display"){h=h.parentNode}do{h=h.nextSibling}while(h&&h.nodeName.toLowerCase()!=="script");return b.getJaxFor(h)},Zoom:function(i,q,p,h,n){var k=Math.round(q.parentNode.offsetWidth/2);q.style.whiteSpace="pre";f.addText(q,i.PlainSource.source);var l=p.offsetWidth,r=p.offsetHeight,o=q.offsetWidth,m=q.offsetHeight;var j=-Math.round((m+r)/2)-(i.PlainSource.display?0:k);return{mW:l,mH:r,zW:o,zH:m,Y:j}},initPlainSource:function(i,h){},Remove:function(h){var i=document.getElementById(h.inputID+"-Frame");if(i){if(h.PlainSource.display){i=i.parentNode}i.parentNode.removeChild(i)}delete h.PlainSource}});MathJax.Hub.Register.StartupHook("mml Jax Ready",function(){MathJax.Hub.Register.StartupHook("onLoad",function(){setTimeout(MathJax.Callback(["loadComplete",c,"jax.js"]),0)})});MathJax.Hub.Register.StartupHook("End Cookie",function(){if(b.config.menuSettings.zoom!=="None"){a.Require("[MathJax]/extensions/MathZoom.js")}})})(MathJax.Ajax,MathJax.Hub,MathJax.HTML,MathJax.OutputJax.PlainSource);
|
||||
(function(a,b,f,c){var e,g,d;c.Augment({settings:b.config.menuSettings,Config:function(){if(!this.require){this.require=[]}this.SUPER(arguments).Config.call(this);this.require.push(MathJax.OutputJax.extensionDir+"/MathEvents.js")},Startup:function(){e=MathJax.Extension.MathEvents.Event;g=MathJax.Extension.MathEvents.Touch;d=MathJax.Extension.MathEvents.Hover;this.ContextMenu=e.ContextMenu;this.Mousedown=e.AltContextMenu;this.Mouseover=d.Mouseover;this.Mouseout=d.Mouseout;this.Mousemove=d.Mousemove;return a.Styles(this.config.styles)},preTranslate:function(k){var o=k.jax[this.id],p,l=o.length,q,n,r,j,h;for(p=0;p<l;p++){q=o[p];if(!q.parentNode){continue}n=q.previousSibling;if(n&&String(n.className).match(/^MathJax_PlainSource(_Display)?( MathJax_Processing)?$/)){n.parentNode.removeChild(n)}h=q.MathJax.elementJax;if(!h){continue}h.PlainSource={display:(h.root.Get("display")==="block")};r=j=f.Element("span",{className:"MathJax_PlainSource",id:h.inputID+"-Frame",isMathJax:true,jaxID:this.id,oncontextmenu:e.Menu,onmousedown:e.Mousedown,onmouseover:e.Mouseover,onmouseout:e.Mouseout,onmousemove:e.Mousemove,onclick:e.Click,ondblclick:e.DblClick,onkeydown:e.Keydown,tabIndex:b.getTabOrder(h)},[["span"]]);if(b.Browser.noContextMenu){r.ontouchstart=g.start;r.ontouchend=g.end}if(h.PlainSource.display){j=f.Element("div",{className:"MathJax_PlainSource_Display"});j.appendChild(r)}q.parentNode.insertBefore(j,q)}},Translate:function(j,n){if(!j.parentNode){return}var i=j.MathJax.elementJax,l=i.root,k=document.getElementById(i.inputID+"-Frame");this.initPlainSource(l,k);var m=i.originalText;if(i.inputJax==="MathML"){if((i.root.data[0].data.length>0)&&(i.root.data[0].data[0].type==="semantics")){var o=i.root.data[0].data[0].data;for(var h=0;h<o.length;h++){if(o[h].attr.encoding==="application/x-tex"){m=i.root.data[0].data[0].data[h].data[0].data[0];break}if(o[h].attr.encoding==="text/x-asciimath"){m=i.root.data[0].data[0].data[h].data[0].data[0]}}}}i.PlainSource.source=m;f.addText(k.firstChild,m)},postTranslate:function(h){},getJaxFromMath:function(h){if(h.parentNode.className==="MathJax_PlainSource_Display"){h=h.parentNode}do{h=h.nextSibling}while(h&&h.nodeName.toLowerCase()!=="script");return b.getJaxFor(h)},Zoom:function(i,q,p,h,n){var k=Math.round(q.parentNode.offsetWidth/2);q.style.whiteSpace="pre";f.addText(q,i.PlainSource.source);var l=p.offsetWidth,r=p.offsetHeight,o=q.offsetWidth,m=q.offsetHeight;var j=-Math.round((m+r)/2)-(i.PlainSource.display?0:k);return{mW:l,mH:r,zW:o,zH:m,Y:j}},initPlainSource:function(i,h){},Remove:function(h){var i=document.getElementById(h.inputID+"-Frame");if(i){if(h.PlainSource.display){i=i.parentNode}i.parentNode.removeChild(i)}delete h.PlainSource}});MathJax.Hub.Register.StartupHook("mml Jax Ready",function(){MathJax.Hub.Register.StartupHook("onLoad",function(){setTimeout(MathJax.Callback(["loadComplete",c,"jax.js"]),0)})});MathJax.Hub.Register.StartupHook("End Cookie",function(){if(b.config.menuSettings.zoom!=="None"){a.Require("[MathJax]/extensions/MathZoom.js")}})})(MathJax.Ajax,MathJax.Hub,MathJax.HTML,MathJax.OutputJax.PlainSource);
|
||||
|
|
|
@ -16,4 +16,4 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
MathJax.OutputJax.PreviewHTML=MathJax.OutputJax({id:"PreviewHTML",version:"2.6.0",directory:MathJax.OutputJax.directory+"/PreviewHTML",extensionDir:MathJax.OutputJax.extensionDir+"/PreviewHTML",noFastPreview:true,config:{scale:100,minScaleAdjust:50,mtextFontInherit:false,linebreaks:{automatic:false,width:"container"}}});if(!MathJax.Hub.config.delayJaxRegistration){MathJax.OutputJax.PreviewHTML.Register("jax/mml")}MathJax.OutputJax.PreviewHTML.loadComplete("config.js");
|
||||
MathJax.OutputJax.PreviewHTML=MathJax.OutputJax({id:"PreviewHTML",version:"2.6.1",directory:MathJax.OutputJax.directory+"/PreviewHTML",extensionDir:MathJax.OutputJax.extensionDir+"/PreviewHTML",noFastPreview:true,config:{scale:100,minScaleAdjust:50,mtextFontInherit:false,linebreaks:{automatic:false,width:"container"}}});if(!MathJax.Hub.config.delayJaxRegistration){MathJax.OutputJax.PreviewHTML.Register("jax/mml")}MathJax.OutputJax.PreviewHTML.loadComplete("config.js");
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -16,4 +16,4 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
MathJax.OutputJax.SVG=MathJax.OutputJax({id:"SVG",version:"2.6.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:1,mtextFontInherit:false,undefinedFamily:"STIXGeneral,'Arial Unicode MS',serif",addMMLclasses:false,useFontCache:true,useGlobalCache:true,EqnChunk:(MathJax.Hub.Browser.isMobile?10:50),EqnChunkFactor:1.5,EqnChunkDelay:100,linebreaks:{automatic:false,width:"container"},merrorStyle:{fontSize:"90%",color:"#C00",background:"#FF8",border:"1px solid #C00",padding:"3px"},styles:{".MathJax_SVG_Display":{"text-align":"center",margin:"1em 0em"},".MathJax_SVG .MJX-monospace":{"font-family":"monospace"},".MathJax_SVG .MJX-sans-serif":{"font-family":"sans-serif"},"#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","z-index":401}}}});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.6.1",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:1,mtextFontInherit:false,undefinedFamily:"STIXGeneral,'Arial Unicode MS',serif",addMMLclasses:false,useFontCache:true,useGlobalCache:true,EqnChunk:(MathJax.Hub.Browser.isMobile?10:50),EqnChunkFactor:1.5,EqnChunkDelay:100,linebreaks:{automatic:false,width:"container"},merrorStyle:{fontSize:"90%",color:"#C00",background:"#FF8",border:"1px solid #C00",padding:"3px"},styles:{".MathJax_SVG_Display":{"text-align":"center",margin:"1em 0em"},".MathJax_SVG .MJX-monospace":{"font-family":"monospace"},".MathJax_SVG .MJX-sans-serif":{"font-family":"sans-serif"},"#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","z-index":401}}}});if(!MathJax.Hub.config.delayJaxRegistration){MathJax.OutputJax.SVG.Register("jax/mml")}MathJax.OutputJax.SVG.loadComplete("config.js");
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "mathjax",
|
||||
"version": "2.6.0",
|
||||
"version": "2.6.1",
|
||||
"description": "Beautiful math in all browsers. MathJax is an open-source JavaScript display engine for LaTeX, MathML, and AsciiMath notation that works in all browsers.",
|
||||
"keywords": [
|
||||
"math",
|
||||
|
@ -23,5 +23,8 @@
|
|||
"type": "git",
|
||||
"url": "git://github.com/mathjax/MathJax.git"
|
||||
},
|
||||
"main": "./MathJax.js"
|
||||
"main": "./MathJax.js",
|
||||
"scripts": {
|
||||
"test": "echo 'No tests here!'"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -45,9 +45,9 @@ if (window.MathJax) {window.MathJax = {AuthorConfig: window.MathJax}}
|
|||
|
||||
// MathJax.isPacked = true; // This line is uncommented by the packer.
|
||||
|
||||
MathJax.version = "2.6.0";
|
||||
MathJax.fileversion = "2.6.0";
|
||||
MathJax.cdnVersion = "2.6.0"; // specifies a revision to break caching
|
||||
MathJax.version = "2.6.1";
|
||||
MathJax.fileversion = "2.6.1";
|
||||
MathJax.cdnVersion = "2.6.1"; // specifies a revision to break caching
|
||||
MathJax.cdnFileVersions = {}; // can be used to specify revisions for individual files
|
||||
|
||||
/**********************************************************/
|
||||
|
@ -1880,7 +1880,7 @@ MathJax.Hub = {
|
|||
showMathMenu: true, // attach math context menu to typeset math?
|
||||
showMathMenuMSIE: true, // separtely determine if MSIE should have math menu
|
||||
// (since the code for that is a bit delicate)
|
||||
|
||||
|
||||
menuSettings: {
|
||||
zoom: "None", // when to do MathZoom
|
||||
CTRL: false, // require CTRL for MathZoom?
|
||||
|
@ -1889,13 +1889,16 @@ MathJax.Hub = {
|
|||
Shift: false, // require Shift?
|
||||
discoverable: false, // make math menu discoverable on hover?
|
||||
zscale: "200%", // the scaling factor for MathZoom
|
||||
renderer: "", // set when Jax are loaded
|
||||
renderer: null, // set when Jax are loaded
|
||||
font: "Auto", // what font HTML-CSS should use
|
||||
context: "MathJax", // or "Browser" for pass-through to browser menu
|
||||
locale: "en", // the language to use for messages
|
||||
locale: null, // the language to use for messages
|
||||
mpContext: false, // true means pass menu events to MathPlayer in IE
|
||||
mpMouse: false, // true means pass mouse events to MathPlayer in IE
|
||||
texHints: true, // include class names for TeXAtom elements
|
||||
FastPreview: null, // use PreviewHTML output as preview?
|
||||
assistiveMML: null, // include hidden MathML for screen readers?
|
||||
inTabOrder: true, // set to false if math elements should be included in the tabindex
|
||||
semantics: false // add semantics tag with original form in MathML output
|
||||
},
|
||||
|
||||
|
@ -2126,6 +2129,7 @@ MathJax.Hub = {
|
|||
if (script.MathJax.state !== STATE.PENDING) {this.scriptAction[action](script)}
|
||||
}
|
||||
if (!script.MathJax) {script.MathJax = {state: STATE.PENDING}}
|
||||
if (script.MathJax.error) delete script.MathJax.error;
|
||||
if (script.MathJax.state !== STATE.PROCESSED) {state.scripts.push(script)}
|
||||
}
|
||||
}
|
||||
|
@ -2349,7 +2353,8 @@ MathJax.Hub = {
|
|||
if (err.line||err.lineNumber) message += "\n"+LOCALIZE("ErrorLine","line: %1",err.line||err.lineNumber);
|
||||
message += "\n\n"+LOCALIZE("ErrorTips","Debugging tips: use %1, inspect %2 in the browser console","'unpacked/MathJax.js'","'MathJax.Hub.lastError'");
|
||||
script.MathJax.error = MathJax.OutputJax.Error.Jax(message,script);
|
||||
|
||||
if (script.MathJax.elementJax)
|
||||
script.MathJax.error.inputID = script.MathJax.elementJax.inputID;
|
||||
//
|
||||
// Create the [Math Processing Error] span
|
||||
//
|
||||
|
@ -2358,28 +2363,23 @@ MathJax.Hub = {
|
|||
var error = MathJax.HTML.Element("span", {
|
||||
className:"MathJax_Error", jaxID:"Error", isMathJax:true,
|
||||
id: script.MathJax.error.inputID+"-Frame"
|
||||
},errorText);
|
||||
},[["span",null,errorText]]);
|
||||
//
|
||||
// Attach the menu events
|
||||
//
|
||||
if (MathJax.Extension.MathEvents) {
|
||||
var EVENT = MathJax.Extension.MathEvents.Event;
|
||||
MathJax.Ajax.Require("[MathJax]/extensions/MathEvents.js",function () {
|
||||
var EVENT = MathJax.Extension.MathEvents.Event,
|
||||
HUB = MathJax.Hub;
|
||||
error.oncontextmenu = EVENT.Menu;
|
||||
error.onmousedown = EVENT.Mousedown;
|
||||
error.onkeydown = EVENT.Keydown;
|
||||
error.tabIndex = 0;
|
||||
} else {
|
||||
MathJax.Ajax.Require("[MathJax]/extensions/MathEvents.js",function () {
|
||||
var EVENT = MathJax.Extension.MathEvents.Event;
|
||||
error.oncontextmenu = EVENT.Menu;
|
||||
error.onmousedown = EVENT.Mousedown;
|
||||
error.keydown = EVENT.Keydown;
|
||||
error.tabIndex = 0;
|
||||
});
|
||||
}
|
||||
error.tabIndex = HUB.getTabOrder(HUB.getJaxFor(script));
|
||||
});
|
||||
//
|
||||
// Insert the error into the page and remove any preview
|
||||
//
|
||||
var node = document.getElementById(error.id);
|
||||
if (node) node.parentNode.removeChild(node);
|
||||
script.parentNode.insertBefore(error,script);
|
||||
if (script.MathJax.preview) {script.MathJax.preview.innerHTML = ""}
|
||||
//
|
||||
|
@ -2462,6 +2462,10 @@ MathJax.Hub = {
|
|||
return dst;
|
||||
},
|
||||
|
||||
getTabOrder: function(script) {
|
||||
return this.config.menuSettings.inTabOrder ? 0 : -1;
|
||||
},
|
||||
|
||||
// Old browsers (e.g. Internet Explorer <= 8) do not support trim().
|
||||
SplitList: ("trim" in String.prototype ?
|
||||
function (list) {return list.trim().split(/\s+/)} :
|
||||
|
|
|
@ -240,12 +240,18 @@ MathJax.Hub.Config({
|
|||
ALT: false, // require Alt or Option?
|
||||
CMD: false, // require CMD?
|
||||
Shift: false, // require Shift?
|
||||
discoverable: false, // make math menu discoverable on hover?
|
||||
zscale: "200%", // the scaling factor for MathZoom
|
||||
renderer: null, // set when Jax are loaded
|
||||
font: "Auto", // what font HTML-CSS should use
|
||||
context: "MathJax", // or "Browser" for pass-through to browser menu
|
||||
locale: null, // the language to use for messages
|
||||
mpContext: false, // true means pass menu events to MathPlayer in IE
|
||||
mpMouse: false, // true means pass mouse events to MathPlayer in IE
|
||||
texHints: true, // include class names for TeXAtom elements
|
||||
FastPreview: null, // use PreviewHTML output as preview?
|
||||
assistiveMML: null, // include hidden MathML for screen readers?
|
||||
inTabOrder: true, // set to true if math elements should be included in the tabindex
|
||||
semantics: false // add semantics tag with original form in MathML output
|
||||
},
|
||||
|
||||
|
|
|
@ -29,9 +29,9 @@
|
|||
var SETTINGS = HUB.config.menuSettings;
|
||||
|
||||
var AssistiveMML = MathJax.Extension["AssistiveMML"] = {
|
||||
version: "2.6.0",
|
||||
version: "2.6.1",
|
||||
|
||||
config: {
|
||||
config: HUB.CombineConfig("AssistiveMML",{
|
||||
disabled: false,
|
||||
styles: {
|
||||
".MJX_Assistive_MathML": {
|
||||
|
@ -44,13 +44,22 @@
|
|||
height: "1px!important",
|
||||
width: "1px!important",
|
||||
overflow: "hidden!important",
|
||||
display:"block!important"
|
||||
display:"block!important",
|
||||
//
|
||||
// Don't allow the assistive MathML become part of the selection
|
||||
//
|
||||
"-webkit-touch-callout": "none",
|
||||
"-webkit-user-select": "none",
|
||||
"-khtml-user-select": "none",
|
||||
"-moz-user-select": "none",
|
||||
"-ms-user-select": "none",
|
||||
"user-select": "none"
|
||||
},
|
||||
".MJX_Assistive_MathML.MJX_Assistive_MathML_Block": {
|
||||
width: "100%!important"
|
||||
}
|
||||
}
|
||||
},
|
||||
}),
|
||||
|
||||
Config: function () {
|
||||
if (!this.config.disabled && SETTINGS.assistiveMML == null)
|
||||
|
@ -115,7 +124,7 @@
|
|||
}
|
||||
frame.setAttribute("data-mathml",mml);
|
||||
span = HTML.addElement(frame,"span",{
|
||||
isMathJax: true,
|
||||
isMathJax: true, unselectable: "on",
|
||||
className: "MJX_Assistive_MathML"
|
||||
+ (jax.root.Get("display") === "block" ? " MJX_Assistive_MathML_Block" : "")
|
||||
});
|
||||
|
|
|
@ -27,7 +27,7 @@
|
|||
*/
|
||||
|
||||
(function (HUB,HTML,AJAX,CALLBACK,OUTPUT) {
|
||||
var VERSION = "2.6.0";
|
||||
var VERSION = "2.6.1";
|
||||
|
||||
var SIGNAL = MathJax.Callback.Signal("menu"); // signal for menu events
|
||||
|
||||
|
@ -544,18 +544,12 @@
|
|||
MENU.FocusNode(menu);
|
||||
},
|
||||
Activate: function(event, menu) {
|
||||
var jaxs = MENU.AllNodes();
|
||||
for (var j = 0, jax; jax = jaxs[j]; j++) {
|
||||
jax.tabIndex = -1;
|
||||
}
|
||||
MENU.UnsetTabIndex();
|
||||
MENU.posted = true;
|
||||
},
|
||||
Unfocus: function() {
|
||||
MENU.ActiveNode().tabIndex = -1;
|
||||
var jaxs = MENU.AllNodes();
|
||||
for (var j = 0, jax; jax = jaxs[j]; j++) {
|
||||
jax.tabIndex = 0;
|
||||
}
|
||||
MENU.SetTabIndex();
|
||||
MENU.FocusNode(MENU.CurrentNode());
|
||||
MENU.posted = false;
|
||||
},
|
||||
|
@ -577,6 +571,26 @@
|
|||
Left: function(event, menu) {
|
||||
MENU.MoveHorizontal(event, menu, function(x) {return x - 1;});
|
||||
},
|
||||
UnsetTabIndex: function () {
|
||||
var jaxs = MENU.AllNodes();
|
||||
for (var j = 0, jax; jax = jaxs[j]; j++) {
|
||||
if (jax.tabIndex > 0) {
|
||||
jax.oldTabIndex = jax.tabIndex;
|
||||
}
|
||||
jax.tabIndex = -1;
|
||||
}
|
||||
},
|
||||
SetTabIndex: function () {
|
||||
var jaxs = MENU.AllNodes();
|
||||
for (var j = 0, jax; jax = jaxs[j]; j++) {
|
||||
if (jax.oldTabIndex !== undefined) {
|
||||
jax.tabIndex = jax.oldTabIndex
|
||||
delete jax.oldTabIndex;
|
||||
} else {
|
||||
jax.tabIndex = HUB.getTabOrder(jax);
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
//TODO: Move to utility class.
|
||||
// Computes a mod n.
|
||||
|
@ -1328,6 +1342,9 @@
|
|||
}
|
||||
};
|
||||
|
||||
/*
|
||||
* Toggle assistive MML settings
|
||||
*/
|
||||
MENU.AssistiveMML = function (item,restart) {
|
||||
var AMML = MathJax.Extension.AssistiveMML;
|
||||
if (!AMML) {
|
||||
|
@ -1526,15 +1543,16 @@
|
|||
),
|
||||
ITEM.RULE(),
|
||||
ITEM.SUBMENU(["Renderer","Math Renderer"], {hidden:!CONFIG.showRenderer},
|
||||
ITEM.RADIO("HTML-CSS", "renderer", {action: MENU.Renderer}),
|
||||
ITEM.RADIO("Common HTML","renderer", {action: MENU.Renderer, value:"CommonHTML"}),
|
||||
ITEM.RADIO("Fast HTML", "renderer", {action: MENU.Renderer, value:"PreviewHTML"}),
|
||||
ITEM.RADIO("MathML", "renderer", {action: MENU.Renderer, value:"NativeMML"}),
|
||||
ITEM.RADIO("SVG", "renderer", {action: MENU.Renderer}),
|
||||
ITEM.RADIO("PlainSource","renderer", {action: MENU.Renderer, value:"PlainSource"}),
|
||||
ITEM.RADIO(["HTML-CSS","HTML-CSS"], "renderer", {action: MENU.Renderer}),
|
||||
ITEM.RADIO(["CommonHTML","Common HTML"], "renderer", {action: MENU.Renderer, value:"CommonHTML"}),
|
||||
ITEM.RADIO(["PreviewHTML","Preview HTML"],"renderer", {action: MENU.Renderer, value:"PreviewHTML"}),
|
||||
ITEM.RADIO(["MathML","MathML"], "renderer", {action: MENU.Renderer, value:"NativeMML"}),
|
||||
ITEM.RADIO(["SVG","SVG"], "renderer", {action: MENU.Renderer}),
|
||||
ITEM.RADIO(["PlainSource","Plain Source"],"renderer", {action: MENU.Renderer, value:"PlainSource"}),
|
||||
ITEM.RULE(),
|
||||
ITEM.CHECKBOX("Fast Preview", "FastPreview"),
|
||||
ITEM.CHECKBOX("Assistive MathML", "assistiveMML", {action:MENU.AssistiveMML})
|
||||
ITEM.CHECKBOX(["FastPreview","Fast Preview"], "FastPreview"),
|
||||
ITEM.CHECKBOX(["AssistiveMML","Assistive MathML"], "assistiveMML", {action:MENU.AssistiveMML}),
|
||||
ITEM.CHECKBOX(["InTabOrder","Include in Tab Order"], "inTabOrder")
|
||||
),
|
||||
ITEM.SUBMENU("MathPlayer", {hidden:!HUB.Browser.isMSIE || !CONFIG.showMathPlayer,
|
||||
disabled:!HUB.Browser.hasMathPlayer},
|
||||
|
@ -1561,7 +1579,7 @@
|
|||
ITEM.RADIO(["NeoEulerWeb","Neo Euler (web)"], "font", {action: MENU.Font})
|
||||
),
|
||||
ITEM.SUBMENU(["ContextMenu","Contextual Menu"], {hidden:!CONFIG.showContext},
|
||||
ITEM.RADIO("MathJax", "context"),
|
||||
ITEM.RADIO(["MathJax","MathJax"], "context"),
|
||||
ITEM.RADIO(["Browser","Browser"], "context")
|
||||
),
|
||||
ITEM.COMMAND(["Scale","Scale All Math ..."],MENU.Scale),
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
*/
|
||||
|
||||
MathJax.Extension["TeX/AMSmath"] = {
|
||||
version: "2.6.0",
|
||||
version: "2.6.1",
|
||||
|
||||
number: 0, // current equation number
|
||||
startNumber: 0, // current starting equation number (for when equation is restarted)
|
||||
|
@ -94,8 +94,8 @@ MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () {
|
|||
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}}'],
|
||||
varinjlim: ['Macro','\\mathop{\\underrightarrow{\\mmlToken{mi}{lim}}}'],
|
||||
varprojlim: ['Macro','\\mathop{\\underleftarrow{\\mmlToken{mi}{lim}}}'],
|
||||
|
||||
DeclareMathOperator: 'HandleDeclareOp',
|
||||
operatorname: 'HandleOperatorName',
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
*/
|
||||
|
||||
MathJax.Hub.Register.LoadHook("[MathJax]/jax/element/mml/jax.js",function () {
|
||||
var VERSION = "2.6.0";
|
||||
var VERSION = "2.6.1";
|
||||
|
||||
var MML = MathJax.ElementJax.mml,
|
||||
SETTINGS = MathJax.Hub.config.menuSettings;
|
||||
|
@ -78,7 +78,10 @@ MathJax.Hub.Register.LoadHook("[MathJax]/jax/element/mml/jax.js",function () {
|
|||
var CLASS = []; if (this["class"]) {CLASS.push(this["class"])}
|
||||
if (this.isa(MML.TeXAtom) && SETTINGS.texHints) {
|
||||
var TEXCLASS = ["ORD","OP","BIN","REL","OPEN","CLOSE","PUNCT","INNER","VCENTER"][this.texClass];
|
||||
if (TEXCLASS) {CLASS.push("MJX-TeXAtom-"+TEXCLASS)}
|
||||
if (TEXCLASS) {
|
||||
CLASS.push("MJX-TeXAtom-"+TEXCLASS)
|
||||
if (TEXCLASS === "OP" && !this.movablelimits) CLASS.push("MJX-fixedlimits");
|
||||
}
|
||||
}
|
||||
if (this.mathvariant && this.toMathMLvariants[this.mathvariant])
|
||||
{CLASS.push("MJX"+this.mathvariant)}
|
||||
|
@ -186,8 +189,15 @@ MathJax.Hub.Register.LoadHook("[MathJax]/jax/element/mml/jax.js",function () {
|
|||
MML.munderover.Augment({
|
||||
toMathML: function (space) {
|
||||
var tag = this.type;
|
||||
if (this.data[this.under] == null) {tag = "mover"}
|
||||
if (this.data[this.over] == null) {tag = "munder"}
|
||||
var base = this.data[this.base];
|
||||
if (base && base.isa(MML.TeXAtom) && base.movablelimits && !base.Get("displaystyle")) {
|
||||
type = "msubsup";
|
||||
if (this.data[this.under] == null) {tag = "msup"}
|
||||
if (this.data[this.over] == null) {tag = "msub"}
|
||||
} else {
|
||||
if (this.data[this.under] == null) {tag = "mover"}
|
||||
if (this.data[this.over] == null) {tag = "munder"}
|
||||
}
|
||||
var attr = this.toMathMLattributes();
|
||||
delete this.data[0].inferred;
|
||||
var data = [];
|
||||
|
|
|
@ -27,7 +27,7 @@
|
|||
|
||||
MathJax.InputJax.MathML = MathJax.InputJax({
|
||||
id: "MathML",
|
||||
version: "2.6.0",
|
||||
version: "2.6.1",
|
||||
directory: MathJax.InputJax.directory + "/MathML",
|
||||
extensionDir: MathJax.InputJax.extensionDir + "/MathML",
|
||||
entityDir: MathJax.InputJax.directory + "/MathML/entities",
|
||||
|
|
|
@ -76,7 +76,7 @@
|
|||
var mml, type = node.nodeName.toLowerCase().replace(/^[a-z]+:/,"");
|
||||
var match = (CLASS.match(/(^| )MJX-TeXAtom-([^ ]*)/));
|
||||
if (match) {
|
||||
mml = this.TeXAtom(match[2]);
|
||||
mml = this.TeXAtom(match[2],match[2] === "OP" && !CLASS.match(/MJX-fixedlimits/));
|
||||
} else if (!(MML[type] && MML[type].isa && MML[type].isa(MML.mbase))) {
|
||||
MathJax.Hub.signal.Post(["MathML Jax - unknown node type",type]);
|
||||
return MML.Error(_("UnknownNodeType","Unknown node type: %1",type));
|
||||
|
@ -88,9 +88,9 @@
|
|||
if (MATHML.config.useMathMLspacing) {mml.useMMLspacing = 0x08}
|
||||
return mml;
|
||||
},
|
||||
TeXAtom: function (mclass) {
|
||||
TeXAtom: function (mclass,movablelimits) {
|
||||
var mml = MML.TeXAtom().With({texClass:MML.TEXCLASS[mclass]});
|
||||
if (mml.texClass === MML.TEXCLASS.OP) {mml.movesupsub = mml.movablelimits = true}
|
||||
if (movablelimits) {mml.movesupsub = mml.movablelimits = true}
|
||||
return mml;
|
||||
},
|
||||
CheckClass: function (mml,CLASS) {
|
||||
|
|
|
@ -27,7 +27,7 @@
|
|||
|
||||
MathJax.InputJax.TeX = MathJax.InputJax({
|
||||
id: "TeX",
|
||||
version: "2.6.0",
|
||||
version: "2.6.1",
|
||||
directory: MathJax.InputJax.directory + "/TeX",
|
||||
extensionDir: MathJax.InputJax.extensionDir + "/TeX",
|
||||
|
||||
|
|
|
@ -1264,6 +1264,8 @@
|
|||
{if (mo.defaults.hasOwnProperty(id) && mi[id] != null) {mo[id] = mi[id]}}
|
||||
for (id in MML.copyAttributes)
|
||||
{if (MML.copyAttributes.hasOwnProperty(id) && mi[id] != null) {mo[id] = mi[id]}}
|
||||
mo.lspace = mo.rspace = "0"; // prevent mo from having space in NativeMML
|
||||
mo.useMMLspacing &= ~(mo.SPACE_ATTR.lspace | mo.SPACE_ATTR.rspace); // don't count these explicit settings
|
||||
return mo;
|
||||
},
|
||||
|
||||
|
@ -1367,6 +1369,7 @@
|
|||
}
|
||||
op.movesupsub = (limits ? true : false);
|
||||
op.Core().movablelimits = false;
|
||||
if (op.movablelimits) op.movablelimits = false;
|
||||
},
|
||||
|
||||
Over: function (name,open,close) {
|
||||
|
@ -1452,10 +1455,12 @@
|
|||
|
||||
Overset: function (name) {
|
||||
var top = this.ParseArg(name), base = this.ParseArg(name);
|
||||
if (base.movablelimits) base.movablelimits = false;
|
||||
this.Push(MML.mover(base,top));
|
||||
},
|
||||
Underset: function (name) {
|
||||
var bot = this.ParseArg(name), base = this.ParseArg(name);
|
||||
if (base.movablelimits) base.movablelimits = false;
|
||||
this.Push(MML.munder(base,bot));
|
||||
},
|
||||
|
||||
|
@ -2021,7 +2026,6 @@
|
|||
|
||||
/*
|
||||
* Break up a string into text and math blocks
|
||||
* @@@ FIXME: pass environment to TEX.Parse? @@@
|
||||
*/
|
||||
InternalMath: function (text,level) {
|
||||
var def = (this.stack.env.font ? {mathvariant: this.stack.env.font} : {});
|
||||
|
@ -2031,7 +2035,7 @@
|
|||
c = text.charAt(i++);
|
||||
if (c === '$') {
|
||||
if (match === '$' && braces === 0) {
|
||||
mml.push(MML.TeXAtom(TEX.Parse(text.slice(k,i-1),{}).mml().With(def)));
|
||||
mml.push(MML.TeXAtom(TEX.Parse(text.slice(k,i-1),{}).mml()));
|
||||
match = ''; k = i;
|
||||
} else if (match === '') {
|
||||
if (k < i-1) mml.push(this.InternalText(text.slice(k,i-1),def));
|
||||
|
@ -2057,7 +2061,7 @@
|
|||
if (k < i-2) mml.push(this.InternalText(text.slice(k,i-2),def));
|
||||
match = ')'; k = i;
|
||||
} else if (c === ')' && match === ')' && braces === 0) {
|
||||
mml.push(MML.TeXAtom(TEX.Parse(text.slice(k,i-2),{}).mml().With(def)));
|
||||
mml.push(MML.TeXAtom(TEX.Parse(text.slice(k,i-2),{}).mml()));
|
||||
match = ''; k = i;
|
||||
} else if (c.match(/[${}\\]/) && match === '') {
|
||||
i--; text = text.substr(0,i-1) + text.substr(i); // remove \ from \$, \{, \}, or \\
|
||||
|
|
|
@ -27,7 +27,7 @@
|
|||
|
||||
MathJax.OutputJax.CommonHTML = MathJax.OutputJax({
|
||||
id: "CommonHTML",
|
||||
version: "2.6.0",
|
||||
version: "2.6.1",
|
||||
directory: MathJax.OutputJax.directory + "/CommonHTML",
|
||||
extensionDir: MathJax.OutputJax.extensionDir + "/CommonHTML",
|
||||
autoloadDir: MathJax.OutputJax.directory + "/CommonHTML/autoload",
|
||||
|
|
|
@ -81,7 +81,8 @@
|
|||
|
||||
".mjx-numerator": {display:"block", "text-align":"center"},
|
||||
".mjx-denominator": {display:"block", "text-align":"center"},
|
||||
".MJXc-fpad": {"padding-left":".1em", "padding-right":".1em"},
|
||||
".MJXc-stacked": {height:0, position:"relative"},
|
||||
".MJXc-stacked > *": {position: "absolute"},
|
||||
".MJXc-bevelled > *": {display:"inline-block"},
|
||||
|
||||
".mjx-stack": {display:"inline-block"},
|
||||
|
@ -128,8 +129,9 @@
|
|||
".mjx-row": {display:"table-row"},
|
||||
".mjx-cell": {display:"table-cell"},
|
||||
".mjx-table": {display:"table", width:"100%"},
|
||||
".mjx-line": {display:"block", width:"100%", "border-top":"0 solid"},
|
||||
".mjx-line": {display:"block", height:0},
|
||||
".mjx-strut": {width:0, "padding-top":STRUTHEIGHT+"em"},
|
||||
".mjx-vsize": {width:0},
|
||||
|
||||
".MJXc-space1": {"margin-left":".167em"},
|
||||
".MJXc-space2": {"margin-left":".222em"},
|
||||
|
@ -334,21 +336,33 @@
|
|||
ucMatch: HTML.ucMatch,
|
||||
setScript: HTML.setScript,
|
||||
|
||||
//
|
||||
// This replaces node.getElementsByTagName(type)[0]
|
||||
// and should be replaced by that if we go back to using
|
||||
// custom tags
|
||||
//
|
||||
getNode: (document.getElementsByClassName ?
|
||||
function (node,type) {return node.getElementsByClassName(type)[0]} :
|
||||
getNodesByClass: (document.getElementsByClassName ?
|
||||
function (node,type) {return node.getElementsByClassName(type)} :
|
||||
function (node,type) {
|
||||
var NODES = [];
|
||||
var nodes = node.getElementsByTagName("span");
|
||||
var name = RegExp("\\b"+type+"\\b");
|
||||
for (var i = 0, m = nodes.length; i < m; i++) {
|
||||
if (name.test(nodes[i].className)) return nodes[i];
|
||||
if (name.test(nodes[i].className)) NODES.push = nodes[i];
|
||||
}
|
||||
return NODES;
|
||||
}
|
||||
),
|
||||
getNode: function (node,type) {
|
||||
var nodes = this.getNodesByClass(node,type);
|
||||
if (nodes.length === 1) return nodes[0];
|
||||
var closest = nodes[0], N = this.getNodeDepth(node,closest);
|
||||
for (var i = 1, m = nodes.length; i < m; i++) {
|
||||
var n = this.getNodeDepth(node,nodes[i]);
|
||||
if (n < N) {closest = nodes[i]; N = n}
|
||||
}
|
||||
return closest;
|
||||
},
|
||||
getNodeDepth: function (parent,node) {
|
||||
var n = 0;
|
||||
while (node && node !== parent) {node = node.parentNode; n++}
|
||||
return n;
|
||||
},
|
||||
|
||||
|
||||
/********************************************/
|
||||
|
@ -389,7 +403,7 @@
|
|||
onmouseover:EVENT.Mouseover, onmouseout:EVENT.Mouseout, onmousemove:EVENT.Mousemove,
|
||||
onclick:EVENT.Click, ondblclick:EVENT.DblClick,
|
||||
// Added for keyboard accessible menu.
|
||||
onkeydown: EVENT.Keydown, tabIndex: "0"
|
||||
onkeydown: EVENT.Keydown, tabIndex: HUB.getTabOrder(jax)
|
||||
});
|
||||
if (jax.CHTML.display) {
|
||||
//
|
||||
|
@ -858,10 +872,17 @@
|
|||
var test2 = CHTML.addElement(CHTML.CHTMLnode,"mjx-chartest",{className:name},[["mjx-char",{style:styles},[c,["mjx-box"]]]]);
|
||||
test1.firstChild.style.fontSize = test2.firstChild.style.fontSize = "";
|
||||
var em = 5*CHTML.em;
|
||||
var d = (test2.offsetHeight-1000)/em;
|
||||
var w = test1.offsetWidth/em, h = test1.offsetHeight/em - d;
|
||||
var H1 = test1.offsetHeight, H2 = test2.offsetHeight, W = test1.offsetWidth;
|
||||
CHTML.CHTMLnode.removeChild(test1);
|
||||
CHTML.CHTMLnode.removeChild(test2);
|
||||
if (H2 === 0) {
|
||||
em = 5*CHTML.defaultEm;
|
||||
var test = document.body.appendChild(document.createElement("div"));
|
||||
test.appendChild(test1); test.appendChild(test2);
|
||||
H1 = test1.offsetHeight, H2 = test2.offsetHeight, W = test1.offsetWidth;
|
||||
document.body.removeChild(test);
|
||||
}
|
||||
var d = (H2-1000)/em, w = W/em, h = H1/em - d;
|
||||
return {h:h, d:d, w:w}
|
||||
},
|
||||
|
||||
|
@ -1619,7 +1640,7 @@
|
|||
CHTMLdrawBBox: function (node,bbox) {
|
||||
if (!bbox) bbox = this.CHTML;
|
||||
var box = CHTML.Element("mjx-box",
|
||||
{style:{"font-size":node.style.fontSize, opacity:.25,"margin-left":CHTML.Em(-(bbox.w+(bbox.R||0)))}},[
|
||||
{style:{opacity:.25,"margin-left":CHTML.Em(-(bbox.w+(bbox.R||0)))}},[
|
||||
["mjx-box",{style:{
|
||||
height:CHTML.Em(bbox.h),width:CHTML.Em(bbox.w),
|
||||
"background-color":"red"
|
||||
|
@ -2054,17 +2075,18 @@
|
|||
MML.munderover.Augment({
|
||||
toCommonHTML: function (node,stretch) {
|
||||
var values = this.getValues("displaystyle","accent","accentunder","align");
|
||||
if (!values.displaystyle && this.data[this.base] != null &&
|
||||
this.data[this.base].CoreMO().Get("movablelimits"))
|
||||
var base = this.data[this.base];
|
||||
if (!values.displaystyle && base != null &&
|
||||
(base.movablelimits || base.CoreMO().Get("movablelimits")))
|
||||
return MML.msubsup.prototype.toCommonHTML.call(this,node,stretch);
|
||||
//
|
||||
// Get the nodes for base and limits
|
||||
//
|
||||
var base, under, over, nodes = [];
|
||||
var under, over, nodes = [];
|
||||
if (stretch) {
|
||||
base = CHTML.getNode(node,"mjx-op");
|
||||
under = CHTML.getNode(node,"mjx-under");
|
||||
over = CHTML.getNode(node,"mjx-over");
|
||||
if (this.data[this.base]) base = CHTML.getNode(node,"mjx-op");
|
||||
if (this.data[this.under]) under = CHTML.getNode(node,"mjx-under");
|
||||
if (this.data[this.over]) over = CHTML.getNode(node,"mjx-over");
|
||||
nodes[0] = base; nodes[1] = under||over; nodes[2] = over;
|
||||
} else {
|
||||
var types = ["mjx-op","mjx-under","mjx-over"];
|
||||
|
@ -2111,6 +2133,7 @@
|
|||
bbox[i] = this.CHTMLbboxFor(i); bbox[i].x = bbox[i].y = 0;
|
||||
if (this.data[i]) bbox[i].stretch = this.data[i].CHTMLcanStretch("Horizontal");
|
||||
scale = (i === this.base ? 1 : bbox[i].rscale);
|
||||
if (i !== this.base) {delete bbox[i].L; delete bbox[i].R} // these are overriden by CSS
|
||||
W = Math.max(W,scale*(bbox[i].w + (bbox[i].L||0) + (bbox[i].R||0)));
|
||||
if (!bbox[i].stretch && W > w) w = W;
|
||||
}
|
||||
|
@ -2247,7 +2270,12 @@
|
|||
this.CHTML = BBOX;
|
||||
},
|
||||
CHTMLstretchV: MML.mbase.CHTMLstretchV,
|
||||
CHTMLstretchH: MML.mbase.CHTMLstretchH
|
||||
CHTMLstretchH: MML.mbase.CHTMLstretchH,
|
||||
CHTMLchildNode: function (node,i) {
|
||||
var types = ["mjx-op","mjx-under","mjx-over"];
|
||||
if (this.over === 1) types[1] = types[2];
|
||||
return CHTML.getNode(node,types[i]);
|
||||
}
|
||||
});
|
||||
|
||||
/********************************************************/
|
||||
|
@ -2262,9 +2290,9 @@
|
|||
//
|
||||
var base, sub, sup;
|
||||
if (stretch) {
|
||||
base = CHTML.getNode(node,"mjx-base");
|
||||
sub = CHTML.getNode(node,"mjx-sub");
|
||||
sup = CHTML.getNode(node,"mjx-sup");
|
||||
if (this.data[this.base]) base = CHTML.getNode(node,"mjx-base");
|
||||
if (this.data[this.sub]) sub = CHTML.getNode(node,"mjx-sub");
|
||||
if (this.data[this.sup]) sup = CHTML.getNode(node,"mjx-sup");
|
||||
stack = CHTML.getNode(node,"mjx-stack");
|
||||
} else {
|
||||
var types = ["mjx-base","mjx-sub","mjx-sup"];
|
||||
|
@ -2353,7 +2381,12 @@
|
|||
return node;
|
||||
},
|
||||
CHTMLstretchV: MML.mbase.CHTMLstretchV,
|
||||
CHTMLstretchH: MML.mbase.CHTMLstretchH
|
||||
CHTMLstretchH: MML.mbase.CHTMLstretchH,
|
||||
CHTMLchildNode: function (node,i) {
|
||||
var types = ["mjx-base","mjx-sub","mjx-sup"];
|
||||
if (this.over === 1) types[1] = types[2];
|
||||
return CHTML.getNode(node,types[i]);
|
||||
}
|
||||
});
|
||||
|
||||
/********************************************************/
|
||||
|
@ -2400,22 +2433,22 @@
|
|||
BBOX.combine(dbox,nscale*nbox.w+bbox.w-delta,v);
|
||||
BBOX.clean();
|
||||
} else {
|
||||
frac.className += " MJXc-stacked";
|
||||
if (isDisplay) {u = CHTML.TEX.num1; v = CHTML.TEX.denom1}
|
||||
else {u = (t === 0 ? CHTML.TEX.num3 : CHTML.TEX.num2); v = CHTML.TEX.denom2}
|
||||
if (t === 0) { // \atop
|
||||
p = Math.max((isDisplay ? 7 : 3) * CHTML.TEX.rule_thickness, 2*mt); // force to at least 2 px
|
||||
q = (u - nbox.d*nscale) - (dbox.h*dscale - v);
|
||||
if (q < p) {u += (p - q)/2; v += (p - q)/2}
|
||||
frac.style.verticalAlign = CHTML.Em(-v);
|
||||
} else { // \over
|
||||
p = Math.max((isDisplay ? 2 : 0) * mt + t, t/2 + 1.5*mt);
|
||||
t = Math.max(t,mt);
|
||||
q = (u - nbox.d*nscale) - (a + t/2); if (q < p) u += (p - q);
|
||||
q = (a - t/2) - (dbox.h*dscale - v); if (q < p) v += (p - q);
|
||||
frac.style.verticalAlign = CHTML.Em(t/2-v);
|
||||
num.style.borderBottom = CHTML.Px(t/nscale*nbox.scale,1)+" solid";
|
||||
num.className += " MJXc-fpad"; nbox.L = nbox.R = .1;
|
||||
denom.className += " MJXc-fpad"; dbox.L = dbox.R = .1;
|
||||
nbox.L = nbox.R = dbox.L = dbox.R = .1; // account for padding in BBOX width
|
||||
var rule = CHTML.addElement(frac,"mjx-line",{style: {
|
||||
"border-bottom":CHTML.Px(t*BBOX.scale,1)+" solid", top: CHTML.Em(-t/2-a)
|
||||
}});
|
||||
}
|
||||
//
|
||||
// Determine the new bounding box and place the parts
|
||||
|
@ -2423,9 +2456,24 @@
|
|||
BBOX.combine(nbox,0,u);
|
||||
BBOX.combine(dbox,0,-v);
|
||||
BBOX.clean();
|
||||
u -= nscale*nbox.d + a + t/2; v -= dscale*dbox.h - a + t/2;
|
||||
if (u) num.style[u > 0 ? "paddingBottom" : "marginBottom"] = CHTML.Em(u/nscale);
|
||||
if (v) denom.style[v > 0 ? "paddingTop" : "marginTop"] = CHTML.Em(v/dscale);
|
||||
//
|
||||
// Force elements to the correct width
|
||||
//
|
||||
frac.style.width = CHTML.Em(BBOX.w);
|
||||
num.style.width = CHTML.Em(BBOX.w/nscale);
|
||||
denom.style.width = CHTML.Em(BBOX.w/dscale);
|
||||
if (rule) rule.style.width = frac.style.width;
|
||||
//
|
||||
// Place the numerator and denominator in relation to the baseline
|
||||
//
|
||||
num.style.top = CHTML.Em(-BBOX.h/nscale);
|
||||
denom.style.bottom = CHTML.Em(-BBOX.d/dscale);
|
||||
//
|
||||
// Force the size of the surrounding box, since everything is absolutely positioned
|
||||
//
|
||||
CHTML.addElement(node,"mjx-vsize",{style: {
|
||||
height: CHTML.Em(BBOX.h+BBOX.d), verticalAlign: CHTML.Em(-BBOX.d)
|
||||
}});
|
||||
}
|
||||
//
|
||||
// Add nulldelimiterspace around the fraction
|
||||
|
|
|
@ -27,7 +27,7 @@
|
|||
|
||||
MathJax.OutputJax["HTML-CSS"] = MathJax.OutputJax({
|
||||
id: "HTML-CSS",
|
||||
version: "2.6.0",
|
||||
version: "2.6.1",
|
||||
directory: MathJax.OutputJax.directory + "/HTML-CSS",
|
||||
extensionDir: MathJax.OutputJax.extensionDir + "/HTML-CSS",
|
||||
autoloadDir: MathJax.OutputJax.directory + "/HTML-CSS/autoload",
|
||||
|
|
|
@ -578,7 +578,7 @@
|
|||
onmousemove:EVENT.Mousemove, onclick:EVENT.Click,
|
||||
ondblclick:EVENT.DblClick,
|
||||
// Added for keyboard accessible menu.
|
||||
onkeydown: EVENT.Keydown, tabIndex: "0"
|
||||
onkeydown: EVENT.Keydown, tabIndex: HUB.getTabOrder(jax)
|
||||
});
|
||||
if (HUB.Browser.noContextMenu) {
|
||||
span.ontouchstart = TOUCH.start;
|
||||
|
@ -1606,6 +1606,8 @@
|
|||
+ String.fromCharCode((N&0x3FF)+0xDC00);
|
||||
}
|
||||
}
|
||||
if (HTMLCSS.ffFontOptimizationBug && c[4] - c[2] > 125)
|
||||
{span.style.textRendering = "optimizeLegibility"}
|
||||
if (C.rfix) {this.addText(span,text+C.c); HTMLCSS.createShift(span,C.rfix/1000); return ""}
|
||||
if (c[2] || !this.msieAccentBug || text.length) {return text + C.c}
|
||||
// Handle IE accent clipping bug
|
||||
|
@ -2713,8 +2715,9 @@
|
|||
MML.munderover.Augment({
|
||||
toHTML: function (span,HW,D) {
|
||||
var values = this.getValues("displaystyle","accent","accentunder","align");
|
||||
if (!values.displaystyle && this.data[this.base] != null &&
|
||||
this.data[this.base].CoreMO().Get("movablelimits"))
|
||||
var base = this.data[this.base];
|
||||
if (!values.displaystyle && base != null &&
|
||||
(base.movablelimits || base.CoreMO().Get("movablelimits")))
|
||||
{return MML.msubsup.prototype.toHTML.call(this,span)}
|
||||
span = this.HTMLcreateSpan(span); var scale = this.HTMLgetScale();
|
||||
var stack = HTMLCSS.createStack(span);
|
||||
|
@ -2753,8 +2756,8 @@
|
|||
if (box.bbox.w > WW) {WW = box.bbox.w}
|
||||
}}
|
||||
var t = HTMLCSS.TeX.rule_thickness * this.mscale, factor = HTMLCSS.FONTDATA.TeX_factor;
|
||||
var base = boxes[this.base] || {bbox: this.HTMLzeroBBox()};
|
||||
var x, y, z1, z2, z3, dw, k, delta = 0;
|
||||
base = boxes[this.base] || {bbox: this.HTMLzeroBBox()};
|
||||
if (base.bbox.ic) {delta = 1.3*base.bbox.ic + .05} // adjust faked IC to be more in line with expeted results
|
||||
for (i = 0, m = this.data.length; i < m; i++) {
|
||||
if (this.data[i] != null) {
|
||||
|
@ -3106,7 +3109,8 @@
|
|||
HTMLCSS.Augment({
|
||||
ffVerticalAlignBug: !browser.versionAtLeast("20.0"), // not sure when this bug was fixed
|
||||
AccentBug: true,
|
||||
allowWebFonts: webFonts
|
||||
allowWebFonts: webFonts,
|
||||
ffFontOptimizationBug: true
|
||||
});
|
||||
},
|
||||
|
||||
|
|
|
@ -27,7 +27,7 @@
|
|||
|
||||
MathJax.OutputJax.NativeMML = MathJax.OutputJax({
|
||||
id: "NativeMML",
|
||||
version: "2.6.0",
|
||||
version: "2.6.1",
|
||||
directory: MathJax.OutputJax.directory + "/NativeMML",
|
||||
extensionDir: MathJax.OutputJax.extensionDir + "/NativeMML",
|
||||
|
||||
|
|
|
@ -328,7 +328,7 @@
|
|||
container.ondblclick = EVENT.DblClick;
|
||||
// Added for keyboard accessible menu.
|
||||
container.onkeydown = EVENT.Keydown;
|
||||
container.tabIndex = "0";
|
||||
container.tabIndex = HUB.getTabOrder(jax);
|
||||
if (HUB.Browser.noContextMenu) {
|
||||
container.ontouchstart = TOUCH.start;
|
||||
container.ontouchend = TOUCH.end;
|
||||
|
@ -533,7 +533,10 @@
|
|||
var CLASS = []; if (this["class"]) {CLASS.push(this["class"])}
|
||||
if (this.isa(MML.TeXAtom)) {
|
||||
var TEXCLASS = ["ORD","OP","BIN","REL","OPEN","CLOSE","PUNCT","INNER","VCENTER"][this.texClass];
|
||||
if (TEXCLASS) {CLASS.push("MJX-TeXAtom-"+TEXCLASS)}
|
||||
if (TEXCLASS) {
|
||||
CLASS.push("MJX-TeXAtom-"+TEXCLASS)
|
||||
if (TEXCLASS === "OP" && !this.movablelimits) CLASS.push("MJX-fixedlimits");
|
||||
}
|
||||
}
|
||||
if (this.mathvariant && this.NativeMMLvariants[this.mathvariant])
|
||||
{CLASS.push("MJX"+this.mathvariant)}
|
||||
|
@ -630,12 +633,19 @@
|
|||
MML.munderover.Augment({
|
||||
//
|
||||
// Use proper version of munder, mover, or munderover, depending on
|
||||
// which items are present
|
||||
// which items are present. Handle movablelimits on TeXAtom base.
|
||||
//
|
||||
toNativeMML: function (parent) {
|
||||
var type = this.type;
|
||||
if (this.data[this.under] == null) {type = "mover"}
|
||||
if (this.data[this.over] == null) {type = "munder"}
|
||||
var base = this.data[this.base];
|
||||
if (base && base.isa(MML.TeXAtom) && base.movablelimits && !base.Get("displaystyle")) {
|
||||
type = "msubsup";
|
||||
if (this.data[this.under] == null) {type = "msup"}
|
||||
if (this.data[this.over] == null) {type = "msub"}
|
||||
} else {
|
||||
if (this.data[this.under] == null) {type = "mover"}
|
||||
if (this.data[this.over] == null) {type = "munder"}
|
||||
}
|
||||
var tag = this.NativeMMLelement(type);
|
||||
this.NativeMMLattributes(tag);
|
||||
if (this.data[0]) {delete this.data[0].inferred}
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
|
||||
MathJax.OutputJax.PlainSource = MathJax.OutputJax({
|
||||
id: "PlainSource",
|
||||
version: "2.6.0",
|
||||
version: "2.6.1",
|
||||
directory: MathJax.OutputJax.directory + "/PlainSource",
|
||||
extensionDir: MathJax.OutputJax.extensionDir + "/PlainSource",
|
||||
|
||||
|
|
|
@ -91,7 +91,7 @@
|
|||
ondblclick: EVENT.DblClick,
|
||||
// Added for keyboard accessible menu.
|
||||
onkeydown: EVENT.Keydown,
|
||||
tabIndex: "0"
|
||||
tabIndex: HUB.getTabOrder(jax)
|
||||
},[["span"]]);
|
||||
if (HUB.Browser.noContextMenu) {
|
||||
span.ontouchstart = TOUCH.start;
|
||||
|
|
|
@ -27,7 +27,7 @@
|
|||
|
||||
MathJax.OutputJax.PreviewHTML = MathJax.OutputJax({
|
||||
id: "PreviewHTML",
|
||||
version: "2.6.0",
|
||||
version: "2.6.1",
|
||||
directory: MathJax.OutputJax.directory + "/PreviewHTML",
|
||||
extensionDir: MathJax.OutputJax.extensionDir + "/PreviewHTML",
|
||||
noFastPreview: true, // don't do fast preview for this output jax
|
||||
|
|
|
@ -199,7 +199,7 @@
|
|||
onmouseover:EVENT.Mouseover, onmouseout:EVENT.Mouseout, onmousemove:EVENT.Mousemove,
|
||||
onclick:EVENT.Click, ondblclick:EVENT.DblClick,
|
||||
// Added for keyboard accessible menu.
|
||||
onkeydown: EVENT.Keydown, tabIndex: "0"
|
||||
onkeydown: EVENT.Keydown, tabIndex: HUB.getTabOrder(jax)
|
||||
});
|
||||
if (HUB.Browser.noContextMenu) {
|
||||
span.ontouchstart = TOUCH.start;
|
||||
|
@ -750,8 +750,9 @@
|
|||
MML.munderover.Augment({
|
||||
toPreviewHTML: function (span) {
|
||||
var values = this.getValues("displaystyle","accent","accentunder","align");
|
||||
if (!values.displaystyle && this.data[this.base] != null &&
|
||||
this.data[this.base].CoreMO().Get("movablelimits")) {
|
||||
var base = this.data[this.base];
|
||||
if (!values.displaystyle && base != null &&
|
||||
(base.movablelimits || base.CoreMO().Get("movablelimits"))) {
|
||||
span = MML.msubsup.prototype.toPreviewHTML.call(this,span);
|
||||
//
|
||||
// Change class to msubsup for CSS rules.
|
||||
|
|
|
@ -27,7 +27,7 @@
|
|||
|
||||
MathJax.OutputJax.SVG = MathJax.OutputJax({
|
||||
id: "SVG",
|
||||
version: "2.6.0",
|
||||
version: "2.6.1",
|
||||
directory: MathJax.OutputJax.directory + "/SVG",
|
||||
extensionDir: MathJax.OutputJax.extensionDir + "/SVG",
|
||||
autoloadDir: MathJax.OutputJax.directory + "/SVG/autoload",
|
||||
|
|
|
@ -222,7 +222,7 @@
|
|||
onmouseover:EVENT.Mouseover, onmouseout:EVENT.Mouseout, onmousemove:EVENT.Mousemove,
|
||||
onclick:EVENT.Click, ondblclick:EVENT.DblClick,
|
||||
// Added for keyboard accessible menu.
|
||||
onkeydown: EVENT.Keydown, tabIndex: "0"
|
||||
onkeydown: EVENT.Keydown, tabIndex: HUB.getTabOrder(jax)
|
||||
});
|
||||
if (HUB.Browser.noContextMenu) {
|
||||
span.ontouchstart = TOUCH.start;
|
||||
|
@ -1882,8 +1882,9 @@
|
|||
toSVG: function (HW,D) {
|
||||
this.SVGgetStyles();
|
||||
var values = this.getValues("displaystyle","accent","accentunder","align");
|
||||
if (!values.displaystyle && this.data[this.base] != null &&
|
||||
this.data[this.base].CoreMO().Get("movablelimits"))
|
||||
var base = this.data[this.base];
|
||||
if (!values.displaystyle && base != null &&
|
||||
(base.movablelimits || base.CoreMO().Get("movablelimits")))
|
||||
{return MML.msubsup.prototype.toSVG.call(this)}
|
||||
var svg = this.SVG(), scale = this.SVGgetScale(svg); this.SVGhandleSpace(svg);
|
||||
var boxes = [], stretch = [], box, i, m, W = -SVG.BIGDIMEN, WW = W;
|
||||
|
@ -1909,8 +1910,8 @@
|
|||
if (boxes[i].w > WW) {WW = boxes[i].w}
|
||||
}}
|
||||
var t = SVG.TeX.rule_thickness * this.mscale;
|
||||
var base = boxes[this.base] || {w:0, h:0, d:0, H:0, D:0, l:0, r:0, y:0, scale:scale};
|
||||
var x, y, z1, z2, z3, dw, k, delta = 0;
|
||||
base = boxes[this.base] || {w:0, h:0, d:0, H:0, D:0, l:0, r:0, y:0, scale:scale};
|
||||
if (base.ic) {delta = 1.3*base.ic + .05} // adjust faked IC to be more in line with expeted results
|
||||
for (i = 0, m = this.data.length; i < m; i++) {
|
||||
if (this.data[i] != null) {
|
||||
|
|
Loading…
Reference in New Issue
Block a user