Klinke’s Streamlined Math Input Notation


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.

Examples:

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.

Background

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.

 


Comments (57)

  1. WY says:

    ., doesn't work.

    .. doestn't work.

  2. Hermann Klinke says:

    Hello WY. Thank you for feedback. I assume you are using Word 2010? The two combinations you've found do not work because Word 2010 does not wait for you to hit the space bar to apply AutoCorrect like OneNote 2010 does, but automatically applies AutoCorrect as soon as you type the dot which turns it into a "zero width space". This is why none of the AutoCorrect entries that start with a dot work in Word 2010 because the AutoCorrect list expects a dot, but sees a zero width space.

    I just found out about this problem. I'll need to find a way to either disable this automatic application of AutoCorrect in Word 2010 or find a workaround if this is not possible. In the meanwhile, I recommend you try my notation in OneNote 2010 where it has been thoroughly tested. You can always copy your formulae from OneNote to Word because they are 100% compatible, they just differ in how they build up math during typing.

    If you do find more issues with Word 2010, please let me know so I can correct them. Thanks!

  3. Hermann Klinke says:

    WY, another workaround you could use inside Word 2010 (while I am trying to find a good solution for this) is to leave the math zone, enter the dot or comma outside of the math zone and then continue your formula by creating another math zone. The shortcut alt+= toggles math zones.

  4. wuhy says:

    1. Theta may be used more common than tau, so I changed t? to theta, and t?? to tau.

    2. Turning to U+2216 caused all the original math autocorrect fail, e.g. alpha to α, so I delete it.

    3. Lack shortcut for dd ?  not the doubled

  5. Hermann Klinke says:

    Hello wuhy. Thank you for your great feedback! Regarding your points:

    1. Yes, that is a good idea. I had already changed this for the uppercase t, but must have forgotten to do that for the small t. I'll will change that in the next version.

    2. You are right. I can confirm that this is a problem in Word 2010 (for the same reason that the combinations that WY mentioned do not work) and Powerpoint (I don't understand why though because Powerpoint's AutoCorrect works more like in OneNote where this is not a problem). Do you think I should use ; to generate U+2216 then?

    3. Yes, it is missing right now, but this symbol and others like it are already on my "to do" list. It will be available in the next version. I'll leave a comment here when I update it. I think I'll use d; for dd or do you have a better idea?

  6. WY says:

    I tried to compare the speed of typing with Mathtype and that of your streamlined input method, and found that the former needed only around 55-70% of the latter's typing time.

    So Mathtype is still faster for real-time note-taking and doing maths homework on pc.

  7. Hermann Klinke says:

    WY, thanks for letting me know.

    That might be true, but as it is always the case with typing speed benchmarks, it depends on a lot of factors, e.g. what formula you are typing and how much experience you have with the notation. I haven't tried MathType (I'll have a look at it though), but I can type faster with my notation than every person that I've seen writing a formulae on paper or on the blackboard (and that is also true for others that have tried my notation). And as long as you are faster than the lecturer writing on the blackboard and students writing on paper, you are fast enough ;-).

    While speed was important, it was not my primary concern when I designed this notation. I tried to make it as easy to remember, as easy to type and as ergonomic as possible. A by-product of this is a very fast notation because you don't need to enter more than 2 or 3 characters per symbol for most symbols. You also don't need to install a 3rd-party plug-in to use this notation inside Office. And it still beats (La)TeX in terms of speed, usability and accessibility.

  8. WY says:

    Assuming that users of each method are equally well-versed with their own method, below are why Mathtype (using keyboard shorcuts) is faster than your method.

    1. Given that 'Ctrl' and 'k'  (or any other key) can be pressed simultaneously, it should be counted as 1 keystroke. Most of Mathtype notations can be typed with only 2 keystrokes. Many of your notations require 3 keystrokes. (Even in cases where only 2 keystrokes have been assigned, most of the time 3 keystrokes have to be used because of the need to prepend it with a zero whitespace, e.g. '.v;'. '.a?')

    2. In many cases you need to use parenthesis for the lower or upper limit of integrals and summations. This requires additional typing. You don't need this in Mathtype.

    3. When typing complex formulas, you need to press spacebar to autobuild the formula along the way in order to benefit from WYSIWYG. For example, when typing a complicated fraction (with a complicated numerator and denominator), you either have to use a lot of parenthesis or press spacebar frequently to autobuild and then move the cursor back by using the arrow keys. You don't need all these in Mathtype.

    4. It is much easier to revise a formula in Mathtype – revising along the way is crucial for real-time note-taking and doing homework on the pc.

  9. Hermann Klinke says:

    WY, I don't know whether you are working for MathType or you are just a passionate user of their products, but I have no interest in competing with MathType and I am not arguing that my notation is faster than using MathType. I created my notation in my free time for myself and when others saw me using it, they asked if they could use it too, so I decided to document and share it.

  10. WY says:

    I'm a Mathtype user but hope that I can switch to MS Office equation builder, given that I prefer the latter's text rather than picture form. Your revision to the Autocorrect list has indeed improved the latter by leaps and bounds, and for this I'm very thankful. Unfortunately, I still can't switch to this method as it is still substantially slower than Mathtype, and speed is my major concern, as I have serious problem with handwriting and have to rely mostly on typing. I sincerely hope that in the near future I can switch to a version of the MS Office equation system that is as fast as Mathtype. As you rightly observe, it does have the advantage of not involving an additional software. I'm sorry for not making my intention clear earlier on.

  11. Hermann Klinke says:

    WY, have you tried AutoHotKey? It can be used to create custom keyboard shortcuts that send text or key commands to any application. You could create an AutoHotKey script that maps the same keyboard shortcuts that you use in MathType to the linear format used in Office or map it to my notation which would insert the corresponding formula in Office. The version "AutoHotkey_L" supports unicode and I've used it personally to remap my keyboard to make it more ergonomic and to be able to enter almost every character from Basic Latin, Latin-1 Supplement and Latin Extended A by pressing only 2 keys simultaneously.

  12. WY says:

    To solve some of the problems mentioned in my first message (and their consequences), I propose the following amendments:

                   ASCII

    ^ # (rather than ‘)

    , ;, (rather than .,)

    ' ;’ (rather than .’)

    ″ ;” (rather than .”)

    ‴ ;”’ (rather than .”’)

  13. WY says:

                                          ASCII

    ^ replaced by # (rather than ‘)

    , replaced by ;, (rather than .,)

    ' replaced by ;’ (rather than .’)

    ″ replaced by ;” (rather than .”)

    ‴ replaced by ;”’ (rather than .”’)

  14. WY says:

    I think ^ has to be replaced by something else, as # is already assigned to matrix. Sorry for the oversight.

  15. WY says:

    ^ can be replaced by ';

    In that case ', '', ''' etc can be used for primes.

  16. WY says:

    Thanks, Klinke, for your suggestion on Autohotkey. I've now developed a set of hotkeys for typing equations. Although it doesn't map Mathtype's keyboard shortcuts exactly (since Autohotkey seems not to allow combinations such as Ctrl+k, i, Ctrl+t, s, which feature a lot in Mathtype), the principle is exactly the same. In fact, my hotkeys seem to be more efficient than Mathtype's shortcuts.

    With hotkeys, your input method seems to be more powerful than Mathtype. Thanks again for your effort, which has allowed me to switch to MS Office equation builder. I would be happy to share my Autohotkey script and documentation.

  17. Hermann Klinke says:

    WY, I am glad AutoHotKey was useful for you. It is possible to map combinations such as Ctrl+k, i, Ctrl+t with AutoHotKey in case you want your script to be compatible with MathType, but AutoHotKey does not provide build in functions for that. You would have to program custom logic for that, which is a bit complicated.

    And thanks for your workaround suggestions. I found a workaround that did not require changing the modifier itself to keep it backwards compatible. I'll upload the new version later today so that you can use my notation with any Office 2010 application. I'll leave another comment when its up.

    Regarding your earlier 1. point where you said you need to prepend characters a with zero width space: You don't need to enter the zero width space before operators, you can instead just enter a space because a leading space will be removed when it's AutoBuildup. This does not make you any faster, but at least your document won't contain unnecessary zero width spaces all over the place.

  18. WY says:

    Thanks, Klinke, for this.

    Mapping it to Mathtype is not my concern. I'm contented so long as I can type with keyboard shortcuts. In fact, my hotkeys seem more efficient than Mathtype shortcuts, as many of them have been reduced from 2 keystrokes to 1. Mine also seem more consistent.  

    Yes, some operators do not need zero-width space. For example, = {space} / {space} will lead to a '=' followed by a placeholder for fraction. However, a leading space does not prevent some unwanted changes in other cases. For example, if I want a '=' followed by a placeholder for limit (i.e. something with a big placeholder on top and a small placeholder at the bottom), typing = {space} *,(){space} won't do. It will turn into a '=' with a small placeholder under it. To get what I want I'll have to leave three spaces after '='. One zero-width space suffices for that purpose.

    At any rate, I have changed the text for zero-width space from . to £. I had to use £ because of the follwoing related reasons:

    1. Almost all my Autohotkey scripts have to start with a zero-width space to prevent unexpected changes or the lack of changes (.e.g Suppose I assign a? to a hotkey. When I press the hotkey after a Latin letter, I will get a? rather than alpha). Moreover, the point of using hotkeys is to save the step of pressing the key for zero-width space.

    2. But why don't I use . or other punctuations? Why £? If I use period, some unexpected changes may happen. For example, suppose I want to type 'alpha V (the 'or' symbol) beta'. Suppose Alt-a and Alt-b are the hotkeys for alpha and beta respectively. In that case ,I should press Alt-a, the hotkey for 'V', and Alt-b. But given that Alt-b produces a string that starts with a dot', I'll get alpha followed by the-because-symbol, followed by b? Other punctuations may lead to other unexpected changes. Since you've not used £ as a modifier, it is the safest symbol for zero-width space. Though it is harder to type, it doesn't matter for me, because I'm using hotkeys.

  19. Hermann Klinke says:

    WY, I see. That makes a lot of sense in your case. I've also found that often times limitations (AutoHotKey in your case) result in much better results (more efficient and more consistent shortcuts in your case) because you are forced to find a simpler (usually more elegant) solution.

  20. Hermann Klinke says:

    UPDATE: VERSION 1.1

    I've uploaded the new version of the AutoCorrect list and documentation that you can download from the same links above. This version fixes all issues mentioned here and should now be working pretty much the same in all Office 2010 products.

    There are still a few small issues that I haven't been able to workaround which are documented on the "Issues" page in the documentation. You can use the build-in shortcuts or the Math Ribbon for those. Please comment here if you find issues that are not documented there and I will try to fix them. And please also comment if there are symbols that you would like to have added. For that you just need to tell me build-in shortcut or the unicode code point/range.

    wuhy, I've also incorporated your suggestions and added about 70 more symbols in this version (see "Version" page for details). dd can be found on the subpage "Special Meaning" of the page "Symbols".

  21. WY says:

    Thanks for the updated version, Klinke. I'm glad that it now works on Word.

    However, there is a problem. Suppose I want '3.142', and type '3..142', I;ll get '3.142'. But when I press enter, it is changed back into '3.142'.

  22. wuhy says:

    Thanks, Klinke. Now I have the problem.

    In  Onenote, type a,1.'-b,1.'=c   get what I want, but in powerpoint I typed a,1.'{space}-b,1.'{space}=c  The equation has strange dot above – and =  . Is this a bug?

  23. WY says:

    Your helpful observation on the differences in inputting maths between OneNote, Word, and Powerpoint 2010 seems to provide a good reason to use hotkeys. Trying to remember different sets of rules for three applications is undesirable and potentially confusing.

    With Autohotkeys you can use the same set of hotkeys across the board. All you need to do is to use different scripts for these applications. It only took me 1 hour to modify my Autohotkey script for Word 2007 (which works for Word 2010 as well) for PowerPoint 2010.

  24. WY says:

    I mean your obervation in the updated version of your documentation.

  25. WY says:

    It seem's to me that the best way to solve the zero-width space/non-joiner issue (e.g. '3142' rather than '3.142' in Word) is to assign zero-width space/non-joiner to an uncommon character or string, one that is not used as a leading or ending character in your AutoCorrect list.

    £ would be a good candidate. But for people who live in UK and thus more likely to use £ in their maths documents, even that may lead to unexpected result (e.g. £ in £978+£153 will disappear after pressing enter in Word). Thus, if one is likely to use £, the safest option for zero-width space/non-joiner is a meaningless string such as ££, since I can't think of any realistic context where ££ is required for meaningful communication.  

    Using ££ as a zero-width space/non-joiner is undesirable for those who don't use hotkeys. So this is another reason to use hotkeys. In my own case, ££ has been assigned to RWin key, which is close to . in the keyboard.

  26. Hermann Klinke says:

    WY, thanks again for your feedback .I really appreciate that you are thoroughly testing my notation!

    Regarding '3.142' issue. Yes, you've discovered another bug in Word that I added to my documentation. It appears that pressing Enter re-applies 'Professional' to the entire line as this happens when you select '3.142' and then choose "Professional".

    There is another really strange bug in PowerPoint that you can see when you type '3..142' into PowerPoint. It will show '3.421' because the cursor moved one character to the left after the AutoCorrect. There are Office bugs I can't fix these by modifying the AutoCorrect list.

    I agree that you shouldn't have to remember different sets of rules for three applications and I always try to workaround this, but sometimes like with the bugs mentioned above, I can't do anything about it. They all use the same AutoCorrect, so they should also treat it the same, but they don't.

    Regarding the dot above – and = issue. ∸ and ≐ are two new symbols that I added in the new version. They are produced by entering .- and .= (. is turned into a zero width non-joiner) respectively. You are seeing them when you enter a,1.'-b,1.'=c because .' produces an apostrophe and a zero with non-joiner which AutoCorrects to a prime. The zero width non-joiner should disappear when it AutoCorrects, but for some reason it doesn't (another bug I guess). Even in OneNote (try pressing space after .'). I don't know if this is now a problem because it now produces zero width non-joiner instead of zero width space, but I'll try to workaround this. I recommend deleting the .- and .= entries in the AutoCorrect list if this is an issue for you. Initially, I didn't even want to use .- for ∸ and .= for ≐. I wanted to use ..- and ..= to avoid problems like this, but I couldn't because ..- and ..= didn't work in PowerPoint and Word for two different reasons (one of them is the PowerPoint bug I mentioned above). I'll try to come up with something though.

    I agree that it's probably best to use another character for the invisible character as this will avoid a lot of problems. I'll think about it. The invisible modifier needs to be a character that is easily entered, but all of those are already used. £ is not a key on most keyboards: ascii-table.com/keyboards.php

    I've put a lot work into this to make it  work across all Office products, but as you can see, sometimes it's really difficult because of differences and bugs in Office.

  27. WY says:

    At any rate, your effort is deeply appreciated. Because of your hard work and suggestion, my dream of switching to MS Office equation input method has finally realised.

    That £ is not on most keyboards is actually a good reason to use it for zero-width space – since this is probably why it has not been included in the AutoCorrect List.

    I would suggest the following steps:

    1. In Word 2007/2010, click Insert>Symbols>Symbol>more Symbols>(look for £ in the list of unicode characters)>click Shorcut key>press new shortcut key (type your own shortcut key, e.g. Alt-Z>assign>Close.

    2. Press the shortcut key to insert '£' in the document. Copy it.

    3. Go to MathsAutoCorrect and paste '££' in the 'Replace' column, to replace '.' as the character for zero-width space/non-joiner.

    If one finds Alt-Z too unwieldy, use Autohotkey to assign ££ to RWin key or AltGr/LAlt, or  F2,  or F4, F56, F7… key.

    Autohotkeys can get around the problems of office bugs and differences. I use the same set of hotkeys for Word 2007, Word 2010 and Powerpoint 2010.

  28. WY says:

    If £ is chosen for zero-width space, one can use the shortcut key in Word's insert symbols function. If ££ is chosen, one has to use autohotkey.

  29. Hermann Klinke says:

    UPDATE: VERSION 1.2

    I've uploaded the new version of the AutoCorrect list and documentation that you can download from the same links above.

    This version adds more symbols and also includes a few breaking changes:

    1) I've changed the character that prevents modifers from being applied to (backslash), which is the build-in "literal" operator in Office 2010. It also prevents the AutoCorrect of sequences that are hard-coded in OneNote 2010 and PowerPoint 2010. This change fixes a lot of issues. It also means that . (dot) is now treated like an ordinary character. The new "invisible multiplication" operator is for variables that form a product by convention.

    2) I changed the way how complex symbols are composed which prevents many other issues.

    3) I've removed % as formatting modifier.

    Please see sub page "1.2" of the "Versions" page for all changes.

    @WY & wuhy: This version fixes the issues that you reported. I've tested every new and changed sequence in OneNote, Word and PowerPoint, but please let me know if you find other issues that I might have missed.

  30. Hermann Klinke says:

    UPDATE: VERSION 1.2 DE

    This update includes German translations of the "Quick Start", "Tutorial" and "Modifiers" pages and the German "Quick Start" page includes translations of the remaining pages.

    I've also updated the English "Tutorial" page by simplifying the wording, explaining better and including tables and screenshots, so that it's easier to understand and install for readers that are not familiar with the Math Ribbon and not so experienced with Windows. I also removed the incorrect statement that Alt+"=" didn't work in PowerPoint 2010. That was not PowerPoint's fault, but that of AutoHotKey where I've a created keyboard shortcut for math zones.

  31. WY says:

    Thanks. I've taken a quick look at the new documentation. Whereas this version provides less ambiguous input sequences, a significant downside is the length of many of these sequences. Many of them involve at least 3 keystrokes. Quite a number of them involve 5. This further reduces speed and makes it significantly less desirable than the keyboard shortcut or hotkey approach.

  32. Hermann Klinke says:

    WY, please be aware that only complex relations (which were mostly affected by version 1.2) require entering more than 3 characters. Most of the common letters, symbols and operators still only require 2-3 characters.

  33. Hermann Klinke says:

    UPDATE: VERSION 1.3

    I am really happy about this version. It fixes all issues and it's much simpler, more consistent and more user friendly. For example, the , (comma) and ' (apostrophe) are no longer AutoCorrected to _ (underscore) and ^ (circumflex), respectively. The # (number sign) is also no longer a modifier. And it is possible to enter the same symbol using several unambiguous sequences where it does not matter what character you started with because you can just build it up on the fly.

    Changes in earlier versions were mostly motivated by problems in Office that I tried to work around, which is the reason I had to change it so many times and often times it wasn't as clean as it could have been. I just figured out that Office has problems with ambiguous AutoCorrect entries I so changed my notation in this version so that it now does not have any ambiguous AutoCorrect entries. This made all bugs and issues disappear and as a result the notation is going to be much more stable in the future because I can finally focus on adding more symbols and documentation instead of trying to make it work in all applications of Office. So it now works pretty much the same across Word 2010,  OneNote 2010 and PowerPoint 2010. I haven't had a chance to test it in Excel 2010, but I don't expect to have any problems there.

  34. Matthias B. says:

    Thank you Hermann for the great work. Can you please post a link to Version 1.3 or is

    dl.dropbox.com/…/MSO0127.acl

    still the valid adress?

  35. Hermann Klinke says:

    Hello Matthias, sorry for the late reply. I was so busy this week that I didn't get a chance to check my feeds.

    Yes, both links always point to the up-to-date documentation and AutoCorrect list, respectively. So the current version that you can download from these links is version 1.3. Let me know if you think that there is something that I could improve.

    Btw, a member of the "Digital Musketeers" on Facebook like it so much that he plans on doing a free workshop on my notation in Austria if anyone from Austria wants to learn more about this.

  36. @WY

    are your autohotkey macros that you talk about for working with these autocorrect enhancements online anywhere?  i'm curious to see what you've done.

    thanks

  37. Kasper says:

    I'm trying to create an autohotkey file that does the same as your autocorrection list.

    Not for word 2010, but for Latex/Mathjax typing. Do you know how to be able to quickly convert your correction list to an autohotkey list ?

  38. Hermann Klinke says:

    Hello Kasper,

    there is no automatic way to do this if this is what you are asking for. But it should be relatively straightforward to create an AutoHotKey file by hand using the "hotstrings" feature of AutoHotKey which replaces the "hotstring" with something else as you type the hotstring.

    You can copy the text from the ASCII column in my documentation for the left side of the hotstring and enter the equivalent Tex code on the right side of the hotstring. I recommend downloading the latest version of the documentation and looking it up there because it is much improved over the version that was introduced in the tutorial posted here.

    Btw, I new version of the notation for Office 2013 is coming soon.

  39. helloyzz says:

    Hi Klinke,

    How can I use MSO0127.acl for Office 2013?

    Can I have a link for your new version for Office 2013, if available?

    Cheers.

  40. MurrayS3 says:

    You need to copy your mso0127.acl to your Office folder. On my machine it’s located at

    C:UsersmurraysAppDataRoamingMicrosoftOffice

  41. meeotch says:

    Not sure if Klinke or any other gurus are monitoring this thread, but there's a question that's been driving me crazy:  I managed to figure out at one point how to get a superscript not to "stack" on top of a preceding subscript, but I can't seem to remember anymore.  So for instance, if you type x_i^2, you get the "squared" exponent directly on top of the "i" subscript.  But what I want is the "squared" slightly offset to the right, indicating that the entirety of the x_i element is squared.

    Cut-and-pasting from a successful earlier instance gives 〖x_i〗^2  vs.  x_i^2 (try it!), with lenticular brackets surrounding the first element.  But I'm almost positive that I got there simply through auto-correct, without explicitly typing the brackets.  (In fact, it took me like half an hour just to google up what those funny brackets are called.)

    p.s. – fantastic package, btw.  It makes onenote actually usable for a bunch of the C.S. classes I'm taking.

  42. MurrayS3 says:

    You can "unstack" the superscript by putting the begin…end around the subscripted expression, e.g., begin a_2end^3<space>, or you can type a_2<space>zwsp^3. Note that even the a_2^3 stacked case doesn't align the 3 over the 2 unless you tell it to (OneNote and Word have a context menu option for this). This is because the scripts are kerned relative to the base according to the character corner "cut-in" values.

  43. meeotch says:

    Murray – thanks for the info.  Weirdly, my scripts seem to be coming out aligned by default.  (This is Onenote 2010.)  The right-click context menu "align scripts" option is still there, but it doesn't seem to do anything.  I can apply it several times, and the alignment stays the same.  (And the option never changes to "un-align" – though maybe it's not supposed to.)

    Inserting any of the "invisible" characters seems to give the results that zwsp does, which is visually correct – though sort of emotionally less satisfying than lenticular brackets.  The easiest one seems to be "zero width non-joiner", which klinke has bound to "".

    I'm still unsure how I stumbled onto the lenticular bracket version…  I think it's pretty unlikely that I accidentally typed %[x_2%]^3, which is the klinke syntax.

  44. Kasper says:

    Is there any way to define custom functions in onenote. I can do this in word 2013, but not in onenote 2013.

    With functions I mean things like sin(x), cos(x) etc. But then customized, so that I can add Re z, en Im z as custom functions. How do I define those custom functions in onenote 2013 ?

  45. MurrayS3 says:

    Custom functions are only implemented by Word at this point. Thanks for asking; it raises the priority of implementing it for the other apps.

  46. John says:

    What you can do is use math autocorrect to define some "shortcut keys" that replace math text you type with what you want.  Look at binomial for an example.  

  47. MurrayS3 says:

    Good point. In fact, you can use U+2061 to insert the function-apply operator. So you could add a math autocorrect entry re with the Replace string "Re"<space>2061<alt+x>. Then typing re<space> inserts the function Re with a place holder for the argument. Word doesn't build up the function expression, which may be a bit more convenient in this case since you don't need to move back into the function argument to type z or whatever you want. You can read a bit more about math autocorrect in blogs.msdn.com/…/sans-serif-mathematical-symbols.aspx.

  48. Kasper says:

    Cool, it works! This is sufficient for my needs, but  it would be cool if onenote get all the math features that word 2013 has.

  49. Chad Winters says:

    I started taking notes with one note and I have to say it is some pain to type the symbols. I wanted to create my own autocorrect file but after searching I found this page but the link is dead. Can anyone re-upload. Thanks

  50. John Dillinger says:

    Dear MurrayS3, can you update the links? Drop box gives a 404 error!

    Regards

  51. John Dillinger says:

    MurrayS3, I hope you are reading these posts. Can you do the favor to reupload the files and documentation?

    Thanks

  52. MurrayS3 says:

    The link belongs to Hermann Klinke and unfortunately I've lost his contact info.

  53. John Dillinger says:

    Thanks for the reply, Murray. I asked you because I saw you were active poster and thought you already have a copy of the file Hermann Klinke was sharing. If you have a copy, then I'll be grateful if you can share with me because I'm sure that was Hermann Klinke's wish from the beginning. I was actually referred to this site by Physicforums where Hermann Klinke posted a link to this site. Anyway, if you decide not to, I can still understand. Thanks and take care !

  54. MurrayS3 says:

    I'd be happy to send out Hermann's file, but I don't have one. We need to find Hermann.

  55. John Dillinger says:

    I imagined you already used it because of read your descriptive narrative at the beginning of the post. I don't think Hermann will be easy to find ! Anyway, if anything, just post it here. I'll be checking this page intermittently. Thanks.

  56. John Dillinger says:

    Thanks Matthias,

    I've been waiting for this ever since !!