Hi Ihor and all, I wonder if you have seen Pollen’s approach to this? https://docs.racket-lang.org/pollen/pollen-command-syntax.html
There are two separate ideas used there which seemed related to this discussion. I’m not sure if they are useful in the org context. 1. The use of a special character (◊ by default) which introduces a command/inline special block. I don’t know if this would be worth considering as an alternative to @ (which also seems reasonable) to avoid ambiguity with other syntax. As the link above discusses it’s harder to type but there are solutions. 2. Making it easy to define custom functions that produce org syntax. A bit like perhaps Max's suggestion to use source blocks, but instead of writing AST-like structure directly in the document where you want it, you can call a previously defined function to build it. This is similar to org macros but I’m not sure if they are so flexible as a lisp function. There is also the option to choose between passing arguments as lisp (in [ ]) or as markup (in { }) On Tue, 4 Oct 2022, at 9:28 PM, Juan Manuel Macías wrote: > Ihor Radchenko writes: > >> If I were to choose an alternative symbol other than "_", I'd choose >> "@": >> >> @name{<contents>} >> @name{{<contents}} >> @name[:key value ...]{<contents>} >> >> 1. It is similar to Texinfo >> 2. It does not clash with TeX >> 3. We already use @ in the inline export snippets. > > I like the "@" alternative a lot. And I agree with all three points. It is > also compact without losing clarity, and does not give the feeling of a > blank space before, as in the case of "_". > > Best regards, > > Juan Manuel