From d613dabd8eceee873563c38956bf4642d1f9d03f Mon Sep 17 00:00:00 2001 From: "Davide P. Cervone" Date: Mon, 20 Jul 2015 15:06:37 -0400 Subject: [PATCH] Treat missing super- or subscript as when not properly paired in multiscripts. Resolves issue #1188. --- unpacked/jax/output/HTML-CSS/autoload/mmultiscripts.js | 6 ++++-- unpacked/jax/output/SVG/autoload/mmultiscripts.js | 6 ++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/unpacked/jax/output/HTML-CSS/autoload/mmultiscripts.js b/unpacked/jax/output/HTML-CSS/autoload/mmultiscripts.js index b8e1616a3..1bfe065a6 100644 --- a/unpacked/jax/output/HTML-CSS/autoload/mmultiscripts.js +++ b/unpacked/jax/output/HTML-CSS/autoload/mmultiscripts.js @@ -122,14 +122,16 @@ MathJax.Hub.Register.StartupHook("HTML-CSS Jax Ready",function () { while (i < m && this.data[i].type !== "mprescripts") { var box = [null,null,null,null]; for (var j = k; j < k+2; j++) { - if (this.data[i] && this.data[i].type !== "none") { + if (this.data[i] && this.data[i].type !== "none" && this.data[i].type !== "mprescripts") { if (!BOX[j]) { BOX[j] = HTMLCSS.createBox(stack); BOX[j].bbox = this.HTMLemptyBBox({}); if (W) {HTMLCSS.createBlank(BOX[j],W); BOX[j].bbox.w = BOX[j].bbox.rw = W} } box[j] = this.data[i].toHTML(BOX[j]); + } else { + box[j] = MathJax.HTML.Element("span",{bbox:this.HTMLemptyBBox({})}); } - i++; + if ((this.data[i]||{}).type !== "mprescripts") i++; } var isPre = (k === 2); sub = BOX[k]; sup = BOX[k+1]; diff --git a/unpacked/jax/output/SVG/autoload/mmultiscripts.js b/unpacked/jax/output/SVG/autoload/mmultiscripts.js index 000a62e95..14705258b 100644 --- a/unpacked/jax/output/SVG/autoload/mmultiscripts.js +++ b/unpacked/jax/output/SVG/autoload/mmultiscripts.js @@ -103,11 +103,13 @@ MathJax.Hub.Register.StartupHook("SVG Jax Ready",function () { while (i < m && this.data[i].type !== "mprescripts") { var box = [null,null,null,null]; for (var j = k; j < k+2; j++) { - if (this.data[i] && this.data[i].type !== "none") { + if (this.data[i] && this.data[i].type !== "none" && this.data[i].type !== "mprescripts") { if (!BOX[j]) {BOX[j] = SVG.BBOX.G()} box[j] = this.data[i].toSVG(); + } else { + box[j] = {w:0}; } - i++; + if (this.data[i].type !== "mprescripts") i++; } var isPre = (k === 2); if (isPre) W += Math.max((box[k]||{w:0}).w,(box[k+1]||{w:0}).w);