Max Nikulin writes: > I have an idea how to implement *intra*/word/ markup with minimal > change of Org syntax. At first I had a hope that it is enough to > introduce \relax entity that expands to empty string, but it does not > work for second part of words: *intra*\relax{}/word/ is exported to > <b>intra</b>/word/. > So it is necessary to support consuming spaces after such entity > similar to TeX commands: > *intra*\relax /word/ > In Org "a\_ b" already behaves in the same way. > > I do not like zero-width spaces since they are invisible, so they are > not really "text" markup. Moreover, it is better to filter them out > during export. > > Another failed idea was to use export snippet or a macro for such purpose: > #+macro sep $1 > *intra*{{{sep()}}}/word/, *intra*@@html:@@/word/ > > Important point that suggested solution works for all export backends. > I do not consider explicit export snippets as a workaround since it > requires code for all backends in org files.
Maxim, I find the idea of \relax entity interesting. The only (minor) drawback I find (in normal use, I mean) is the verbosity it adds. In my case, I have already given up on the problem of marks inside words :-(. My personal opinion: I think that, unless a completely 'revolutionary' solution emerges, it is better to leave the matter as it is, and consider this a feature of Org rather than a bug. I suspect that a single solution could not satisfy all tastes or all possible scenarios, so maybe it would be nice to put a list of solutions (including this one and also the zero space thing, and others that have arisen or may arise) somewhere (perhaps in the manual?). What doesn't quite convince me (and I agree with you on that) is recommending zero width space as a sort of 'official' escape character. For the reasons you have expressed, which I think are very fair. Best regards, Juan Manuel