Hermann Klinke has designed and instrumented an input notation on top of the Microsoft Office math facility that you may want to try. It significantly reduces the number of keystrokes needed to input mathematical text. His motivation is to have a way to enter equations in real time while taking lecture notes. He has documentation and an augmented math AutoCorrect list. This blog post includes an abbreviated version of the tutorial given in the documentation. The OneNote format used in the documentation allows easy display of mathematical text, whereas I’ve only been partly able to coax the blog facility to display such text (via images inserted laboriously by hand into HTML). The full version has lots of nice examples of built-up mathematical constructs. For that version, please click on the documentation link.

What is it?

It's an easy to learn and intuitive short hand notation that leverages Office's new powerful Math facility to quickly enter professionally formatted math formulae and technical symbols into Office documents.  The short hand notation is ergonomically optimized for the standard U.S. keyboard layout, but also works very well on other standard country-specific keyboard layouts. There is no faster and easier way to enter math on a standard keyboard than this!

What can you do with it?

- Take notes in real-time during mathematical or technical lectures or presentations

- Quickly publish mathematical or technical documents or books

- Do mathematical or technical homework as fast as with pen and paper

Why is it better than the status quo?

TeX is the de-facto standard for publishing mathematical or technical documents or books. Many universities even only accept papers and final theses written in TeX. It's very mature and produces the exact same results on all computers. But it requires special software and has a big learning curve. Learning TeX is like learning a new programming language: There are hundreds of keywords, differenent tools and libraries and the source even looks similar to the source code of a programming language. The source is very hard to read and it takes many months to be proficient in TeX.  The commands are in English and not necessarily consistent, so remembering them is not easy, especially for foreign users. It is also very difficult to write fast enough with it to take notes in real-time during lectures or presentations because each commands usually consists of more than 3 characters.

Microsoft Word 2007 introduced the Math Ribbon which is also part of OneNote 2010 and PowerPoint 2010. It allows you to enter math formulae by choosing math formulae and symbols from the Math Ribbon. While this works very well and looks great (just like TeX!), it's very slow if you need to enter lots of math. Naturally, it also cannot include all mathmatical symbols due to space constraints. In addition, it is not very well documented at this point in time.

This notation aims to solve these shortcomings. It is fast, intuitive and does not require any special software. It is as language-agnostic as math itself (unlike TeX), so it should be appealing to international users and it similar to writing math by hand where you create math symbols stroke by stroke. Here you compose math symbols character by character and what you see is what you get (so there is no need to compile your source as in TeX). And best of all, you don't need to remember hundreds of commands or leave familiar tools just because you want to enter a few formulas, because you can write any math formulae or symbol using only 13 different "modifiers" right inside of Office 2010.

The documentation that comes with this notation includes general information on how to use the Math facility in Office and more advanced features that I discovered through trial and error, from reading this blog and technical documents about the "linear format" used internally in Math in Office.

How does it work?

It uses Microsoft Office built-in "Math AutoCorrect" facility to replace a sequence of characters with another character or math symbol when you hit the space key (the space key triggers "Math AutoCorrect"). This works just like the familiar AutoCorrect functionality in Office that corrects mistyped words automatically for you. This short hand notation is basically just a modified Math AutoCorrect file which tells Office which combinations of characters to replace.

What do you need to use it?

- Microsoft Office 2010 (specifically OneNote 2010, Word 2010 or PowerPoint 2010)

- The modified Math AutoCorrect file

How do I install it?

AutoCorrect lists are stored in the local Office directory which is %userprofile%\Application Data\Microsoft\Office on Windows XP and  %userprofile%\AppData\Roaming\Microsoft\Office on Windows Vista and Windows 7. You can navigate to these directories by copying the corresponding path to the clipboard, hitting Windows key together with the letter r, pasting the path into the text box that appears and pressing the "OK" button. AutoCorrect lists are files of the form mso*.acl, where * is the language ID. The math language ID is 127, so the math AutoCorrect list is mso0127.acl. You need to replace that one with the AutoCorrect list you can download below. I recommend making a backup of your AutoCorrect list because you will lose the default Math AutoCorrect list and all changes you might have made to it when you overwrite it with the file that you can download below.

How do I use it?

The basic principle is to prepend or append so called "modifiers" (characters that have a special meaning) inside a "Math Zone" to characters you would like to be modified. These will be converted to another character as soon as you press the space key (to prevent accidental conversion) and sometimes Office is smart enough that it converts it automatically for you if you enter certain characters (more on that later). You can always undo a conversion by using the "Undo" button or pressing Ctrl+Z. This allows you to "build up" characters on the fly and does not require a lot of memorization. Once you've understood the basic principle of how it works, you can even extend this notation with your own shortcuts.

Math Zones & Modifiers

Math Zones are special text areas that you need to create inside Office to enter math formulae. Math AutoCorrect is only applied to text you enter inside a Math Zone. You can create a Math Zone by choosing "Insert" and then clicking on "Equation" in the ribbon. This will show the Math Ribbon and the text area will look like this:  If you enter something there, your math will have a gray background while you caret is inside it. There is also a shortcut for creating a Math Zone quickly by pressing the Alt key and = key at the same time (note: this shortcut might be different on non-US keyboard layouts). Inside these Math Zones, you can prepend or append modifiers that are part of this notation to other characters to change those characters. To get you started, a short introduction to the modifiers follows. There is also an overview of the modifiers on the "Modifiers" page in the documentation. What you need to enter exactly for a certain formula can be found on the other pages in the documentation (what you see in the "Professional" column is what is produced when you enter what you see in the "ASCII" column).

Modifiers for Greek letters, Script letters, Fraktur Letters, Double Struck symbols and Dotted Symbols

Greek letters are entered by appending a question mark to the corresponding Latin letter. So, if you want to enter the Greek beta, you enter b? and press the space key. This will turn b? into β. If you want to enter a capital Greek letter, then you just append the question mark to a capital Latin letter. For example, G? produces Γ. This works similarly for Script letters, Fraktur letters, double struck symbols and dotted symbols. Append the grave symbol to produce a Script Letter, append the tilde symbol to produce a Fraktur letter, append quotation marks to produce double struck symbols and append a dot to produce dotted symbols.


S? produces Σ
R` produces ℛ
R~ produces ℜ
R" produces ℝ
|. producess ⋮

See the documentation for a full list of modified letters and dotted symbols.

Modifiers for Math symbols and Compositions

There are several modifiers that turn letters into math symbols, but they are easy to remember like the others. A semicolon turns a letter that looks similar to a math symbol into that math symbol. For example, v; produces ∨, a logical disjunction or c; produces ⊂, a subset. Similarly, a colon rotates a letter to create a mathematical symbol. v: produces ∧ and c: produces ⊃. These symbols can further be composed to variations of these symbols. Appending = to ⊂ produces ⊆ and appending / to that turns it into ⊊. Another example is e? which produces ϵ, the Greek letter epsilon. Append ; to that and you get ∈, and append another / to negate it to ∉.
Examples of commonly used math symbols:
-; produces ¬
.; produces ·
x; produces ×
o; produces ∘
u; produces ∪
u: produces ∩
A: produces ∀
E: produces ∃
8: produces ∞
O/ produces ∅
+− produces ±
=/ produces ≠
-> produces →
<-> produces ⟷
=> produces ⇒
<=> produces ⇔
See the documentation for a full list of math symbols and how to compose them.

Modifiers for Superscripts, Subscripts and Decoration

Usually superscripts are entered in Math in Office by prepending a circumflex ( ) or prepending an underscore ( ) for subscripts. I noticed that these characters are very hard to hit on most keyboard layouts and that this was slowing me down considerably when taking notes during lectures, so I chose to make the apostrophe turn into ^ for superscripts and make a comma turn into _ for subscripts, which are both much easier to hit. The comma is also used to add decoration below an expression and the apostrophe is also used to add decoration above an expression, so this choice is consistent with the idea of superscripts and subscripts being just something that is attached above or below something else. Now you can think of the comma as a command that sends something down and the apostrophe that sends something up when you append it. To make this easier to remember:  The comma is at the bottom of the line and sends something down and the apostrophe is at the top of the line and sends something up. A few examples:

x,1 produces x_1 which is turned into x¹ and x'5 produces x^5 which is turned into x⁵ (make sure to press space after comma or apostrophe to turn them to ^ and _ which the Math linear format uses for subscripts and superscripts).

Similarly, you can add decoration to an expression by appending a comma or apostrophe to a character or symbol.  A few examples:

x-' puts a bar above the x

x ~' puts a tilde above the x

x->′ puts an arrow above the x

Modifier to enter punctuation, separate strings and prevent other modifers from being applied

Another modifier which is very useful in various contexts is prepending a dot to an expression. A single dot is turned into a "zero width space". This is a space that is invisible. One use is to prevent other modifiers from being applied. For example, I've just described that a comma is turned into an underscore. If want to enter a comma instead, then you would prepend it with a dot like this: .,. Similarly, to prevent a dot from being turned into a zero width space, you prepend it with another dot. So .. produces .. Another example is that if you wanted to enter A:, you would write A.: to prevent the colon from turning the A: into ∀.

The zero widthspace is also very useful if you want to enter expressions that look like strings but what you really mean is a product of single variables or constants which is common convention in math. For example, the circumference c of a circle can be calculated from its diameter d using the formula c = d⋅ π, which can also be written as c=dπ. But entering dp? does not produce  because Math AutoCorrect is always applied to entire strings and the string ? is not defined in the Math AutoCorrect file. What you really mean in this case is the variable d followed by the constant π and to treat them as separate letters, you need to prepend dot to π to separate π from d. So to enter  you need to type d.p?.

Modifier for equation arrays, (augmented) matrixes, vectors, cases, linear combinations and binomial coefficients

To enter any of the multi-line constructs mentioned in the title, you append  to other characters or use it by itself. For example, =# creates the an equation array which produces something that looks like a placeholder , but can be expanded line by line by pressing enter (see "How to"). Another common use is  followed by the number of rows and (optionally) number of columns, which produces a matrix with the the specified number of rows and columns. For example, to create a 2×3 Matrix, you would enter #23 and to create a 3×1 matrix you just need to specify the number of rows like this: #3. So if you want to enter a 3-dimensional vector, you just need to enter (#3). Similarly, cases are produced by appending # to { followed by the number of rows. For example, {#3 produces a case expression with three rows.  Binomial coefficients are either produced by typing (nk#) to use parentheses or <;nk#>; to use wide angle brackets (bra and ket).

See the documentation for a full list of precomposed matrixes, vectors, cases and linear combinations. You can append rows to precomposed multi-line constructs by entering  inside of any cell or append extra columns by entering  inside of any cell.


This is not a product or extension by Microsoft, I don't work for Microsoft and I didn't get anything to work on this notation. I only created it because I didn't like the status quo and I wanted to quickly enter math into OneNote so I could take notes in real-time during math and computer science lectures. Other students were also interested in this so I thought it might be a good idea to share it, so I joined Microsoft Student Partners and wrote this tutorial among other documentation for this notation. If you find any inconsistencies or something does not work as expected, or have questions that are not answered in this tutorial or the documentation, then please feel free to post in the comments.

This completes this tutorial and should be enough to get you started with this notation. Please check the documentation to see how to create the other mathematical or technical symbols.