@zklogic/draw.io
Version:
Draw.IO - Graph Editor integration in Angular-cli
1 lines • 6.21 kB
JavaScript
MathJax.Extension.tex2jax={version:"2.7.9",config:{inlineMath:[["\\(","\\)"]],displayMath:[["$$","$$"],["\\[","\\]"]],skipTags:["script","noscript","style","textarea","pre","code","annotation","annotation-xml"],ignoreClass:"tex2jax_ignore",processClass:"tex2jax_process",processEscapes:!1,processEnvironments:!0,processRefs:!0,preview:"TeX"},ignoreTags:{br:MathJax.Hub.Browser.isMSIE&&document.documentMode<9?"\n":" ",wbr:"","#comment":""},PreProcess:function(e){this.configured||(this.config=MathJax.Hub.CombineConfig("tex2jax",this.config),this.config.Augment&&MathJax.Hub.Insert(this,this.config.Augment),void 0===this.config.previewTeX||this.config.previewTeX||(this.config.preview="none"),this.configured=!0),"string"==typeof e&&(e=document.getElementById(e)),e||(e=document.body),this.createPatterns()&&this.scanElement(e,e.nextSibling)},createPatterns:function(){var e,t,s=[],n=[],a=this.config;for(this.match={},e=0,t=a.inlineMath.length;e<t;e++)s.push(this.patternQuote(a.inlineMath[e][0])),this.match[a.inlineMath[e][0]]={mode:"",end:a.inlineMath[e][1],pattern:this.endPattern(a.inlineMath[e][1])};for(e=0,t=a.displayMath.length;e<t;e++)s.push(this.patternQuote(a.displayMath[e][0])),this.match[a.displayMath[e][0]]={mode:"; mode=display",end:a.displayMath[e][1],pattern:this.endPattern(a.displayMath[e][1])};s.length&&n.push(s.sort(this.sortLength).join("|")),a.processEnvironments&&n.push("\\\\begin\\{([^}]*)\\}"),a.processEscapes&&n.push("\\\\*\\\\\\$"),a.processRefs&&n.push("\\\\(eq)?ref\\{[^}]*\\}"),this.start=new RegExp(n.join("|"),"g"),this.skipTags=new RegExp("^("+a.skipTags.join("|")+")$","i");var i=[];return MathJax.Hub.config.preRemoveClass&&i.push(MathJax.Hub.config.preRemoveClass),a.ignoreClass&&i.push(a.ignoreClass),this.ignoreClass=i.length?new RegExp("(^| )("+i.join("|")+")( |$)"):/^$/,this.processClass=new RegExp("(^| )("+a.processClass+")( |$)"),n.length>0},patternQuote:function(e){return e.replace(/([\^$(){}+*?\-|\[\]\:\\])/g,"\\$1")},endPattern:function(e){return new RegExp(this.patternQuote(e)+"|\\\\.|[{}]","g")},sortLength:function(e,t){return e.length!==t.length?t.length-e.length:e==t?0:e<t?-1:1},scanElement:function(e,t,s){for(var n,a,i,r;e&&e!=t;)"#text"===e.nodeName.toLowerCase()?s||(e=this.scanText(e)):(n=void 0===e.className?"":e.className,a=void 0===e.tagName?"":e.tagName,"string"!=typeof n&&(n=String(n)),r=this.processClass.exec(n),!e.firstChild||n.match(/(^| )MathJax/)||!r&&this.skipTags.exec(a)||(i=(s||this.ignoreClass.exec(n))&&!r,this.scanElement(e.firstChild,t,i))),e&&(e=e.nextSibling)},scanText:function(e){if(""==e.nodeValue.replace(/\s+/,""))return e;var t,s,n,a=0;for(this.search={start:!0},this.pattern=this.start;e;){for(n=null,this.pattern.lastIndex=a,a=0;e&&"#text"===e.nodeName.toLowerCase()&&(t=this.pattern.exec(e.nodeValue));)e=this.search.start?this.startMatch(t,e):this.endMatch(t,e);if(this.search.matched?e=this.encloseMath(e):this.search.start||this.search.close||(n=this.search),e){do{s=e,e=e.nextSibling}while(e&&null!=this.ignoreTags[e.nodeName.toLowerCase()]);if(!e||"#text"!==e.nodeName){if(!n)return this.search.close?this.prevEndMatch():s;e=n.open,a=n.opos+n.olen+(n.blen||0),this.search={start:!0},this.pattern=this.start}}}return e},startMatch:function(e,t){var s=this.match[e[0]];if(null!=s)this.search={end:s.end,mode:s.mode,pcount:0,open:t,olen:e[0].length,opos:this.pattern.lastIndex-e[0].length},this.switchPattern(s.pattern);else if("\\begin"===e[0].substr(0,6))this.search={end:"\\end{"+e[1]+"}",mode:"; mode=display",pcount:0,open:t,olen:0,opos:this.pattern.lastIndex-e[0].length,blen:e[1].length+3,isBeginEnd:!0},this.switchPattern(this.endPattern(this.search.end));else{if("\\ref"===e[0].substr(0,4)||"\\eqref"===e[0].substr(0,6))return this.search={mode:"",end:"",open:t,pcount:0,olen:0,opos:this.pattern.lastIndex-e[0].length},this.endMatch([""],t);var n,a,i=e[0].substr(0,e[0].length-1);i.length%2==0?(a=[i.replace(/\\\\/g,"\\")],n=1):(a=[i.substr(1).replace(/\\\\/g,"\\"),"$"],n=0),a=MathJax.HTML.Element("span",null,a);var r=MathJax.HTML.TextNode(t.nodeValue.substr(0,e.index));t.nodeValue=t.nodeValue.substr(e.index+e[0].length-n),t.parentNode.insertBefore(a,t),t.parentNode.insertBefore(r,a),this.pattern.lastIndex=n}return t},endMatch:function(e,t){var s=this.search;return e[0]==s.end&&(s.close&&0!==s.pcount||(s.close=t,s.cpos=this.pattern.lastIndex,s.clen=s.isBeginEnd?0:e[0].length),0===s.pcount&&(s.matched=!0,t=this.encloseMath(t),this.switchPattern(this.start))),"{"===e[0]?s.pcount++:"}"===e[0]&&s.pcount&&s.pcount--,t},prevEndMatch:function(){this.search.matched=!0;var e=this.encloseMath(this.search.close);return this.switchPattern(this.start),e},switchPattern:function(e){e.lastIndex=this.pattern.lastIndex,this.pattern=e,this.search.start=e===this.start},encloseMath:function(e){var t,s,n,a=this.search,i=a.close;for((i=a.cpos===i.length?i.nextSibling:i.splitText(a.cpos))||(t=i=MathJax.HTML.addText(a.close.parentNode,"")),a.close=i,s=a.opos?a.open.splitText(a.opos):a.open;(n=s.nextSibling)&&n!==i;){if(null!==n.nodeValue)"#comment"===n.nodeName?s.nodeValue+=n.nodeValue.replace(/^\[CDATA\[((.|\n|\r)*)\]\]$/,"$1"):s.nodeValue+=n.nodeValue;else{var r=this.ignoreTags[n.nodeName.toLowerCase()];s.nodeValue+=null==r?" ":r}s.parentNode.removeChild(n)}var o=s.nodeValue.substr(a.olen,s.nodeValue.length-a.olen-a.clen);return s.parentNode.removeChild(s),"none"!==this.config.preview&&this.createPreview(a.mode,o),s=this.createMathTag(a.mode,o),this.search={},this.pattern.lastIndex=0,t&&t.parentNode.removeChild(t),s},insertNode:function(e){var t=this.search;t.close.parentNode.insertBefore(e,t.close)},createPreview:function(e,t){var s=MathJax.Hub.config.preRemoveClass,n=this.config.preview;"none"!==n&&(this.search.close.previousSibling||{}).className!==s&&("TeX"===n&&(n=[this.filterPreview(t)]),n&&(n=MathJax.HTML.Element("span",{className:s},n),this.insertNode(n)))},createMathTag:function(e,t){var s=document.createElement("script");return s.type="math/tex"+e,MathJax.HTML.setScript(s,t),this.insertNode(s),s},filterPreview:function(e){return e}},MathJax.Hub.Register.PreProcessor(["PreProcess",MathJax.Extension.tex2jax]),MathJax.Ajax.loadComplete("[MathJax]/extensions/tex2jax.js");