I want to set up a part of my Mathematica package so that typing <-Space is replaced with the left arrow character (← or \[LeftArrow]) just like it does with ->Space. Does anyone know how to do this? I looked briefly at event handling but didn't see anything immediately useful. I already know, of course, that Esc<-Esc will insert ←, and that doing so is not that much additional effort, but I'm more interested in the concept involved here. Any ideas?
Asked
Active
Viewed 331 times
12
rm -rf
- 88,781
- 21
- 293
- 472
Daisy Sophia Hollman
- 423
- 2
- 8
-
Also see my answer here for how to set input aliases and input auto-replacements – rm -rf May 04 '12 at 17:10
1 Answers
9
Normally you could use:
SetOptions[$FrontEndSession,
InputAutoReplacements -> {"<-" -> "\[LeftArrow]"}
]
But this fails because Mathematica already parses <- differently. Specifically the documentation states:
In expression input, automatic replacements can be performed only on strings of characters that correspond to complete input tokens.
You can see that this setting works for other strings, e.g.:
SetOptions[$FrontEndSession,
InputAutoReplacements -> {"stuff" -> "\[LeftArrow]"}
]
Then typing (with a space):
x stuff
Will render:
x \[LeftArrow]
Mr.Wizard
- 271,378
- 34
- 587
- 1,371