Mathematica Stack Exchange is a question and answer site for users of Mathematica. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Using ctrl/ you can make a fraction. If you have selected something it will appear in the numerator.

Does there exist a shortcut to make the selected text appear in the denominator instead? If not, is it possible to create a shortcut that does this?

share|improve this question
up vote 2 down vote accepted

Update: Just reverse the output of usual Ctrl+/!

Add the following lines to

Item[KeyEvent["?", Modifiers -> {Control}],
        NotebookWrite[InputNotebook[], Reverse@NotebookRead@InputNotebook[], Placeholder]
    MenuEvaluator -> Automatic       

and press Ctrl+Shift+/ (? is Shift+/ on my keyboard).

This method is fully compatible with brackets, functions, etc. When nothing is selected the cursor is in the numerator. If you prefer the denominator than use the following

Item[KeyEvent["?", Modifiers -> {Control}],
        NotebookWrite[InputNotebook[], Reverse@NotebookRead@InputNotebook[]],
        NotebookFind[InputNotebook[], "\[Placeholder]", Previous, AutoScroll -> False]
    MenuEvaluator -> Automatic       

Previous method:

Item[KeyEvent["?", Modifiers -> {Control}],
           SelectionMove[InputNotebook[], All, Expression];
        SelectionMove[InputNotebook[], Previous, Word];
        SelectionMove[InputNotebook[], Next, Character]; 
        SelectionMove[InputNotebook[], All, Character]
    MenuEvaluator -> Automatic 

MenuEvaluator -> Automatic is important because without it an unevaluated expression is written.

See also: Customizing Mathematica shortcuts

share|improve this answer
Seems you were a few seconds quicker :P – ssch Oct 4 '13 at 11:23
Nice! You could replace the SelectionMove stuff with Placeholder as third argument of NotebookWrite – ssch Oct 4 '13 at 15:46
If it works perfectly except one thing: When nothing is selected the cursor should be in the denominator. – Tyilo Oct 7 '13 at 12:40
@Tyilo I added the version with the cursor in the denominator. – ybeltukov Oct 7 '13 at 13:04
@ybeltukov Thanks! – Tyilo Oct 7 '13 at 15:53

Using same approach as Rolf did here

Putting this in does the job:

Item[KeyEvent["?", Modifiers -> {Control}],
  {nb = InputNotebook[]},
  If[NotebookRead@nb === {},
    SelectionMove[nb, All, Expression];
    If[NotebookRead@nb =!= {}, FrontEndTokenExecute["ExpandSelection"]]
    FractionBox["\[Placeholder]", "\[SelectionPlaceholder]"],
 ], MenuEvaluator->Automatic],

Here I used Ctrl+Shift+/ as it for some reason didn't work with Ctrl+\ (I tried with "\\" and "Backslash" perhaps it has another name)

Edit: Took keyboard shortcut from ybeltukov
Edit2: Also "ExpandSelection"

share|improve this answer
I enjoy your approach with NotebookApply (+1). Do you know how to modify it for cases 2 and 3 in my answer? – ybeltukov Oct 4 '13 at 12:24
@ybeltukov No, having trouble with SelectionMove. I think I'll add a check and only use SelectionMove if den == {} – ssch Oct 4 '13 at 12:28
@ybeltukov Now it works as it should, where did you find out about MenuEvaluator? Without it I couldn't use If – ssch Oct 4 '13 at 12:49
@ybeltukov Any ideas how to make things like f[x] work? Currently only ] is selected – ssch Oct 4 '13 at 13:03
I could do nothing, until I accidentally came across this post. Then I found many other examples: – ybeltukov Oct 4 '13 at 13:42

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.