Improve operator name spacing

After supsub and after close-paren was wrong, see GitHub comment.
diff --git a/src/commands/math/basicSymbols.js b/src/commands/math/basicSymbols.js
index 2b55143..06ea85c 100644
--- a/src/commands/math/basicSymbols.js
+++ b/src/commands/math/basicSymbols.js
@@ -122,8 +122,11 @@
           first.ctrlSeq = (isBuiltIn ? '\\' : '\\operatorname{') + first.ctrlSeq;
           last.ctrlSeq += (isBuiltIn ? ' ' : '}');
           if (TwoWordOpNames.hasOwnProperty(word)) last[L][L][L].jQ.addClass('mq-last');
-          if (nonOperatorSymbol(first[L])) first.jQ.addClass('mq-first');
-          if (nonOperatorSymbol(last[R])) last.jQ.addClass('mq-last');
+          if (!shouldOmitPadding(first[L])) first.jQ.addClass('mq-first');
+          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');
+          }
 
           i += len - 1;
           first = last;
@@ -132,8 +135,9 @@
       }
     }
   };
-  function nonOperatorSymbol(node) {
-    return node instanceof Symbol && !(node instanceof BinaryOperator);
+  function shouldOmitPadding(node) {
+    // omit padding if no node, or if node already has padding (to avoid double-padding)
+    return !node || (node instanceof BinaryOperator) || (node instanceof SummationNotation);
   }
 });
 var BuiltInOpNames = {}; // the set of operator names like \sin, \cos, etc that
diff --git a/test/visual.html b/test/visual.html
index 0429dd0..6028a1a 100644
--- a/test/visual.html
+++ b/test/visual.html
@@ -187,7 +187,17 @@
 <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">\theta + \sin 2\deg</span><td><span>\theta + \sin 2\deg</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>

+<tr><td><span class="mathquill-static-math">a + b</span></td><td><span>a + b</span>

+<tr><td><span class="mathquill-static-math">\sum\sin</span></td><td><span>\sum\sin</span>

+<tr><td><span class="mathquill-static-math">\sum a</span></td><td><span>\sum a</span>

+<tr><td><span class="mathquill-static-math">(\sin)</span></td><td><span>(\sin)</span>

+<tr><td><span class="mathquill-static-math">\left(\sin\right)</span></td><td><span>\left(\sin\right)</span>

+<tr><td><span class="mathquill-static-math">(x)\sin(x)</span></td><td><span>(x)\sin(x)</span>

+<tr><td><span class="mathquill-static-math">\left(x\right)\sin\left(x\right)</span></td><td><span>\left(x\right)\sin\left(x\right)</span>

+<tr><td><span class="mathquill-static-math">a \sin b</span></td><td><span>a \sin b</span>

 <tr><td><span class="mathquill-static-math">-1 + +-2</span><td><span>-1 + +-2</span>

 <tr><td><span class="mathquill-static-math">\left ( n+1 \right ) + \frac{1}{\frac{n}{k}} + \binom{n}{k}</span><td><span>\left ( n+1 \right ) + \frac{1}{\frac{n}{k}} + \binom{n}{k}</span>

 <tr><td><span class="mathquill-static-math">x_{\frac{1}{\frac{2}{3}}}^{\frac{\frac{1}{2}}{3}}</span><td><span>x_{\frac{1}{\frac{2}{3}}}^{\frac{\frac{1}{2}}{3}}</span>