You can download the new beta from here.

I was forced to quickly update the Math-o-mir beta due to a bug find. The bug existed for some time including the last official version. It remained undetected until today. Today I received a report stating that Math-o-mir crashes whenever any of the following is entered:

- d.x[spacebar]
- \d x[spacebar]
- par.x[spacebar]
- \par x[spacebar]

The bug is easily reproducible and thus I was able to correct it quickly. I introduced the bug when I was implementing support to toggle Math/Text typing mode using the Spacebar+Enter keystroke. I apologize.

In addition to the above, I corrected several other bugs:

- right-mouse-click on vertical scroll bar did not work correctly every time if function plotters were used within the document. The bug had potential to crash the software.
- Plotting an almost-constant function would cause software to hang or crash under certain circumstances (if the difference between function minimum and function maximum value was more than about 16 orders of magnitude smaller than function mean value on that range).
- displaying line lengths and rectangle sizes in the Drawing Box is corrected.

### Like this:

Like Loading...

*Related*

It seems impossible to enter \sum(x-y)^2. The program squares the whole sum (\sum(x-y))^2 adding extra parenthesis whereas people want to square the differences.

It does not happen today. I do not know why.

Hi Valentin….

I think I managed to reproduce the problem… If you type \sum and then insert parentheses by typing the open-parenthesis key ‘(‘, then everything is OK. However if you type \sum and then immediately start typing ‘x-y’, the Math-o-mir will add parentheses automatically – but in this case you will not be able to square it…. I must admit that I am still thinking what should be a desirable behavior.

> I must admit that I am still thinking what should be a desirable behavior.

Why power is applied to the parent of last expression rather than last expression.

It is confusing and I apologize for the very long answer… The power is applied to the element just left of the blinking cursor found

on the same ‘level’ as the blinking cursor.The cursor might be positioned at the last position within the summation symbol main argument box – in this case the power will be applied to the last element within the argument box. But the cursor can also be positioned at the first place just behind the argument box (outside of it, that is just behind the summation as a whole) – in this case the power will be applied to the summation as a whole.

I should explain why typing summations (and integrals) involves two different cases. The first case arises when you type something like

n+1into the summation argument box. In this case, the Math-o-mir is forced to put parentheses around the argument to avoid ambiguity in math notation. When you now exit these parentheses your cursor will be placed outside the summation and the power will be applied to the summation as a whole.The second case is when you type something as

(n+1)into the summation argument box. In this case, you intentionally inserted the parentheses element into the summation argument box. When you exit this parentheses element, you are still positioned within the summation argument box – you can now power the (n+1) element and/or you can type additional elements that will be added into the summation argument box. That is how, for example, you can type(n+1)(n+2)into the summation argument box. To finally exit the argument box you might want to hit the Enter key once more.Of course, I could choose different behavior (and I still might):

– In the first case, instead of just adding parentheses around the argument, the Math-o-mir could insert the new parentheses object and copy what you wrote inside it. This way, after exiting the parentheses you will still find yourself inside summation argument box (as in the second case).

– Or, in the first case Math-o-mir can automatically exit the summation argument box as soon as you try to type plus or minus sign within it (unless you specifically inserted the parentheses element by yourself). This way it would not be possible to make an ambiguous notation.

Finally, what can you do if you entered

n+1into the summation argument box and Math-o-mir automatically added parentheses around it – how can you now square the thing? Many times the easiest way would be to just delete the argument box elements completely, then insert the parentheses element, then retype the argument box, exit parentheses and square it (that is, to resort to the second case from examples above). But if you don’t feel like retyping your expression, you can right-mouse-click to one of the brackets that were automatically added by Math-o-mir and then from the popup-menu choose the option “Expand outside”. This obscure option will add some space behind the parentheses where you can now place your cursor and square the damn thing.I do not get why auto-parenthesis prevent any further edit behind them, why are these parenthesis different from manually-crated ones?

> To finally exit the argument box you might want to hit the Enter key once more.

Yes, why cannot I use Enter to exit the summand expression edit? Why auto-parenthesis prevent me to edit anything after the closing parenthesis )? BTW, I have noticed that pressing Right button also drives me out of the subexpression. Is it any different from Enter?

In this context, I have to remind that it pisses me off that Down key jumps right or left, when I edit the nominator of a ratio, for instance. I can press Left or Right if I want there. If I press Up or Down, it means that I want to go into upper or bottom expression, to the nominator or denominator. It pisses me off that I need to go to the center of the denominator in order for the Up to bring me to the nominator rather than bypass it from the left or right. Same happens when you press Down to jump to the next row in a column. I create a column by Shift+Enter and want to navigate from one row to the other by Up/Down arrows but your program bypasses short rows if I am at the left of a long expression in the current row. What is the purpose of bypassing the route requested by user? If I press “Down” this means that I want to go to the expression right below the current one, not to bypass it and not go to the left. Trying to force the cursor above/below the current row, playing games with the cursor evading to follow my commands makes makes me terribly less productive.

Math-o-mir uses auto-parentheses to avoid notation ambiguity. For example ‘sin x + y’ is very different than ‘sin(x + y)’. So when you enter ‘x + y’ into the sine function argument, software puts parentheses around the whole argument… I know for long time that this is confusing and I did consider how to make things better, but all possible solution have their own drawbacks. So I remain undecided – if you have a preferred solution, give it a vote.

The up/down keys make me angry too because I don’t know what solution is better. At the moment the software tries to keep the direction – if you pressed up, it tries to place the cursor somewhere in that direction. I am aware that this is often different to what user might see as ‘up’. For example if you wrote a fraction with short nominator and long denominator like ‘1/(a+b+c+d+e)’ and your cursor is standing at the end of the denominator. You press the ‘up’ key, but to place the cursor behind ‘1’ from the nominator, it should be moved almost horizontally to the left (not up)… Many people dislike it and I know I should do some changes, the problem is that I don’t know what to do.

How do you typeset P(X|Y)? A vertical bar is replaced by |x|.

True, typing the | will generate the ‘absolute value’ brackets (type it twice and it will generate double-bar brackets). This is the behavior that I choose because maybe the ‘absolute value’ notation is used more often than the simple vertical bar (but it depends on what math field you are working on, and easily you will disagree).

To type the simple vertical bar (I call it ‘mid’), I can suggest any of the following two methods:

– use the MM double-stroke. Two uppercase M typed in quick succession should produce the ‘mid’ sign.

– cast it using the \mid command

If you use this sign really often, you might also consider configuring a keyboard accelerator on that sign (like Ctrl+I, or something).

[Note: the double-stroke is normally used to generate Greek letters, but some uppercase Greek letters are identical to Latin letters. In these cases I opted to use these double-strokes to generate special characters. For example AA should generate ‘for all’ sign, while EE should generate ‘exists’ sign.]

Yes, I noticed that but failed to notice that MM gives me the vertical bar that I wanted. I also still fail to find the vertical bar for “evaluated at” or “evaluated from a to b” that you use once unwinded the definite integral and want to evaluate it at the boundaries. MM-bar goes into the subscript/superscript itself, when I try to append the boundaries to it.

In the main toolbox, the subtoolbox under the summation option contains some bars (with a box on the left and with a box on the right). There is however no bar without a box, and maybe it would be good idea if I implement something like that.

BTW, I have discovered the Unit symbol under UU keystroke but could not find any for the intersection (conjunction) Λ symbol.

This syimbol exist in last few versions, but there is no shortcut. In the very last version you can find it in the subtoolbox behind the ‘+’ option… Again you can create the Ctrl+something (or Ctrl+shift+something, or double-stroke, or easycast) accelerator using the method I described in my previous answer.