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

 

 

 

 

 

 

 

 

 

/

</

 

=

~

2A87

22E6

=

~

2268

2A89

 

 

 

226A

22D8

 

 

 

 

 

 

=

2264

=

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Comments (5)

  1. WY says:

    I would be happy to share my Autohotkey script and documentation, if you're interested.

  2. WY says:

    When it comes to a combination of 2 punctuations or keyboard symbols, the hotkey approach, which usually involves 2 keystrokes, does not have an advantage. Thus, the targetted characters in this table do not need hotkeys.

  3. Hermann Klinke says:

    I would just like to point out that I've uploaded the new version of my notation that you can download from the same links in the previous post. The new version includes almost all of the symbols shown in this table and  fixes all the issues that were found in the previous post. My notation should now be working pretty much the same in all Office 2010 products. I plan to include every symbol that is available in the Math Ribbon in the next version of my notation.

  4. Hermann Klinke says:

    FYI: the symbol ⋍ cannot be produced with ~= and ⋝ cannot be produced with => in OneNote 2010 and PowerPoint 2010 because ~= is hard coded to produce ≅ and => is hard coded to produce ⇒. It does work in Word 2010 though where no symbols are hard coded. You can check my documentation for hard coded symbols on the "Differences" page.

  5. Hermann Klinke says:

    @Anyone using my notation: I've just uploaded version 1.2. I highly recommend upgrading to it because it fixes many issues and it's not going to be changing so much in the future as I've made all of the breaking changes I wanted in this version.