Merge pull request #605 from mathquill/fix.sin-squared
Fix sin^2 x spacing (worsened by #602)
diff --git a/src/commands/math/basicSymbols.js b/src/commands/math/basicSymbols.js
index 06ea85c..9b19d5b 100644
--- a/src/commands/math/basicSymbols.js
+++ b/src/commands/math/basicSymbols.js
@@ -103,7 +103,7 @@
// removeClass and delete flags from all letters before figuring out
// which, if any, are part of an operator name
Fragment(l[R] || this.parent.ends[L], r[L] || this.parent.ends[R]).each(function(el) {
- el.italicize(true).jQ.removeClass('mq-first mq-last');
+ el.italicize(true).jQ.removeClass('mq-first mq-last mq-followed-by-supsub');
el.ctrlSeq = el.letter;
});
@@ -126,6 +126,9 @@
if (!shouldOmitPadding(last[R]) && !(last[R] instanceof Bracket)) {
// also omit space between operator name and paren like in sin(x)
last.jQ.addClass('mq-last');
+ if (last[R] instanceof SupSub) {
+ last.jQ.addClass('mq-followed-by-supsub');
+ }
}
i += len - 1;
diff --git a/src/css/math.less b/src/css/math.less
index 49a4214..8260cd7 100644
--- a/src/css/math.less
+++ b/src/css/math.less
@@ -218,6 +218,14 @@
}
var.mq-operator-name.mq-last {
padding-right: .2em;
+
+ &.mq-followed-by-supsub {
+ padding-right: 0;
+
+ + .mq-supsub {
+ padding-right: .2em;
+ }
+ }
}
////
diff --git a/test/visual.html b/test/visual.html
index cda3f14..1126837 100644
--- a/test/visual.html
+++ b/test/visual.html
@@ -187,6 +187,7 @@
<tr><td><span class="mathquill-static-math">^{\frac{as}{ }df}</span><td><span>^{\frac{as}{ }df}</span>
<tr><td><span class="mathquill-static-math">e^{i\pi}+1=0</span><td><span>e^{i\pi}+1=0</span>
<tr><td><span class="mathquill-static-math">\sqrt[n]{1}</span><td><span>\sqrt[n]{1}</span>
+<tr><td><span class="mathquill-static-math">\sin^2 x</span></td><td><span>\sin^2 x</span>
<tr><td><span class="mathquill-static-math">12a\sin b</span></td><td><span>12a\sin b</span>
<tr><td><span class="mathquill-static-math">1a^2 \sin b</span></td><td><span>1a^2 \sin b</span>
<tr><td><span class="mathquill-static-math">a + \sin b</span></td><td><span>a + \sin b</span>