# Keyboard Operator Shortcuts

The previous post introduces Hermann Klinke’s math input notation, which he developed to speed up entry of equations for real-time note taking in OneNote. The post is followed by a very interesting set of comments comparing high-speed, and yet easy-to-remember, input sequences. Some of these involve hot keys and some can be done with math autocorrect. Both approaches are significantly faster than TeX input. In a future post, I’ll write about possible use of hot keys in math zones, which seems like a really powerful feature (MathType has it). The present post deals with a simple, intuitive way of entering 129 Unicode operators.

Over the years I’ve played with simple keyboard sequences for entering operators, such as +- giving ±. Some such sequences work in math zones of Office 2007/2010. This post gives a table of a larger set of 129 sequences that are reasonably unambiguous. Note that ^ and _ are not used since a user may want to superscript or subscript an operator. Even the case +- giving ± could be ambiguous, since one might want to write a + −b. The user can enter this by typing a+-<undo>b, so counting on undo is a possible way to free up some other natural sequences. An interesting example is <-, which has a mathematical meaning as illustrated by the relation a < −b. Accordingly, the sequence <- isn’t used to produce ←. In contrast, -> has no mathematical meaning and therefore produces → unambiguously. Fortuitously → is much more common in mathematics than ←, since → is used in limit expressions. The +- and -> are included in the math autocorrect file that ships with Microsoft Office. You can add the new ones in this post to your math autocorrect file.

The operator-sequence table given below includes keyboard sequences for operators that can be produced using the ASCII operators !+-./:<=>`' and ~. I couldn’t resist adding the somewhat unintuitive characters `, which transforms < and > into ≺ and ≻, respectively, and ', which transforms < and > into ⊂ and ⊃, respectively. These transformations provide access to 44 additional operators. To input the entire Unicode operator repertoire, one needs a notation that uses additional characters or falls back on TeX notation.

In the present scheme, = usually adds a horizontal bar under the preceding operator. For example, >= produces ≥. An additional = converts ≥ into ≧. For cases where Unicode lacks the single-bar character but has the double-bar character, a single = produces the double-bar character directly. For example, ≷ = → ⪒. Amazingly enough ⪒ actually exists in Unicode! Similarly, ~ puts a ~ under the preceding character, as in ~~ → ≈, etc.

Unicode has 18 negated operators defined by the corresponding unnegated characters followed by the slanted-bar combining mark U+0338 as shown in Table 2.8 of Unicode Technical Report #25 Unicode Support for Mathematics. Table 2.8 also has 18 negated operators that have the vertical bar combining mark U+20D2. It would be easy to add the former to the table, but our current fonts don’t display them very well. Using the vertical bar for the corresponding combining mark can be ambiguous and needs further analysis.

In the table the characters in the shaded cells result from typing the characters in the unshaded cells to their left. Note that the Office formula autobuildup facility automatically replaces the ASCII - by U+2212 (−), so technically there are no entries for the ASCII -. In the table, the shaded characters are followed by their Unicode code points without the U+ prefix for simplicity.

 char1 char2 New char char3 New char char4 New char char5 New char ! ! ‼ 203C * = ⩮ 2A6E + − ± 00B1 + = ⩲ 2A72 − + ∓ 2213 − : ∹ 2239 − = ≡ 2261 = ≣ 2263 − > → 2192 . = ∸ 2238 = ≐ 2250 . = ≑ ⩧ 2251 2A67 . ~ ⩪ 2A6A . = ∻ ⩭ 223B 2A6D / < ≮ 226E = ~ >  ' ` ≰ ≴ ≸ ⊄ ⊀ 2270 2274 2278 2284 2280 = ⊈ 2288 / = ≠ 2260 = ≢ 2262 / > ≯ 226F = ~ <  ' ` ≱ ≵ ≹ ⊅ ⊁ 2271 2275 2279 2285 2281 = ⊉ 2289 / ~ ≁ 2241 = ~ ≄ ≉ 2244 2249 = ≇ 2247 : : ∷ 2237 = ⩴ 2A74 : = ≔ 2254 < / ≦ ⋚ 2266 22DA > ⪋ 2A8B < > ≶ 2276 = ⪑ 2A91 < ~ ≲ 2272 ~ > ⪅ ⪏ 2A85 2A8F < ' ⊂ 2282 / = <  >  ~ ⊂/ ⊆ ⫕ ⫓ ⫇ 2286 2AD5 2AD3 2AC7 = =   ~ ⊊ ⫅   ⫉ 228A 2AC5   2AC9 = ⫋ 2ACB < ` ≺ 227A /   = <  ~ ≺/   ⪯ ⪻ ≾ 2AAF 2ABB 227E = ~ =   ~ ⪱ ⋨ ⪳   ⪷ 2AB1 22E8 2AB3   2AB7 = ~ ⪵ ⪹ 2AB5 2AB9 = < ⋜ 22DC = = ⩵ 2A75 = <  >  ~ ⩶ ⪙ ⪚ ⩳ 2A76 2A99 2A9A 2A73 = > ⋝ 22DD = : ≕ 2255 = ~ ≂ 2242 > / >/ = ~ ⪈ ⋧ 2A88 22E7 = ~ ≩ ⪊ 2269 2A8A > = ≥ 2265 = < ≧ ⋛ 2267 22DB < ⪌ 2A8C > > ≫ 226B > ⋙ 22D9 > < ≷ 2277 = ⪒ 2A92 > ' ⊃ 2283 / = <  >  ~ ⊃/ ⊇ ⫔ ⫖ ⫈ 2287 2AD4 2AD6 2AC8 = =     ~ ⊋ ⫆     ⫊ 228B 2AC6     2ACA = ⫌ 2ACC > ` ≻ 227B /   = >  ~ ≻/   ⪰ ⪼ ≿ 2AB0 2ABC 227F = ~ =   ~ ⪲ ⋩ ⪴   ⪸ 2AB2 22E9 2AB4   2AB8 = ~ ⪶ ⪺ 2AB6 2ABA > ~ ≳ 2273 ~ < ⪆ ⪐ 2A86 2A90 ~ / ~/ = ≆ 2246 ~ < ⪝ 2A9D = ⪟ 2A9F ~ = ≃ 2243 = ~ ≅ ⩬ 2245 2A6C ~ > ⪞ 2A9E = ⪠ 2AA0 ~ ~ ≈ 2248 = ~ ≊ ≋ 224A 224B = ⩰ 2A70