emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Org-syntax: Intra-word markup


From: Max Nikulin
Subject: Re: Org-syntax: Intra-word markup
Date: Fri, 3 Dec 2021 21:24:05 +0700
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.14.0

On 03/12/2021 02:03, Nicolas Goaziou wrote:
Denis Maier writes:

As for suggestions: If just using /intra/word creates ambiguities, what
about the asciidoc solution? So //intra//word?

I sympathize to the idea of intra-word emphasis, but the syntax above is
going to cause some ambiguous situations.

I suppose, some more general solution is required.

I do think the marker + zero-width space is one way to go. We could, as
an improvement, consider zero-width spaces around emphasis markers to be
part of the markup, and replace them along during export.

Zero-space characters adjacent to emphasis markers is a better idea than replacing any zero space. However I agree with Juan Manuel that white space characters, especially completely invisible (I am not Eli who sees such special characters by moving cursor through them) should not be overloaded. From my point of view, it is acceptable to use zero width spaces as a workaround but they should not become official part of Org syntax.

Another solution is to introduce a less-subtle, but less prone to
ambiguity, syntax, e.g.,

                   /{bold}/markup   or   /|bold|/markup

where /{ }/  or /|  |/ become "extended" markers.

More explicit markup leaves less room for ambiguities, and I like the idea due to this reason. On the other hand it diverges from principle of lightweight markup. The almost only special character in TeX is "\", HTML has three ones "&<>" with simple escape rules. Org uses many special characters to avoid verbosity and requires some tricks to escape them. Markers like "\{" make Org more verbose but do not make it more strict, a lot of things still rely on heuristics.

I have an idea what can be done when some special markup is required that is not fit into current syntax. Unfortunately some new constructs should be introduced anyway: inline objects and multiline elements that represent simplified result of parsed Org structures:

    ((italic "intra") "word")

wrapped with some markup. It should satisfy any special needs (and even should allow to create invalid impossible constructs). Maybe idea of combination of lightweight markup and low-level blocks better suits for some other project with more expressive internal representation. In Org it may become the most hated feature.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]