From 948620fa0296e96564649d297218e908c5cc88bd Mon Sep 17 00:00:00 2001 From: "Davide P. Cervone" Date: Thu, 20 Aug 2015 10:32:21 -0400 Subject: [PATCH] Handle missing elements better (see issue 486) --- unpacked/jax/output/CommonHTML/autoload/mtable.js | 2 +- unpacked/jax/output/CommonHTML/jax.js | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/unpacked/jax/output/CommonHTML/autoload/mtable.js b/unpacked/jax/output/CommonHTML/autoload/mtable.js index dd1362e99..0e4e6ee64 100644 --- a/unpacked/jax/output/CommonHTML/autoload/mtable.js +++ b/unpacked/jax/output/CommonHTML/autoload/mtable.js @@ -488,7 +488,7 @@ MathJax.Hub.Register.StartupHook("CommonHTML Jax Ready",function () { var h = state.HH, d = state.DD; for (var i = 0, m = LABELS.length; i < m; i++) { if (!state.HD) {h = H[i]; d = D[i]} - if (LABELS[i]) { + if (LABELS[i] && this.data[i].data[0]) { labels.appendChild(LABELS[i]); var lbox = this.data[i].data[0].CHTML; T += h - lbox.h; diff --git a/unpacked/jax/output/CommonHTML/jax.js b/unpacked/jax/output/CommonHTML/jax.js index 6127638b0..363b406cf 100644 --- a/unpacked/jax/output/CommonHTML/jax.js +++ b/unpacked/jax/output/CommonHTML/jax.js @@ -2050,6 +2050,7 @@ W = Math.max(W,scale*(bbox[i].w + (bbox[i].L||0) + (bbox[i].R||0))); } } + if (!bbox[this.base]) bbox[this.base] = CHTML.BBOX.empty(); return W; }, // @@ -2208,7 +2209,8 @@ // var boxes = [], BBOX = CHTML.BBOX.empty(this.CHTML); for (var i = 0, m = this.data.length; i < m; i++) boxes[i] = this.CHTMLbboxFor(i); - var bbox = boxes[this.base], sbox = boxes[this.sub], Sbox = boxes[this.sup]; + var bbox = boxes[this.base] || CHTML.BBOX.empty(), + sbox = boxes[this.sub], Sbox = boxes[this.sup]; var sscale = (sub ? sbox.rscale : 1), Sscale = (sup ? Sbox.rscale : 1); BBOX.combine(bbox,0,0); // @@ -2369,7 +2371,7 @@ node = this.CHTMLdefaultNode(node,{ childNodes:["mjx-box","mjx-root"], forceChild:true, noBBox:true }); - var base = node.firstChild; + var base = node.firstChild || HTML.Element("mjx-box"); var sqrt = HTML.addElement(node,"mjx-box"); sqrt.appendChild(base); var bbox = this.CHTMLbboxFor(0), BBOX = CHTML.BBOX.empty(this.CHTML); var t = CHTML.TEX.rule_thickness, T = CHTML.TEX.surd_height, p = t, q, H;