#679: Add \overarc and \overleftrightarrow
diff --git a/src/commands/math/commands.js b/src/commands/math/commands.js index f361a51..68838bb 100644 --- a/src/commands/math/commands.js +++ b/src/commands/math/commands.js
@@ -81,6 +81,8 @@ LatexCmds.overline = LatexCmds.bar = bind(Style, '\\overline', 'span', 'class="mq-non-leaf mq-overline"'); LatexCmds.overrightarrow = bind(Style, '\\overrightarrow', 'span', 'class="mq-non-leaf mq-overarrow mq-arrow-right"'); LatexCmds.overleftarrow = bind(Style, '\\overleftarrow', 'span', 'class="mq-non-leaf mq-overarrow mq-arrow-left"'); +LatexCmds.overleftrightarrow = bind(Style, '\\overleftrightarrow', 'span', 'class="mq-non-leaf mq-overarrow mq-arrow-both"'); +LatexCmds.overarc = bind(Style, '\\overarc', 'span', 'class="mq-non-leaf mq-overarc"'); LatexCmds.dot = P(MathCommand, function(_, super_) { _.init = function() { super_.init.call(this, '\\dot', '<span class="mq-non-leaf"><span class="mq-dot-recurring-inner">'
diff --git a/src/css/math.less b/src/css/math.less index bff1201..dfa53e2 100644 --- a/src/css/math.less +++ b/src/css/math.less
@@ -350,10 +350,24 @@ font-family: @symbola; } + .mq-overarc { + border-top: 1px solid black; + -webkit-border-top-right-radius: 50% .3em; + -moz-border-radius-topright: 50% .3em; + border-top-right-radius: 50% .3em; + -webkit-border-top-left-radius: 50% .3em; + -moz-border-radius-topleft: 50% .3em; + border-top-left-radius: 50% .3em; + margin-top: 1px; + padding-top: 0.15em; + } + .mq-overarrow { + min-width: .5em; border-top: 1px solid black; margin-top: 1px; padding-top: 0.2em; + text-align: center; &:before { display: block; @@ -372,5 +386,34 @@ filter: FlipH; -ms-filter: "FlipH"; } + &.mq-arrow-both { + vertical-align: text-bottom; + + &.mq-empty { + min-height: 1.23em; + + &:after { + top: -0.34em; + } + } + &:before{ + -moz-transform: scaleX(-1); + -o-transform: scaleX(-1); + -webkit-transform: scaleX(-1); + transform: scaleX(-1); + filter: FlipH; + -ms-filter: "FlipH"; + } + &:after { + display: block; + position: relative; + top: -2.3em; + font-size: 0.5em; + line-height: 0em; + content: '\27A4'; + visibility: visible; //must override .mq-editable-field.mq-empty:after + text-align: right; + } + } } }
diff --git a/test/visual.html b/test/visual.html index 1f77a3c..3d091f5 100644 --- a/test/visual.html +++ b/test/visual.html
@@ -212,6 +212,11 @@ <tr><td><span class="mathquill-static-math">\vec x + \tilde x + \vec A + \tilde A + \vec{abcd} + \tilde{abcd}</span><td><span>\vec x + \tilde x + \vec A + \tilde A + \vec{abcd} + \tilde{abcd}</span>^M <tr><td><span class="mathquill-static-math">\int _{\phi =0}^{2\pi }\int _{\theta =0}^{\pi }\int _{r=0}^{\infty }f(r,\theta ,\phi )r^2\sin \theta drd\theta d\phi </span><td><span>\int _{\phi =0}^{2\pi }\int _{\theta =0}^{\pi }\int _{r=0}^{\infty }f(r,\theta ,\phi )r^2\sin \theta drd\theta d\phi </span> <tr><td><span class="mathquill-static-math">\int_0^{\frac{\frac{1}{2}}{3}} \int_0^{\frac{1}{\frac{2}{3}}} \int_0^{\frac{1}{\frac{2}{\frac{3}{\frac{4}{5}}}}}</span><td><span>\int_0^{\frac{\frac{1}{2}}{3}} \int_0^{\frac{1}{\frac{2}{3}}} \int_0^{\frac{1}{\frac{2}{\frac{3}{\frac{4}{5}}}}}</span> +<tr><td><span class="mathquill-static-math">\overline{abc}</span><td><span>\overline{abc}</span> +<tr><td><span class="mathquill-static-math">\overleftarrow{abc}</span><td><span>\overleftarrow{abc}</span> +<tr><td><span class="mathquill-static-math">\overrightarrow{abc}</span><td><span>\overrightarrow{abc}</span> +<tr><td><span class="mathquill-static-math">\overleftrightarrow{abc}</span><td><span>\overleftrightarrow{abc}</span> +<tr><td><span class="mathquill-static-math">\overarc{abc}</span><td><span>\overarc{abc}</span> <tr><td colspan=2><span id="sixes"></span> <script> $(function() {