Please refer to this answer for all the gory details.
The default post
set of characters in org-emphasis-regexp-components
is -[:space:].,:!?;'\")}\\[
i.e. dash, the :space:
character class, period, comma, colon, exclamation mark, question mark, semicolon, single quote, double quote, closing paren, closing brace, backslash or opening square bracket. Any of those after a closing emphasis character (=
in your examples above) will mark the end of the emphasis region.
In your case, you want to add the dollar sign $
to the post
set, but you also want to add it to the pre
set: that way, the example =s[=$i$=]=
will work as you want it to work. For the other example, you want s
(or perhaps any alpha char) to be in the post
set. So in your init file, define org-emphasis-regexp-components
as follows (and make sure that it is defined before you load Org mode):
(setq org-emphasis-regexp-components
'("-$[:space:]('\"{"
"-$[:alpha:][:space:].,:!?;'\")}\\["
"[:space:]"
"."
1))
...
(require 'org)
...
This makes your examples work, but depending on your needs, it might not be enough or it might be too much: you might need to add additional characters or classes to the pre
and/or post
sets, but you might also find that different examples require conflicting definitions, in which case you might be stuck: this variable might be too blunt an instrument to resolve some situations.