12
$\begingroup$

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?

$\endgroup$
  • $\begingroup$ Also see my answer here for how to set input aliases and input auto-replacements $\endgroup$ – rm -rf May 4 '12 at 17:10
9
$\begingroup$

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] 
$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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