From: "Juan Manuel Macías" <maciaschain@posteo.net>
To: orgmode <emacs-orgmode@gnu.org>
Subject: Experimental public branch for inline special blocks
Date: Fri, 01 Mar 2024 20:34:35 +0000 [thread overview]
Message-ID: <87wmql6690.fsf@posteo.net> (raw)
Hi,
Finally, I have made public on GitLab my experimental branch for the new
(possible) inline-special-block element:
<https://gitlab.com/maciaschain/org-mode.git>
The code incorporates fixes and modifications and I have also added some
ideas from Maxim Nikulin. The LaTeX and HTML backends are complete,
although of course it can still be perfected. Recapitulating the
necessary information:
The new element can be nested and supports other elements such as links,
macros, emphasis marks, etc.
The basic syntax:
┌────
│ &foo{lorem ipsum dolor}
└────
produces in LaTeX:
┌────
│ \foo{lorem ipsum dolor}
└────
and in HTML:
┌────
│ <span class="foo">lorem ipsum dolor</span>
└────
There is also an anonymous variant:
┌────
│ &_{lorem ipsum dolor}
└────
Optional attributes in square brackets are supported. There are a series
of 'universal' attributes, common to each backend. At the moment:
`:lang', `:color' and `:smallcaps'. Example:
┌────
│ &foo[:color red :smallcaps t :lang it]{lorem ipsum dolor}
└────
Specific to the LaTeX backend we have the `:prelatex' and `:postlatex'
attributes (which introduce arbitrary code before and after the content)
and `:latex-command', which overrides the exported command.
`:latex-command nocommand' does not export a command flag. Examples:
┌────
│ &foo[:prelatex [bar] :postlatex {baz} :lang it :latex-command blah]{lorem ipsum dolor}
└────
==>
┌────
│ \foreignlanguage{italian}{\blah[bar]{lorem ipsum dolor}{baz}}
└────
┌────
│ &_[:prelatex \foo{bar} :color red]{lorem ipsum dolor}
└────
==>
┌────
│ {\color{red}\foo{bar}lorem ipsum dolor}
└────
Likewise, for HTML we have the `:html-tag' and `:html-class' attributes
(which override the tags and the class name) and another one, more
generic, `:html', which introduces arbitrary code, such as
`style="..."'.
We can group lists of attributes as aliases. The syntax waould be:
┌────
│ &alias!{text}
└────
and we can also combine aliases with more single attributes:
┌────
│ &alias![more-attributes]{text}
└────
An example: let's imagine that we want a specific block for short quotes
in Latin and italics (it is normative in some typographical traditions
that quotes in classical Latin are put in italics instead of quotation
marks):
┌────
│ #+options: inline-special-block-aliases:(("latin" :lang "la" :latex-command "textit" :html-tag "em"))
│
│ Caesar's famous quote: &latin!{Alea iacta est}
│
│ Caesar's famous quote: &latin![:smallcaps t :color blue]{Alea iacta est}
└────
==> LaTeX:
┌────
│ Caesar's famous quote: \foreignlanguage{latin}{\textit{Alea iacta est}}
│
│ Caesar's famous quote: {\scshape{}\color{blue}\foreignlanguage{latin}{\textit{Alea iacta est}}}
└────
== HTML:
┌────
│ Caesar's famous quote: <em lang="la" class="latin">Alea iacta est</em>
│
│ Caesar's famous quote: <em style="color:blue;font-variant:small-caps;" lang="la" class="latin">Alea iacta est</em>
└────
Best regards,
Juan Manuel
--
Juan Manuel Macías -- Composición tipográfica, tratamiento de datos, diseño editorial y ortotipografía
next reply other threads:[~2024-03-01 20:35 UTC|newest]
Thread overview: 86+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-03-01 20:34 Juan Manuel Macías [this message]
2024-03-02 8:29 ` Experimental public branch for inline special blocks Stefan Nobis
2024-03-02 10:57 ` Juan Manuel Macías
2024-03-03 20:29 ` Juan Manuel Macías
2024-03-10 2:08 ` `:export' attribute?: " Juan Manuel Macías
2024-03-10 13:54 ` Juan Manuel Macías
2024-03-11 10:27 ` Max Nikulin
2024-03-11 13:59 ` Juan Manuel Macías
2024-03-11 17:01 ` Max Nikulin
2024-03-11 20:19 ` Juan Manuel Macías
2024-03-12 8:32 ` Stefan Nobis
2024-03-12 13:45 ` Juan Manuel Macías
2024-03-12 16:20 ` Max Nikulin
2024-03-12 17:41 ` Juan Manuel Macías
2024-03-13 16:08 ` Max Nikulin
2024-03-13 16:48 ` Juan Manuel Macías
2024-03-13 17:16 ` Juan Manuel Macías
2024-03-15 2:19 ` Juan Manuel Macías
2024-03-15 10:52 ` Max Nikulin
2024-03-15 13:10 ` Juan Manuel Macías
2024-03-15 17:21 ` Max Nikulin
2024-03-15 14:00 ` Ihor Radchenko
2024-03-15 11:11 ` Max Nikulin
2024-03-15 14:19 ` Ihor Radchenko
2024-03-15 16:26 ` Juan Manuel Macías
2024-03-16 14:07 ` Max Nikulin
2024-03-18 19:42 ` Juan Manuel Macías
2024-03-19 14:54 ` Max Nikulin
2024-03-19 17:47 ` Juan Manuel Macías
2024-03-21 10:26 ` inline-special-block: export rules (was: `:export' attribute?: Re: Experimental public branch for inline special blocks) Juan Manuel Macías
2024-03-26 16:56 ` inline-special-block: export rules Max Nikulin
2024-03-04 17:13 ` naming: Re: Experimental public branch for inline special blocks Max Nikulin
2024-03-04 17:29 ` Ihor Radchenko
2024-03-04 17:49 ` Juan Manuel Macías
2024-03-05 10:53 ` Max Nikulin
2024-03-05 11:04 ` Ihor Radchenko
2024-03-05 15:16 ` Suhail Singh
2024-03-05 15:23 ` Suhail Singh
2024-03-05 15:16 ` Juan Manuel Macías
2024-03-06 10:42 ` Max Nikulin
2024-03-06 10:56 ` Ihor Radchenko
2024-03-07 10:34 ` Max Nikulin
2024-03-07 14:12 ` Ihor Radchenko
2024-03-08 5:26 ` Samuel Wales
2024-03-08 16:32 ` Max Nikulin
2024-03-08 16:41 ` Ihor Radchenko
2024-03-04 18:07 ` Juan Manuel Macías
2024-03-04 22:17 ` Samuel Wales
2024-03-04 22:18 ` Samuel Wales
2024-03-05 16:47 ` smallcaps: " Max Nikulin
2024-03-05 17:28 ` Juan Manuel Macías
2024-03-06 10:55 ` Max Nikulin
2024-03-06 15:21 ` Juan Manuel Macías
2024-03-06 16:53 ` To avoid zero width space: " Max Nikulin
2024-03-06 18:27 ` Juan Manuel Macías
2024-03-06 21:13 ` Juan Manuel Macías
2024-03-07 10:57 ` false positives: " Max Nikulin
2024-03-07 11:06 ` Juan Manuel Macías
2024-03-07 11:18 ` Ihor Radchenko
2024-03-07 11:19 ` Juan Manuel Macías
2024-03-07 15:53 ` Juan Manuel Macías
2024-03-07 16:09 ` Ihor Radchenko
2024-03-07 16:57 ` Juan Manuel Macías
2024-03-07 18:21 ` Juan Manuel Macías
2024-03-08 13:58 ` Max Nikulin
2024-03-08 15:44 ` Juan Manuel Macías
2024-03-08 16:04 ` Max Nikulin
2024-03-08 16:15 ` Ihor Radchenko
2024-03-08 18:44 ` Juan Manuel Macías
2024-03-08 18:57 ` Juan Manuel Macías
2024-03-09 11:10 ` Max Nikulin
2024-03-09 11:48 ` Juan Manuel Macías
2024-03-09 15:24 ` Juan Manuel Macías
2024-03-10 7:11 ` Max Nikulin
2024-04-09 8:52 ` Ihor Radchenko
2024-04-09 10:51 ` Max Nikulin
2024-04-09 14:05 ` Ihor Radchenko
2024-04-10 23:00 ` Juan Manuel Macías
2024-04-11 12:26 ` Ihor Radchenko
2024-04-11 13:47 ` Juan Manuel Macías
2024-07-18 6:55 ` Ihor Radchenko
2024-07-18 21:04 ` Juan Manuel Macías
2024-07-19 13:06 ` Ihor Radchenko
2024-04-14 15:59 ` Attributes on images (was:: Experimental public branch for inline special blocks) Rick Lupton
2024-04-14 19:26 ` Ihor Radchenko
2024-04-11 11:06 ` Experimental public branch for inline special blocks Max Nikulin
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
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87wmql6690.fsf@posteo.net \
--to=maciaschain@posteo.net \
--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 external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.