Merge pull request #1382 from mathjax/develop

Merge develop into master for 2.6.1 release
This commit is contained in:
Peter Krautzberger 2016-02-08 17:46:12 +01:00
commit d4ab1b35c9
76 changed files with 579 additions and 437 deletions

18
.travis.yml Normal file
View 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

View File

@ -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
},

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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");

View File

@ -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);

View File

@ -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

View File

@ -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

View File

@ -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!'"
}
}

View File

@ -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+/)} :

View File

@ -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
},

View File

@ -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" : "")
});

View File

@ -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),

View File

@ -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&thinsp;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',

View File

@ -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 = [];

View File

@ -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",

View File

@ -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) {

View File

@ -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",

View File

@ -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 \\

View File

@ -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",

View File

@ -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

View File

@ -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",

View File

@ -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
});
},

View File

@ -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",

View File

@ -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}

View File

@ -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",

View File

@ -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;

View File

@ -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

View File

@ -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.

View File

@ -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",

View File

@ -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) {