emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Christian Moe <mail@christianmoe.com>
To: emacs-orgmode@gnu.org
Subject: Re: About 'inline special blocks'
Date: Sun, 19 Jun 2022 21:30:14 +0200	[thread overview]
Message-ID: <874k0gpi2h.fsf@christianmoe.com> (raw)
In-Reply-To: <875ykwvmz7.fsf@posteo.net>


Juan Manuel Macías writes:

> To add some ideas that have been occurring to me these days...
>

Hi,

This makes sense to me.

Note: For the html output in your example, I expect you don't mean
<name>contents></name>, but <span class="name">contents</span>. That
would give the desired custom style controle of the output, and would
parallel the behavior of special blocks.

If "inline special blocks" will be able to nest, they will have an
advantage over org macros, which cannot.

Apart from nesting, an org macro could do the same job, but less
elegantly. The suggested inline syntax would not require commas to be
escaped in the contents. And it would be somewhat more concise and far
more legible, as illustrated in the below example (with working macros,
imagined inline special blocks, and a CSS implementation):

#+begin_example
#+macro: fmt @@html:<span class="$1">$2</span>@@@@latex:\$1{$2}@@@@odt:<text:span text:style-name="$1">$2</text:span>@@
#+html_head: <style>.highlight {background-color: yellow;}
#+html_head:        .smallcaps {font-variant: small-caps;}</style>

This is some {{{fmt(highlight, highlighted text)}}} and this is some
{{{fmt(smallcaps, text in small caps)}}}.

This is some %[highlight]{highlighted text} and this is some
%[smallcaps]{text in small caps}.
#+end_example

Yours,
Christian

> I am more and more convinced that inline special blocks, by their
> nature, should not support fine tune options or anything like
> attr_latex, attr_html, etc. like its older brothers, as it would produce
> an overly complicated syntax. Big brothers are independent of the
> paragraph and there it makes sense to add lines with attr_latex, etc.,
> since it is a line-oriented syntax. Bringing that into the paragraph is
> unnecessarily overloading the paragraph and breaking the social contract
> of lightweight markup, where paragraphs should still look like
> paragraphs.
>
> Another argument against possible fine-tuning within inline special
> blocks, for export purposes, is that (in my opinion) direct formatting
> is a practice that should be avoided as much as possible in a document.
> A document with a lot of direct formatting is an inconsistent document.
> In html, all possible formatting should be controlled by style sheets;
> in LaTeX, by (re)defining macros, commands and environments in the
> preamble or in a .sty file; in odt using character styles.
>
> Perhaps if we detach special blocks from fine-tuning possibilities we
> lose some (export) flexibility, but we gain in a clearer implementation
> of these elements and keep Org aseptic about the output format. And in
> any case, if someone needs a fine-tuning in a certain case, there are
> always the export filters. Or it can be implemented in a similar way to
> inline tasks, with a default format function (for html, latex, etc),
> which can be changed via a defcustom.
>
> Starting from that, a syntax like this in Org:
>
> %[name]{contents}
>
> Would produce in LaTeX, by default:
>
> \name{contents}
>
> in html:
>
> <name>contents></name>
>
> in odt:
>
> <text:span text:style-name="name">contents</text:span>
>
> and so on.
>
> In short, I think it would be enough to simply implement something like
> this.
>
> Best regards,
>
> Juan Manuel


  reply	other threads:[~2022-06-19 19:32 UTC|newest]

Thread overview: 56+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-05-23 14:30 About 'inline special blocks' Juan Manuel Macías
2022-05-23 15:20 ` Kaushal Modi
2022-05-23 21:06   ` Juan Manuel Macías
2022-05-24  2:36     ` Tim Cross
2022-05-24  2:51       ` Timothy
2022-05-24  6:54         ` Eric S Fraga
2022-05-26  7:30           ` Christian Moe
2022-05-24 15:09         ` Max Nikulin
2022-05-25  7:22           ` Ihor Radchenko
2022-05-25 17:05             ` Max Nikulin
2022-05-26  2:54               ` Merging paragraphs separated by comment lines during export (was: About 'inline special blocks') Ihor Radchenko
2022-05-24  3:56       ` About 'inline special blocks' Ihor Radchenko
2022-05-24 14:05         ` João Pedro
2022-05-26  4:56           ` Ihor Radchenko
2022-05-26 11:30             ` João Pedro
2022-05-26 12:20               ` Ihor Radchenko
2022-05-26 17:35                 ` João Pedro
2022-05-26 21:22                   ` About opening issues vs email [Was: About 'inline special blocks'] Kaushal Modi
2022-05-27  4:24                     ` Ihor Radchenko
2022-05-27  4:36                     ` João Pedro
2022-05-25 13:55         ` About 'inline special blocks' Juan Manuel Macías
2022-06-17  6:28         ` Ihor Radchenko
2022-06-17 19:49           ` Juan Manuel Macías
2022-06-19 12:47   ` Juan Manuel Macías
2022-06-19 19:30     ` Christian Moe [this message]
2022-06-19 20:15       ` Juan Manuel Macías
2022-06-19 22:18     ` Tim Cross
2022-06-20 16:57     ` Max Nikulin
2022-06-20 19:06       ` Juan Manuel Macías
2022-06-21 16:39         ` Max Nikulin
2022-06-21 18:19           ` Juan Manuel Macías
2022-06-20 22:46       ` Tim Cross
2022-06-26  4:07         ` Org mode export accessibility (was: About 'inline special blocks') Ihor Radchenko
2022-06-26  6:29           ` Tim Cross
2022-06-26 10:46             ` Org mode export accessibility Juan Manuel Macías
2022-06-26 10:54               ` Ihor Radchenko
2022-06-27 14:40                 ` T.V Raman
2022-06-30  7:53                   ` Ihor Radchenko
2022-07-07 14:18                     ` briangpowell
2022-07-07 14:42                       ` T.V Raman
2022-07-08  4:38                         ` Ihor Radchenko
2022-07-08 13:55                           ` T.V Raman
2022-07-09  3:39                             ` Ihor Radchenko
2022-07-09 13:20                               ` T.V Raman
2022-09-30 11:07                         ` Max Nikulin
2022-09-30 13:29                           ` T.V Raman
2022-09-30 16:43                             ` Max Nikulin
2022-09-30 16:55                               ` T.V Raman
2022-10-01  4:36                             ` Ihor Radchenko
2022-10-01 14:59                               ` T.V Raman
2022-10-02  2:54                               ` Org source in PDF (Re: Org mode export accessibility) Max Nikulin
2022-10-02  3:50                                 ` Timothy
2022-07-07 14:43                       ` Org mode export accessibility T.V Raman
2022-07-07 15:37                       ` T.V Raman
2022-07-08  4:33                       ` Ihor Radchenko
2022-07-08 13:54                         ` T.V Raman

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.orgmode.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=874k0gpi2h.fsf@christianmoe.com \
    --to=mail@christianmoe.com \
    --cc=emacs-orgmode@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).