In org-mode we can style inline elements with
_underlined_ (_underlined_, which won’t show up in html),
But this breaks if the character just inside the styling code is a non-smart single or double quote.
=C-c ;= is styled (
=C-c '= is not (=C-c '=).
We can fix that by inserting a zero-width space between the apostrophe and the = . The first time, we can put the cursor between the apostrophe and the = and enter
C-x 8 RET ZERO WIDTH SPACE RET, at which point
=C-c '= will display as
ZERO WIDTH SPACE part of
C-x 8) is autocompleting, so we won’t need to type the whole thing, but we’ll probably still want a shortcut if it we find ourselves doing it more than once or twice. Here’s the simplest thing we could do:
(defun my/insert-zero-width-space ()
(insert-char ?\u200B)) ;; code for ZERO WIDTH SPACE
(global-set-key (kbd "C-x 8 s") ‘my/insert-zero-width-space)
After which, if we find ourselves adding inline styles which don’t work because the styled section starts or ends with a quotation mark, we can go to just before or just after the quotation mark, type
C-x 8 s, and watch the styles apply as expected.
Thanks, as usual, to Sacha Chua, who explained this in passing. Her .emacs has a more flexible solution which I will probably switch to the moment I need to insert more than one unicode character.
Note that while you can use
insert-char to get accented characters (
C-x 8 ' e produces
é, for instance), and I used to do that, I have since set the input method to TeX (
M-x set-input-method RET TeX RET), and now I type
Μεν, and so on and so forth.