diff --git a/mathjax/extensions/jsMath2jax.js b/mathjax/extensions/jsMath2jax.js index 9ccd87d46..5f5125f56 100644 --- a/mathjax/extensions/jsMath2jax.js +++ b/mathjax/extensions/jsMath2jax.js @@ -13,6 +13,6 @@ */ MathJax.Unpack([ - ['MathJax.Extension.jsMath2jax','={version:"1.0",config:{element:null,','preview',':"TeX"},','PreProcess',':function(','b){if(!','this.configured','){','MathJax.Hub.','Insert(this','.config,(',9,'config.jsMath2jax||{}));if(','this.config.','Augment','){',9,10,',',14,15,')}','if(typeof(',14,'previewTeX',')!=="undefined"&&!',14,25,'){',14,2,'="none"}this.previewClass=',9,'config.preRemoveClass',';',7,'=true}',23,'b)==="string"){b=document.getElementById(b)}if(!b){b=',14,'element||document.body}var c','=b.getElementsByTagName("','span"),a;for(a=c','.length-1;a>=0;a--){if(String(','c','[a].className).match(/(^| )math( |$)/)){this.ConvertMath(','c[a],"")}}var d',42,'div");for(a=d',44,'d',46,'d[a],"; mode=display")}}},ConvertMath',5,'c,d){var b=c','.parentNode',',a=this.','createMathTag','(d,c.innerHTML);if(c.nextSibling){b','.insertBefore(','a,c.nextSibling)}else{b.appendChild(a)}if(',14,2,'!=="none"){this.','createPreview','(c)}b.removeChild(c)},',65,5,'a){var b;if(',14,2,'==="TeX"){b=[this.filterTeX(a.innerHTML)]}else{if(',14,2,' instanceof Array){b=',14,2,'}}if(b){b=MathJax.HTML.Element("span",{className:',9,34,'},b);a',56,60,'b,a)}},',58,5,'c,b){b=b.replace(/</g,"<").replace(/>/g,">").replace(/&/g,"&");var a=document.createElement("script");a.type="math/tex"+c;if(',9,'Browser.isMSIE){a.text=b}else{a.appendChild(document.createTextNode(b))}return a},filterTeX',5,'a){return a}};',9,'Register.PreProcessor(["',4,'",',0,']);MathJax.Ajax.loadComplete("[MathJax]/extensions/jsMath2jax.js");'] + ['MathJax.Extension.jsMath2jax','={version:"1.0.1",config:{element:null,','preview',':"TeX"},','PreProcess',':function(','b){if(!','this.configured','){','MathJax.Hub.','Insert(this','.config,(',9,'config.jsMath2jax||{}));if(','this.config.','Augment','){',9,10,',',14,15,')}','if(typeof(',14,'previewTeX',')!=="undefined"&&!',14,25,'){',14,2,'="none"}this.previewClass=',9,'config.preRemoveClass',';',7,'=true}',23,'b)==="string"){b=document.getElementById(b)}if(!b){b=',14,'element||document.body}var c=b','.getElementsByTagName("','span"),a;for(a=c','.length-1;a>=0;a--){if(String(','c','[a].className).match(/(^| )math( |$)/)){this.ConvertMath(','c[a],"")}}var d=b',42,'div");for(a=d',44,'d',46,'d[a],"; mode=display")}}},ConvertMath',5,'c,d){if(c',42,'script").length===0){var b=c','.parentNode',',a=this.','createMathTag','(d,c.innerHTML);if(c.nextSibling){b','.insertBefore(','a,c.nextSibling)}else{b.appendChild(a)}if(',14,2,'!=="none"){this.','createPreview','(c)}b.removeChild(c)}},',67,5,'a){var b;if(',14,2,'==="TeX"){b=[this.filterTeX(a.innerHTML)]}else{if(',14,2,' instanceof Array){b=',14,2,'}}if(b){b=MathJax.HTML.Element("span",{className:',9,34,'},b);a',58,62,'b,a)}},',60,5,'c,b){b=b.replace(/</g,"<").replace(/>/g,">").replace(/&/g,"&");var a=document.createElement("script");a.type="math/tex"+c;if(',9,'Browser.isMSIE){a.text=b}else{a.appendChild(document.createTextNode(b))}return a},filterTeX',5,'a){return a}};',9,'Register.PreProcessor(["',4,'",',0,']);MathJax.Ajax.loadComplete("[MathJax]/extensions/jsMath2jax.js");'] ]); diff --git a/mathjax/unpacked/extensions/jsMath2jax.js b/mathjax/unpacked/extensions/jsMath2jax.js index 3c2fd2d68..80568a887 100644 --- a/mathjax/unpacked/extensions/jsMath2jax.js +++ b/mathjax/unpacked/extensions/jsMath2jax.js @@ -31,7 +31,7 @@ */ MathJax.Extension.jsMath2jax = { - version: "1.0", + version: "1.0.1", config: { element: null, // The ID of the element to be processed @@ -62,12 +62,14 @@ MathJax.Extension.jsMath2jax = { }, ConvertMath: function (node,mode) { - var parent = node.parentNode, - script = this.createMathTag(mode,node.innerHTML); - if (node.nextSibling) {parent.insertBefore(script,node.nextSibling)} - else {parent.appendChild(script)} - if (this.config.preview !== "none") {this.createPreview(node)} - parent.removeChild(node); + if (node.getElementsByTagName("script").length === 0) { + var parent = node.parentNode, + script = this.createMathTag(mode,node.innerHTML); + if (node.nextSibling) {parent.insertBefore(script,node.nextSibling)} + else {parent.appendChild(script)} + if (this.config.preview !== "none") {this.createPreview(node)} + parent.removeChild(node); + } }, createPreview: function (node) { diff --git a/test/jsMath2jax.html b/test/jsMath2jax.html new file mode 100644 index 000000000..08effb01c --- /dev/null +++ b/test/jsMath2jax.html @@ -0,0 +1,30 @@ + + + +jsMath2jax Test + + + + +\begin{eqnarray} + x & = & 4y + 3z \\ + z & > & a + b + ... + j + \\ + & & k + l + m + \end{eqnarray} + +
+\begin{eqnarray} + x & = & 4y + 3z \\ + z & > & a + b + ... + j + \\ + & & k + l + m + \end{eqnarray} + +
+ + +