* About 'inline special blocks' @ 2022-05-23 14:30 Juan Manuel Macías 2022-05-23 15:20 ` Kaushal Modi 0 siblings, 1 reply; 56+ messages in thread From: Juan Manuel Macías @ 2022-05-23 14:30 UTC (permalink / raw) To: orgmode Hi all, I think this idea was suggested by Ihor in a thread from a few months ago (I don't remember which one), but since other topics were discussed, the idea remained a bit in limbo. I still find the idea very interesting, and I think it would be very productive for Org to have a multipurpose inline container, so it occurred to me to open this thread to invite a possible discussion on the subject. I suppose it would have been more practical to start the thread directly proposing a patch, but since it is about adding a new element to Org, which is not trivial, I thought that maybe it would be more convenient to have a previous discussion and poll the users' and developers opinion. The question is: Does Org Mode need inline special blocks? On the one hand, it seems that we can live without them. Macros and links can work competently for this purpose. But macros have the drawback of the comma as an escape character; and links also have its drawbacks, although the org-link-set-parameters function is very versatile. And even a huge fan of links like me can recognize these limitations :-). For example, we cannot put a footnote inside a link. Therefore, I think that inline special blocks would fill an important gap. They could be translated into HTML as a <span></span> container; to odt as character styles or to LaTeX as commands with arguments. And they would open the doors to a real solution for multilingual support in Org. Perhaps the syntax could be a continuation of that of inline code blocks. Something like: <name>_[options]{text} And in options include some 'jibarized' version of attr_latex, attr_html, etc. Well, I don't know if I have managed to sell the product well or if I have been too abstract :-) Best regards, Juan Manuel ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: About 'inline special blocks' 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-06-19 12:47 ` Juan Manuel Macías 0 siblings, 2 replies; 56+ messages in thread From: Kaushal Modi @ 2022-05-23 15:20 UTC (permalink / raw) To: Juan Manuel Macías; +Cc: orgmode On Mon, May 23, 2022 at 10:33 AM Juan Manuel Macías <maciaschain@posteo.net> wrote: > I think this idea was suggested by Ihor in a thread from a few months > ago (I don't remember which one), but since other topics were discussed, > the idea remained a bit in limbo. I still find the idea very > interesting, and I think it would be very productive for Org to have a > multipurpose inline container, so it occurred to me to open this thread > to invite a possible discussion on the subject. Thanks for doing this. I missed that thread. I would welcome this feature addition too. If I understand correctly, this will mean adding a new element type that all the Org exporters can then support. Right? > The question is: Does Org Mode need inline special blocks? Yes. > On the one hand, it seems that we can live without them. Not quite. I developed few hacks in ox-hugo to make regular special blocks act like special inline blocks :D Example: ===== More than the visual inaccuracy of seeing curved quoted where straight quotes should be, #+begin_mark if someone copies that code to try it out, it will not work #+end_mark ! ===== Another example: ===== By the way, I submitted a patch for fixing the escaping of straight quotes in ~shortdoc-add-function~ documentation string #+begin_sidenote I planned to fix just this straight quote escaping issue, but then I also ended up slightly improving the documentation of the ~(FUNC :eval EVAL)~ and other forms used for adding a function's documentation to ~shortdoc~. #+end_sidenote in .. ===== ox-hugo does the job of deleting the newlines and white-space (leaving just 1) before and after few "special" special Org blocks. > Therefore, I think that inline special blocks would fill an important > gap. They could be translated into HTML as a <span></span> container; +1 > Perhaps the syntax could be a continuation of that of inline code > blocks. Something like: > > <name>_[options]{text} The challenging part will be deciding the syntax so that there are no false matches. May be reserve "inline_" for inline blocks? e.g. inline_<name>[options]{text} ? Using my example above, if I want the <mark> elements in HTML, I would do abc inline_mark{some text} def and that would export to below for an HTML based exporter: abc <mark>some text</mark> def ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: About 'inline special blocks' 2022-05-23 15:20 ` Kaushal Modi @ 2022-05-23 21:06 ` Juan Manuel Macías 2022-05-24 2:36 ` Tim Cross 2022-06-19 12:47 ` Juan Manuel Macías 1 sibling, 1 reply; 56+ messages in thread From: Juan Manuel Macías @ 2022-05-23 21:06 UTC (permalink / raw) To: Kaushal Modi; +Cc: orgmode Hi, Kaushal, thanks for all your interesting comments, Kaushal Modi writes: > The challenging part will be deciding the syntax so that there are no > false matches. > > May be reserve "inline_" for inline blocks? > > e.g. inline_<name>[options]{text} ? It seems to me the most consistent option, if we continue in some way the syntax of the inline code blocks, which would be the close relatives of the inline special blocks. Perhaps (to shorten the syntax a bit) 'inline' could be replaced by some reserved symbol. Something like: &_<name>[options]{text} I think a major issue would also be how to properly compact <[options]> so as not to result in too overloaded syntax. Maybe something like: [latex(list of attributes) html(list of attributes)...] ? But that is an abuse of direct formatting, which I think should always be avoided, especially in a format-agnostic environment like Org, which is more of a logician than a typesetter :-) And, in any case, it is to be expected that the user will not need to overload that part, since these hypothetical inline blocks would be intended for short segments of text within the paragraph. I think the most typical use case would be something like your 'mark' example. Best regards, Juan Manuel ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: About 'inline special blocks' 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 3:56 ` About 'inline special blocks' Ihor Radchenko 0 siblings, 2 replies; 56+ messages in thread From: Tim Cross @ 2022-05-24 2:36 UTC (permalink / raw) To: emacs-orgmode I've not got a lot to add here. I'm not against the idea, but Juan makes some points below which I think are particularly important and wanted to add weight to them! Juan Manuel Macías <maciaschain@posteo.net> writes: > Hi, Kaushal, thanks for all your interesting comments, > > Kaushal Modi writes: > >> The challenging part will be deciding the syntax so that there are no >> false matches. >> >> May be reserve "inline_" for inline blocks? >> >> e.g. inline_<name>[options]{text} ? > > It seems to me the most consistent option, if we continue in some way > the syntax of the inline code blocks, which would be the close relatives > of the inline special blocks. Perhaps (to shorten the syntax a bit) > 'inline' could be replaced by some reserved symbol. Something like: > > &_<name>[options]{text} > I agree. Selection of the 'symbol' might be tricky, but the idea is sound. > I think a major issue would also be how to properly compact <[options]> > so as not to result in too overloaded syntax. Maybe something like: > > [latex(list of attributes) html(list of attributes)...] > > ? > > But that is an abuse of direct formatting, which I think should always be > avoided, especially in a format-agnostic environment like Org, which is > more of a logician than a typesetter :-) I think this is a really important point. Whenever we add formatting specific directives, we always end up in a somewhat uncertain situation with respect to the other back ends. I also feel that in-line blocks which support large and complex formatting configuration really defeat the purpose of an in=line block (which I feel should be kept relatively simple). I also find complex constructs of this form really degrades the readability of source documents. > > And, in any case, it is to be expected that the user will not need to > overload that part, since these hypothetical inline blocks would be > intended for short segments of text within the paragraph. I think the > most typical use case would be something like your 'mark' example. > Yes, that was my thinking as well. ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: About 'inline special blocks' 2022-05-24 2:36 ` Tim Cross @ 2022-05-24 2:51 ` Timothy 2022-05-24 6:54 ` Eric S Fraga 2022-05-24 15:09 ` Max Nikulin 2022-05-24 3:56 ` About 'inline special blocks' Ihor Radchenko 1 sibling, 2 replies; 56+ messages in thread From: Timothy @ 2022-05-24 2:51 UTC (permalink / raw) To: Tim Cross; +Cc: emacs-orgmode [-- Attachment #1: Type: text/plain, Size: 1362 bytes --] Hi Tim, Tim Cross <theophilusx@gmail.com> writes: >> But that is an abuse of direct formatting, which I think should always be >> avoided, especially in a format-agnostic environment like Org, which is >> more of a logician than a typesetter :-) > > I think this is a really important point. Whenever we add formatting > specific directives, we always end up in a somewhat uncertain situation > with respect to the other back ends. I also feel that in-line blocks > which support large and complex formatting configuration really defeat > the purpose of an in=line block (which I feel should be kept relatively > simple). I also find complex constructs of this form really degrades the > readability of source documents. To me, this is another reason for comment and #+attr_X lines not to break paragraphs, as then we can just re-use #+attr_X lines. E.g. ┌──── │ Hi there look at │ #+attr_X: :prop val │ inline_mark{some content} │ and now continuing the paragraph... └──── As mentioned previously, this would also be rather nice for comments in paragraphs and also applying attributes to a link in a paragraph, i.e. ┌──── │ I'm a big fan of the │ #+attr_html: :title Visit the Org homepage │ [[https://orgmode.org/][Org]] │ project. └──── All the best, Timothy ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: About 'inline special blocks' 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 1 sibling, 1 reply; 56+ messages in thread From: Eric S Fraga @ 2022-05-24 6:54 UTC (permalink / raw) To: Timothy; +Cc: Tim Cross, emacs-orgmode On Tuesday, 24 May 2022 at 10:51, Timothy wrote: > To me, this is another reason for comment and #+attr_X lines not to > break paragraphs [...]. And, in fact, if this were true (which I would like), I personally would see no reason for having inline special blocks. Just my 2¢. -- : Eric S Fraga, with org release_9.5.3-511-g8e69ad in Emacs 29.0.50 ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: About 'inline special blocks' 2022-05-24 6:54 ` Eric S Fraga @ 2022-05-26 7:30 ` Christian Moe 0 siblings, 0 replies; 56+ messages in thread From: Christian Moe @ 2022-05-26 7:30 UTC (permalink / raw) To: emacs-orgmode +1 Eric S Fraga writes: > On Tuesday, 24 May 2022 at 10:51, Timothy wrote: >> To me, this is another reason for comment and #+attr_X lines not to >> break paragraphs [...]. > > And, in fact, if this were true (which I would like), I personally would > see no reason for having inline special blocks. > > Just my 2¢. ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: About 'inline special blocks' 2022-05-24 2:51 ` Timothy 2022-05-24 6:54 ` Eric S Fraga @ 2022-05-24 15:09 ` Max Nikulin 2022-05-25 7:22 ` Ihor Radchenko 1 sibling, 1 reply; 56+ messages in thread From: Max Nikulin @ 2022-05-24 15:09 UTC (permalink / raw) To: emacs-orgmode On 24/05/2022 09:51, Timothy wrote: > > To me, this is another reason for comment and #+attr_X lines not to break > paragraphs, as then we can just re-use #+attr_X lines. I like the idea that comments and attribute lines should not be paragraph separators. I expect, it should alleviate the issue that LaTeX and Org paragraphs may significantly differ. Do somebody has examples when such change will cause negative effects (besides broken compatibility, of course)? > ┌──── > │ Hi there look at > │ #+attr_X: :prop val > │ inline_mark{some content} > │ and now continuing the paragraph... > └──── However I am afraid that using the same construct for block-level elements and inline object will cause confusion. Consider a paragraph starting from a link. Which attributes belongs to the whole paragraph and which ones should affect the starting link only? I consider attributes specific to an inline object as a great feature, but I am unsure if it requires special inline object. Would not it be enough to allow attributes for already existing objects (emphasis, links, citations)? It is feasible to require from external tools such as pandoc to support special blocks (likely implemented in lisp code)? Concerning fear that complicated attributes makes text hardly readable, macros might be a rescue, but it would depend on implementation. I had an idea to implement proof-of-concept for inline attributes using a special link type and a parse tree filter that transfers attributes to the next object. Unfortunately time related bugs in Emacs appeared to be rather time consuming. ---- >8 ---- #+macro: nofollow [[attr:(:html (:rel "nofollow noopener"))]] An {{{nofollow}}[[attr:(:html (:title "be careful!"))]][[http://unsafe.com][unsafe link]]. ---- 8< ---- Such implementation would allow to test if it convenient enough and whether special blocks are really necessary. ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: About 'inline special blocks' 2022-05-24 15:09 ` Max Nikulin @ 2022-05-25 7:22 ` Ihor Radchenko 2022-05-25 17:05 ` Max Nikulin 0 siblings, 1 reply; 56+ messages in thread From: Ihor Radchenko @ 2022-05-25 7:22 UTC (permalink / raw) To: Max Nikulin; +Cc: emacs-orgmode Max Nikulin <manikulin@gmail.com> writes: > On 24/05/2022 09:51, Timothy wrote: >> >> To me, this is another reason for comment and #+attr_X lines not to break >> paragraphs, as then we can just re-use #+attr_X lines. > > I like the idea that comments and attribute lines should not be > paragraph separators. I expect, it should alleviate the issue that LaTeX > and Org paragraphs may significantly differ. Do somebody has examples > when such change will cause negative effects (besides broken > compatibility, of course)? I will raise a compatibility issue, but it is bad enough to not think about other things. AFAIU, the proposed change will break whole export system? How would you represent the AST of First line # comment Second line ? Currently, the above is parsed as (org-data (section (paragraph "First line\n") (comment (... :value "comment" )) (paragraph "Second line\n")))) Should we consider a comment as inline object? I suspect that such change will cause unpredictable breakages all around Org and third-party packages. > I had an idea to implement proof-of-concept for inline attributes using > a special link type and a parse tree filter that transfers attributes to > the next object. Unfortunately time related bugs in Emacs appeared to be > rather time consuming. > > ---- >8 ---- > #+macro: nofollow [[attr:(:html (:rel "nofollow noopener"))]] > > An {{{nofollow}}[[attr:(:html (:title "be > careful!"))]][[http://unsafe.com][unsafe link]]. > ---- 8< ---- > > Such implementation would allow to test if it convenient enough and > whether special blocks are really necessary. I am not sure if I like this idea. It seems fine, but I afraid that it will complicate parser at some point. We may want to assign such inline properties to the following object, which is already a pain for affiliated keywords. Best, Ihor ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: About 'inline special blocks' 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 0 siblings, 1 reply; 56+ messages in thread From: Max Nikulin @ 2022-05-25 17:05 UTC (permalink / raw) To: emacs-orgmode On 25/05/2022 14:22, Ihor Radchenko wrote: > Max Nikulin writes: >> On 24/05/2022 09:51, Timothy wrote: >>> >>> To me, this is another reason for comment and #+attr_X lines not to break >>> paragraphs, as then we can just re-use #+attr_X lines. > > I will raise a compatibility issue, but it is bad enough to not think > about other things. > AFAIU, the proposed change will break whole export system? How would you > represent the AST of > > First line > # comment > Second line > > Should we consider a comment as inline object? I suspect that such > change will cause unpredictable breakages all around Org and third-party > packages. I believed that comments are stripped before passing to export backend, so I did not expect any problem with inline comments. >> ---- >8 ---- >> #+macro: nofollow [[attr:(:html (:rel "nofollow noopener"))]] >> >> An {{{nofollow}}[[attr:(:html (:title "be >> careful!"))]][[http://unsafe.com][unsafe link]]. >> ---- 8< ---- > > I am not sure if I like this idea. It seems fine, but I afraid that it > will complicate parser at some point. We may want to assign such inline > properties to the following object, which is already a pain for > affiliated keywords. Certainly parser should recognize inline attributes, but I do not expect real complications here. Assigning attributes may be performed when AST is ready. Just collect attributes and put them to the following non-attribute object during breadth-first tree transversal. Attributes as the last child is a reason for a warning. ^ permalink raw reply [flat|nested] 56+ messages in thread
* Merging paragraphs separated by comment lines during export (was: About 'inline special blocks') 2022-05-25 17:05 ` Max Nikulin @ 2022-05-26 2:54 ` Ihor Radchenko 0 siblings, 0 replies; 56+ messages in thread From: Ihor Radchenko @ 2022-05-26 2:54 UTC (permalink / raw) To: Max Nikulin; +Cc: emacs-orgmode Max Nikulin <manikulin@gmail.com> writes: >> First line >> # comment >> Second line >> >> Should we consider a comment as inline object? I suspect that such >> change will cause unpredictable breakages all around Org and third-party >> packages. > > I believed that comments are stripped before passing to export backend, > so I did not expect any problem with inline comments. You are right. After examining org-export--skip-p and org-export--prune-tree, I see that all the comments are removed unconditionally. But then, all we need to do is simply merging paragraphs separated by a comment with :post-blank = 0 and the first paragraph having :post-blank = 0. As long as export is concerned it is simply a question of writing an export filter (Timothy, did you have anything other than export in mind?) >>> ---- >8 ---- >>> #+macro: nofollow [[attr:(:html (:rel "nofollow noopener"))]] >>> >>> An {{{nofollow}}[[attr:(:html (:title "be >>> careful!"))]][[http://unsafe.com][unsafe link]]. >>> ---- 8< ---- >> >> I am not sure if I like this idea. It seems fine, but I afraid that it >> will complicate parser at some point. We may want to assign such inline >> properties to the following object, which is already a pain for >> affiliated keywords. > > Certainly parser should recognize inline attributes, but I do not expect > real complications here. Assigning attributes may be performed when AST > is ready. Just collect attributes and put them to the following > non-attribute object during breadth-first tree transversal. Attributes > as the last child is a reason for a warning. I was mostly thinking about element cache. Dealing with affiliated keywords caused a lot of pain when I was working on cache. On the other hand, inline objects are currently parsed together - org-element-context always parses everything starting from the parent object :contents-begin. So, maybe it is not going to be as much problem as I thought. Another concern about inline attributes is plain-text objects. Consider the following paragraph: Some text *bold* plain text. _Underline {{{attribute}}} more text /italics/ end of underline_. The object structure will be: (paragraph (plain-text "Some text ") (bold (plain-text "bold")) (plain-text " plain text. ") (underline (plain-text "Underline ") (attribute) (plain-text " more text ") (italics (plain-text "italics")) (plain-text " end of underline")) (plain-text ".\n")) So, should the attribute be assigned to " more text "? Just the next word? What if we have something like Text {{{attribute to be assigned to "two words"}}}two words but plain-text element still continues. Best, Ihor ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: About 'inline special blocks' 2022-05-24 2:36 ` Tim Cross 2022-05-24 2:51 ` Timothy @ 2022-05-24 3:56 ` Ihor Radchenko 2022-05-24 14:05 ` João Pedro ` (2 more replies) 1 sibling, 3 replies; 56+ messages in thread From: Ihor Radchenko @ 2022-05-24 3:56 UTC (permalink / raw) To: Tim Cross; +Cc: emacs-orgmode Tim Cross <theophilusx@gmail.com> writes: >> I think a major issue would also be how to properly compact <[options]> >> so as not to result in too overloaded syntax. Maybe something like: >> >> [latex(list of attributes) html(list of attributes)...] >> >> ? >> >> But that is an abuse of direct formatting, which I think should always be >> avoided, especially in a format-agnostic environment like Org, which is >> more of a logician than a typesetter :-) > > I think this is a really important point. Whenever we add formatting > specific directives, we always end up in a somewhat uncertain situation > with respect to the other back ends. I also feel that in-line blocks > which support large and complex formatting configuration really defeat > the purpose of an in=line block (which I feel should be kept relatively > simple). I also find complex constructs of this form really degrades the > readability of source documents. I think that we might simply allow to define complex configuration before the containing paragraph. Something like: #+attr_latex[name]: <complex config goes here> Vestibulum convallis, lorem blockname_[<<name>>]{text} a tempus semper, dui dui euismod elit, vitae placerat urna tortor vitae lacus. "<<name>>" will be treated as "<complex config goes here>" during export/parsing. I am purposely reusing #+keyword[secondary] and <<name>> syntax to keep things similar to other existing elements. Best, Ihor ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: About 'inline special blocks' 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-25 13:55 ` About 'inline special blocks' Juan Manuel Macías 2022-06-17 6:28 ` Ihor Radchenko 2 siblings, 1 reply; 56+ messages in thread From: João Pedro @ 2022-05-24 14:05 UTC (permalink / raw) To: Ihor Radchenko, Tim Cross; +Cc: emacs-orgmode On Tue, May 24 2022 11:56, Ihor Radchenko <yantar92@gmail.com> wrote: > I think that we might simply allow to define complex configuration > before the containing paragraph. Something like: On that note, I think that allowing for inline special blocks would make that more readable. It would work wonderfully with org-special-block-extras [1], where the user could define complex blocks with formatting configuration and what-not, and just use that as an inline block. > #+attr_latex[name]: <complex config goes here> > Vestibulum convallis, lorem blockname_[<<name>>]{text} a tempus semper, dui > dui euismod elit, vitae placerat urna tortor vitae lacus. > > "<<name>>" will be treated as "<complex config goes here>" during > export/parsing. Although I do agree that this sort of solves the same problem as the other approach, but I, personally, find that defining new special blocks is not only easier to reuse, but more readable as well. But I'm thinking in terms of org-special-block-extras here, so take my 2 cents with a grain of salt. [1] https://github.com/alhassy/org-special-block-extras Best, -- João Pedro de Amorim Paula IT undergraduate at Universidade Federal do Rio Grande do Norte (UFRN) ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: About 'inline special blocks' 2022-05-24 14:05 ` João Pedro @ 2022-05-26 4:56 ` Ihor Radchenko 2022-05-26 11:30 ` João Pedro 0 siblings, 1 reply; 56+ messages in thread From: Ihor Radchenko @ 2022-05-26 4:56 UTC (permalink / raw) To: João Pedro; +Cc: Tim Cross, emacs-orgmode João Pedro <jpedrodeamorim@gmail.com> writes: >> #+attr_latex[name]: <complex config goes here> >> Vestibulum convallis, lorem blockname_[<<name>>]{text} a tempus semper, dui >> dui euismod elit, vitae placerat urna tortor vitae lacus. >> >> "<<name>>" will be treated as "<complex config goes here>" during >> export/parsing. > > Although I do agree that this sort of solves the same problem as the > other approach, but I, personally, find that defining new special blocks > is not only easier to reuse, but more readable as well. But I'm thinking > in terms of org-special-block-extras here, so take my 2 cents with a > grain of salt. I agree. But it is a known problem on defining new specific command vs. running a new generic command with arguments. You can indeed define a new command (block in our case), but if you just need to adjust some parameter once in the whole document, there is no point creating a whole new block type just for that purpose. Think about defun vs. lambda. > [1] https://github.com/alhassy/org-special-block-extras I am not sure if I mentioned this earlier, but org-special-block-extras could be a good addition to Org core. Best, Ihor ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: About 'inline special blocks' 2022-05-26 4:56 ` Ihor Radchenko @ 2022-05-26 11:30 ` João Pedro 2022-05-26 12:20 ` Ihor Radchenko 0 siblings, 1 reply; 56+ messages in thread From: João Pedro @ 2022-05-26 11:30 UTC (permalink / raw) To: Ihor Radchenko; +Cc: Tim Cross, emacs-orgmode On Thu, May 26 2022 12:56, Ihor Radchenko <yantar92@gmail.com> wrote: > I agree. But it is a known problem on defining new specific command vs. > running a new generic command with arguments. You can indeed define a > new command (block in our case), but if you just need to adjust some > parameter once in the whole document, there is no point creating a whole > new block type just for that purpose. Think about defun vs. lambda. Oh, got it. Well, as I said, I'd be more than happy using the #+attr_X solution though! > I am not sure if I mentioned this earlier, but org-special-block-extras > could be a good addition to Org core. Has anyone tried reaching out to the author? I think it would be a great addition! It is a seemingly simple idea that opens up some many possibilities in Org-mode. Best, -- João Pedro de Amorim Paula IT undergraduate at Universidade Federal do Rio Grande do Norte (UFRN) ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: About 'inline special blocks' 2022-05-26 11:30 ` João Pedro @ 2022-05-26 12:20 ` Ihor Radchenko 2022-05-26 17:35 ` João Pedro 0 siblings, 1 reply; 56+ messages in thread From: Ihor Radchenko @ 2022-05-26 12:20 UTC (permalink / raw) To: João Pedro; +Cc: Tim Cross, emacs-orgmode João Pedro <jpedrodeamorim@gmail.com> writes: >> I am not sure if I mentioned this earlier, but org-special-block-extras >> could be a good addition to Org core. > > Has anyone tried reaching out to the author? I think it would be a great > addition! It is a seemingly simple idea that opens up some many > possibilities in Org-mode. If I recall correctly, it was one of the comments (or questions) when he presented during Emacsconf. However, I do not recall him asking about anything on Org mailing list. I think that you can simply open an issue in his Github repo. Best, Ihor ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: About 'inline special blocks' 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 0 siblings, 1 reply; 56+ messages in thread From: João Pedro @ 2022-05-26 17:35 UTC (permalink / raw) To: Ihor Radchenko; +Cc: Tim Cross, emacs-orgmode On Thu, May 26 2022 20:20, Ihor Radchenko <yantar92@gmail.com> wrote: > I think that you can simply open an issue in his Github repo. I reached out to him on e-mail, if he doesn't reply there I'll create the issue. Thanks! -- João Pedro de Amorim Paula IT undergraduate at Universidade Federal do Rio Grande do Norte (UFRN) ^ permalink raw reply [flat|nested] 56+ messages in thread
* About opening issues vs email [Was: About 'inline special blocks'] 2022-05-26 17:35 ` João Pedro @ 2022-05-26 21:22 ` Kaushal Modi 2022-05-27 4:24 ` Ihor Radchenko 2022-05-27 4:36 ` João Pedro 0 siblings, 2 replies; 56+ messages in thread From: Kaushal Modi @ 2022-05-26 21:22 UTC (permalink / raw) To: João Pedro; +Cc: Ihor Radchenko, Tim Cross, emacs-org list On Thu, May 26, 2022 at 1:36 PM João Pedro <jpedrodeamorim@gmail.com> wrote: > > On Thu, May 26 2022 20:20, Ihor Radchenko <yantar92@gmail.com> wrote: > > > I think that you can simply open an issue in his Github repo. > > I reached out to him on e-mail, if he doesn't reply there I'll create > the issue. Thanks! Just saying this based on my personal preference. I would rather prefer that people directly open an issue on Github than emailing me personally. Reasons: - Issues section is there for a reason. If the repo owner did not like people opening Issues, they would disable that section. - Conversations and discussions are better formatted and readable in the issue threads. - If the feature is implemented, I like to link that commit or PR to that issue so that the entire history and reasoning behind a feature addition (esp. if it's a breaking one) can be followed through hyperlinks from the commit log to the issue thread. ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: About opening issues vs email [Was: About 'inline special blocks'] 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 1 sibling, 0 replies; 56+ messages in thread From: Ihor Radchenko @ 2022-05-27 4:24 UTC (permalink / raw) To: Kaushal Modi; +Cc: João Pedro, Tim Cross, emacs-org list Kaushal Modi <kaushal.modi@gmail.com> writes: >> I reached out to him on e-mail, if he doesn't reply there I'll create >> the issue. Thanks! > > Just saying this based on my personal preference. I would rather > prefer that people directly open an issue on Github than emailing me > personally. > > Reasons: > > - Issues section is there for a reason. If the repo owner did not like > people opening Issues, they would disable that section. I guess it depends. Some people may not prefer public discussions. At least not always. The question here is not exactly an issue to be fixed, but something much more complex. > - Conversations and discussions are better formatted and readable in > the issue threads. How so? No branching of replies (fixed linear layout). No attachments. Often yet another flavor of markdown. > - If the feature is implemented, I like to link that commit or PR to > that issue so that the entire history and reasoning behind a feature > addition (esp. if it's a breaking one) can be followed through > hyperlinks from the commit log to the issue thread. You can equally link a public email exchange. Best, Ihor ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: About opening issues vs email [Was: About 'inline special blocks'] 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 1 sibling, 0 replies; 56+ messages in thread From: João Pedro @ 2022-05-27 4:36 UTC (permalink / raw) To: Kaushal Modi; +Cc: Ihor Radchenko, Tim Cross, emacs-org list Hey Kaushal! Thanks for your insight. On Thu, May 26 2022 17:22, Kaushal Modi <kaushal.modi@gmail.com> wrote: > - Issues section is there for a reason. If the repo owner did not like > people opening Issues, they would disable that section. I agree with Ihor's response for this point. > - Conversations and discussions are better formatted and readable in > the issue threads. I disagree with this one, I find mailing lists much more well-formatted, readable and conversation/discussion friendly than PRs on GitHub (it mostly has to do it the web UI, TBH [1]). > - If the feature is implemented, I like to link that commit or PR to > that issue so that the entire history and reasoning behind a feature > addition (esp. if it's a breaking one) can be followed through > hyperlinks from the commit log to the issue thread. But it isn't this particular case. I only emailed asking if he would have interest on merging his work on Org-mode core, which isn't really a feature or a modification on the codebase. Nonetheless, one of the first things I said was that I could open an issue on the public repo if he'd rather have it documented there as well. I just felt more inclined to send him an e-mail because 1. he made it public, and 2. I feel more comfortable using e-mails for communicating such things. [1] https://asylum.madhouse-project.org/blog/2018/07/24/on-git-github-and-email/ Regards, -- João Pedro de Amorim Paula IT undergraduate at Universidade Federal do Rio Grande do Norte (UFRN) ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: About 'inline special blocks' 2022-05-24 3:56 ` About 'inline special blocks' Ihor Radchenko 2022-05-24 14:05 ` João Pedro @ 2022-05-25 13:55 ` Juan Manuel Macías 2022-06-17 6:28 ` Ihor Radchenko 2 siblings, 0 replies; 56+ messages in thread From: Juan Manuel Macías @ 2022-05-25 13:55 UTC (permalink / raw) To: Ihor Radchenko; +Cc: orgmode Ihor Radchenko writes: > I think that we might simply allow to define complex configuration > before the containing paragraph. Something like: > > #+attr_latex[name]: <complex config goes here> > Vestibulum convallis, lorem blockname_[<<name>>]{text} a tempus semper, dui > dui euismod elit, vitae placerat urna tortor vitae lacus. > > "<<name>>" will be treated as "<complex config goes here>" during > export/parsing. I really like this idea of taking the complex configuration (in case it is needed) out of the paragraph. I vote for a procedure of this style. That rows in favor of legibility and lightness. Of course, the blocks that need an /ad hoc/ configuration represent, in my opinion, an extreme use case; and, as I mentioned before, I think that it should be avoided as much as possible. I also fully agree with Tim's comments on this. Ideally, any format settings for LaTeX, odt, html, etc. must be done globally, outside the body. Best regards, Juan Manuel ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: About 'inline special blocks' 2022-05-24 3:56 ` About 'inline special blocks' Ihor Radchenko 2022-05-24 14:05 ` 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 2 siblings, 1 reply; 56+ messages in thread From: Ihor Radchenko @ 2022-06-17 6:28 UTC (permalink / raw) To: Tim Cross; +Cc: emacs-orgmode Ihor Radchenko <yantar92@gmail.com> writes: > Vestibulum convallis, lorem blockname_[<<name>>]{text} a tempus semper, dui > dui euismod elit, vitae placerat urna tortor vitae lacus. This thread is possible relevant to the ongoing emacs-devel discussion where RMS requested support/integration of Org and texinfo. Richard Stallman wrote: https://yhetil.org/emacs-devel/E1o1cEe-0006Cj-CT@fencepost.gnu.org > I don't know for certain that every possible nesting "does the right > thing". I do know that @var{} is used inside many other constructs. > By contrast, @dfn{} would not be nested inside or around other > contructs very much. @key can be nested inside @kbd, and it behaves > a little differently when nested. He mentioned an important point that could make the idea of inline special blocks more appealing. While arbitrary markup can indeed be introduced using our current link syntax, there is one important limitation of links: *** link description cannot contain other links *** If one seriously tries to extend Org syntax with custom markup elements, nested markup will not be possible. And we do not want to change Org links to allow other links inside. Inline special blocks may not have such limitation if we allow special blocks to be nested. Best, Ihor ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: About 'inline special blocks' 2022-06-17 6:28 ` Ihor Radchenko @ 2022-06-17 19:49 ` Juan Manuel Macías 0 siblings, 0 replies; 56+ messages in thread From: Juan Manuel Macías @ 2022-06-17 19:49 UTC (permalink / raw) To: Ihor Radchenko; +Cc: orgmode Ihor Radchenko <yantar92@gmail.com> writes: > While arbitrary markup can indeed be introduced using our current link > syntax, there is one important limitation of links: > > *** link description cannot contain other links *** > > If one seriously tries to extend Org syntax with custom markup elements, > nested markup will not be possible. And we do not want to change Org > links to allow other links inside. > > Inline special blocks may not have such limitation if we allow special > blocks to be nested. +1. This seems to me a *very* important point. Best regards, Juan Manuel ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: About 'inline special blocks' 2022-05-23 15:20 ` Kaushal Modi 2022-05-23 21:06 ` Juan Manuel Macías @ 2022-06-19 12:47 ` Juan Manuel Macías 2022-06-19 19:30 ` Christian Moe ` (2 more replies) 1 sibling, 3 replies; 56+ messages in thread From: Juan Manuel Macías @ 2022-06-19 12:47 UTC (permalink / raw) To: orgmode To add some ideas that have been occurring to me these days... 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 ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: About 'inline special blocks' 2022-06-19 12:47 ` Juan Manuel Macías @ 2022-06-19 19:30 ` Christian Moe 2022-06-19 20:15 ` Juan Manuel Macías 2022-06-19 22:18 ` Tim Cross 2022-06-20 16:57 ` Max Nikulin 2 siblings, 1 reply; 56+ messages in thread From: Christian Moe @ 2022-06-19 19:30 UTC (permalink / raw) To: emacs-orgmode 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 ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: About 'inline special blocks' 2022-06-19 19:30 ` Christian Moe @ 2022-06-19 20:15 ` Juan Manuel Macías 0 siblings, 0 replies; 56+ messages in thread From: Juan Manuel Macías @ 2022-06-19 20:15 UTC (permalink / raw) To: Christian Moe; +Cc: orgmode Hi, Christian, Thanks for your comments. Christian Moe writes: > 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. You are absolutely right, it is my fault. These days I'm doing a work with a lot of xml, and I've mixed things up in my head :-). In html the expected form is as you say. Apologize for the confusion. > 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 I have used macros a lot in the past for these purposes. But the problem of having to escape commas and the somewhat confusing (and ugly) syntax of macros has led me to rarely use them now. Links have been a good replacement for me, but they still have their limitations (the most important, as Ihor commented, not being able to include a link within the description. But we can't put footnotes either). I actually think that inline special blocks could be tremendously useful and versatile. And, in syntactic terms, an important point in favor of Org against Markdown, which if I'm not mistaken does not have anything similar (I hardly use md, so I'm not very aware). Best regards, Juan Manuel ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: About 'inline special blocks' 2022-06-19 12:47 ` Juan Manuel Macías 2022-06-19 19:30 ` Christian Moe @ 2022-06-19 22:18 ` Tim Cross 2022-06-20 16:57 ` Max Nikulin 2 siblings, 0 replies; 56+ messages in thread From: Tim Cross @ 2022-06-19 22:18 UTC (permalink / raw) To: emacs-orgmode Juan Manuel Macías <maciaschain@posteo.net> writes: > To add some ideas that have been occurring to me these days... > > 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. > Agree. I think your reasoning here is spot on. > 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. > Agreed. In fact, I use in-line blocks so rarely that at first I wasn't going to respond as I really didn't have much skin in the game when it comes to inline blocks. The reason I dond't use them much is pretty much the same as your reasoning above. > 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. > I also like this approach. We need some form of escape hatch. However, for uncommon edge cases, I would rather have a slightly less convenient escape hatch and a simple consistent general syntax than a more complex syntax which is difficult to maintain and keep consistent and reliable. > Starting from that, a syntax like this in Org: > > %[name]{contents} > > Would produce in LaTeX, by default: > > \name{contents} > > in html: > > <name>contents></name> or should that be <span class="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. > Sound reasoning IMO. ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: About 'inline special blocks' 2022-06-19 12:47 ` Juan Manuel Macías 2022-06-19 19:30 ` Christian Moe 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-20 22:46 ` Tim Cross 2 siblings, 2 replies; 56+ messages in thread From: Max Nikulin @ 2022-06-20 16:57 UTC (permalink / raw) To: emacs-orgmode On 19/06/2022 19:47, Juan Manuel Macías wrote: > > 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. I would like to stress that styles can not be a rescue in some important cases. Let's leave aside ad hoc final tuning of formatting. In the case of HTML export there are still <img alt="Description"> and <a href="..." title="Description"> attributes that are namely per-object, not part of style. I was going to raise this issue for several months, so I just have sent to following bug report: Max Nikulin to emacs-orgmode. [BUG] manual: confusing example of adding attributes to a link (affiliated keywords) Mon, 20 Jun 2022 23:25:29 +0700. https://list.orgmode.org/t8q71r$mgv$1@ciao.gmane.io I have not heard that PDF offers something similar, but e.g. link with title may be exported as footnote with title text and URL instead of inline link. However to handle such cases generic attributes available to all export backends should be introduced. Even when styles are enough in principle, attributes may be more convenient since the latter may be composable, so making unnecessary defining every possible (or used) combination of styles. > in html: > > <name>contents></name> Concerning <name> vs. <span class="name">, is it the same for assistive technologies like screen readers to add <strong>text</strong> (or <b>text</b>) and <span class="strong">text</span> with "font-weight: bolder;" in CSS? ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: About 'inline special blocks' 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-20 22:46 ` Tim Cross 1 sibling, 1 reply; 56+ messages in thread From: Juan Manuel Macías @ 2022-06-20 19:06 UTC (permalink / raw) To: orgmode Max Nikulin writes: Hi Maxim, Max Nikulin writes: > I would like to stress that styles can not be a rescue in some > important cases. Let's leave aside ad hoc final tuning of formatting. > In the case of HTML export there are still <img alt="Description"> and > <a href="..." title="Description"> attributes that are namely > per-object, not part of style. You are right, but my question is: Could there be a similar use case within inline special blocks? Keep in mind that this (for now, hypothetical) element type would be intended only for very short segments of text within the paragraph. I don't find a scenario where it's worth overloading that with options and attributes, IMHO. I believe that direct formatting (as a rule of composition and not as an exception), which comes ---I suppose--- from the use and abuse of word processors, is the great cancer for the consistency of the documents, where a guiding style and a series of constants must prevail. Of course, I do not deny that it is often necessary to do a post-process and adjust exceptions. There are always exceptions. In the case of LaTeX and ConTeXt, TeX is powerful enough to deal with exceptions also at a high level, due to its high degree of automation. And LuaTeX, even more so. A simple example to automatically adjust the width of the caption in figures with a simple lua function in LuaLaTeX: #+begin_src latex \begin{luacode*} function caption_width ( text ) text = string.gsub ( text, "(\\includegraphics.+)", "\\sbox0{%1}") text = string.gsub ( text, "(\\caption{.+})", "\\begin{minipage}{\\wd0}\\usebox0%1\\end{minipage}") return text end \end{luacode*} \newcommand\CaptionAutoWidth{\directlua{luatexbase.add_to_callback ( "process_input_buffer" , caption_width , "caption_width" )}} \AtBeginDocument{\CaptionAutoWidth} #+end_src However, note that I speak in general terms. It is difficult to get rid of manual intervention one hundred percent. But the question is whether it's worth adding fine-tuning options to an element as "specialized" as inline special blocks. Of course, LaTeX is more flexible and you can always change a variable on the fly. You can do something like: #+begin_src latex \definecolor{foo}{HTML}{FF0000} \definecolor{var}{HTML}{7CFC00} \def\mycolor{foo} \newcommand\mytextcolor[1]{% \textcolor{\mycolor}{#1}} \begin{document} lorem \mytextcolor{ipsum dolor} \def\mycolor{var} lorem \mytextcolor{ipsum dolor} #+end_src html/css seems more rigid and I'm not that familiar with it. Perhaps there is more uses case where the existence of ad hoc attributes and options would be justified? And, in any case, how to implement it without the paragraph becoming unreadable? The solution that Ihor commented on in a past post of using identifiers for each inline block would be fine (and maybe it could be used also for the attributes of the links within the paragraph). >> in html: >> <name>contents></name> > > Concerning <name> vs. <span class="name">, is it the same for > assistive technologies like screen readers to add > <strong>text</strong> (or <b>text</b>) and <span > class="strong">text</span> with "font-weight: bolder;" in CSS? "<name>contents></name>": it was my confusion, sorry. I already explained it here: https://list.orgmode.org/8735g0tnoh.fsf@posteo.net/ Best regards, Juan Manuel ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: About 'inline special blocks' 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 0 siblings, 1 reply; 56+ messages in thread From: Max Nikulin @ 2022-06-21 16:39 UTC (permalink / raw) To: emacs-orgmode On 21/06/2022 02:06, Juan Manuel Macías wrote: > Max Nikulin writes: > >> I would like to stress that styles can not be a rescue in some >> important cases. Let's leave aside ad hoc final tuning of formatting. >> In the case of HTML export there are still <img alt="Description"> and >> <a href="..." title="Description"> attributes that are namely >> per-object, not part of style. > > You are right, but my question is: Could there be a similar use case > within inline special blocks? Keep in mind that this (for now, > hypothetical) element type would be intended only for very short > segments of text within the paragraph. I don't find a scenario where > it's worth overloading that with options and attributes, IMHO. Juan Manuel, your answer is not clear for me. Direct formatting is another issue. There are cases when attributes are part of *content*, not formatting. If alternative text for images and description of links are not convincing, there is e.g. Org document may be exported as <abbr title="HyperText Markup Language">HTML</abbr> file. Do you consider inline special blocks solely for formatting and only for the kind of it that may be expressed through styles? Then attributes for inline objects should be another feature with its own syntax. >>> in html: >>> <name>contents></name> >> >> Concerning <name> vs. <span class="name">, is it the same for >> assistive technologies like screen readers to add >> <strong>text</strong> (or <b>text</b>) and <span >> class="strong">text</span> with "font-weight: bolder;" in CSS? > > "<name>contents></name>": it was my confusion, sorry. I already explained > it here: https://list.orgmode.org/8735g0tnoh.fsf@posteo.net/ I am unsure that <name>content</name> should not be supported at all. However I admit that difference of the following code may be insignificant in reality: <strong class="alert">Do not do it!</strong> vs. <span role="strong" class="alert">Do not do it!</span> ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: About 'inline special blocks' 2022-06-21 16:39 ` Max Nikulin @ 2022-06-21 18:19 ` Juan Manuel Macías 0 siblings, 0 replies; 56+ messages in thread From: Juan Manuel Macías @ 2022-06-21 18:19 UTC (permalink / raw) To: Max Nikulin; +Cc: orgmode Max Nikulin writes: > If alternative text for images and description of > links are not convincing [...] It does convince me, Maxim, that's why I told you in my previous message that you were right in that example you had put about the alternate text. And my question was (and still is) if you consider that a scenario of this type, where the attributes are part of the content and not the output format (and the latter happens in 90% of the cases) could occur in the inline special blocks. If so, then I'm fine with inline special blocks supporting attributes. But in my opinion this data should somehow go outside the paragraph. Or be hidden as in the links. I still think, however, that the attributes are unnecessary for inline special blocks. I can't find any examples where they might be needed and not something that is resolved at the global style level[1] or via export filter. But I'm open to considering examples and use cases. [1] There are cases in LaTeX of commands with more than one argument, e.g. \foreignlanguage{lang}{content}, \textcolor{color}{content} and the like. But even those can be simplified from the preamble by defining macros with a single argument. And in Babel you can also do something like \babeltags{de = german} and write \textde{text in german}. The csquotes package is an extreme case, where there are intra-paragraph commands that take optional arguments to \cite and punctuation, but I think org-cite would be more appropriate in these cases: \foreigntextquote{lang}[cite][punct]{text} Best regards, Juan Manuel ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: About 'inline special blocks' 2022-06-20 16:57 ` Max Nikulin 2022-06-20 19:06 ` 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 1 sibling, 1 reply; 56+ messages in thread From: Tim Cross @ 2022-06-20 22:46 UTC (permalink / raw) To: emacs-orgmode Max Nikulin <manikulin@gmail.com> writes: > On 19/06/2022 19:47, Juan Manuel Macías wrote: > Concerning <name> vs. <span class="name">, is it the same for assistive > technologies like screen readers to add <strong>text</strong> (or <b>text</b>) > and <span class="strong">text</span> with "font-weight: bolder;" in CSS? First, never use <b></b> or <it></it>, only use semantic tags for accessibility. The question unfortunately has a complicated answer. Basically, <div> and <span> are the two tags which have no semantic meaning. So, from an accessibility perspective, they don't convey anything. They are basically a presentation layout tgag. However, this is not a bad thing, but rather a very good thing. This touches on the area where far too many people get accessibility wrong. It is like the very misguided rule which says all images must have an alt tag. The key point to consider is whether what your communicating via layout has any real use for someone using a screen reader. Consider something like #+being_src <section aria-label="section label"> <h3>Section Title</h3> <section class="fancy-css-class"> <section class="some-css-class"> Some Content wrapped within multiple section elements. </section> </section> ... </section> #+end_src The inner <section> is being used to avoid using a <div> in the mistaken belief that using a <div> (or <span>) would be bad for accessibility. Unfortunately, the above wil often result in the screen reader reading out "Seciton section section SOme content" (some screen readers would ignore the inner section as it has no aria tag). Same sort of problem occurred with the rule about images must have an 'alt' tag. I cannot count the number of pages I visit where the screen reader says "logo logo filler righ pad left pad filler logo brand". So, the span tag is great for accessibility when what the author is trying to convey is layout information or styling information which is of no use to blind or VI users. Often such style emphasis is used to assist sighted users who can quickly scan the page. Blind and VI users cannot scan in the same way. What is more important for us is the ability to get an overview of the semantic content of the page - sections, table, lists etc. Sadly, org isn't great from an accessibility perspective. This is something I would like to see improved, but it is a huge and complex task. There are some 'easy' winds we could try. For example, org still defaults to using the <b></b> and <i></i> tags instead of <strong></strong> and <em></em>. Likewise, we should move to html5 as the default, not xhtml, but last time I raised that, there was considerable push back to stick with xhtml. We also need complete overhaul of the use of aria tags and numerous other areas. As I said, a very large job which is complex and extremely time consuming. Sadly, I'm not sure there is a lot we can do with accessibility and PDFs in org mode. This is the one area where TeX/LaTeX does a poor job. Last time I looked, there was considerable discussion about what to do from an accessibility standpoint in the TeX community, but seemed to be little or very slow progress (not a criticism of the efforts of members of that community, but rather a reflection of how complicated this stuff is). ^ permalink raw reply [flat|nested] 56+ messages in thread
* Org mode export accessibility (was: About 'inline special blocks') 2022-06-20 22:46 ` Tim Cross @ 2022-06-26 4:07 ` Ihor Radchenko 2022-06-26 6:29 ` Tim Cross 0 siblings, 1 reply; 56+ messages in thread From: Ihor Radchenko @ 2022-06-26 4:07 UTC (permalink / raw) To: Tim Cross; +Cc: emacs-orgmode Tim Cross <theophilusx@gmail.com> writes: > Sadly, org isn't great from an accessibility perspective. This is > something I would like to see improved, but it is a huge and complex > task. There are some 'easy' winds we could try. For example, org still > defaults to using the <b></b> and <i></i> tags instead of > <strong></strong> and <em></em>. Likewise, we should move to html5 as > the default, not xhtml, but last time I raised that, there was > considerable push back to stick with xhtml. We also need complete > overhaul of the use of aria tags and numerous other areas. As I said, a > very large job which is complex and extremely time consuming. I will not argue about html5 switch - I don't have enough knowledge to weigh on this. However, can't we at least address accessibility issues with the existing HTML export? A good starting point could be identifying what can be improved in ox-html.el. > Sadly, I'm not sure there is a lot we can do with accessibility and PDFs > in org mode. This is the one area where TeX/LaTeX does a poor job. Last > time I looked, there was considerable discussion about what to do from > an accessibility standpoint in the TeX community, but seemed to be > little or very slow progress (not a criticism of the efforts of members > of that community, but rather a reflection of how complicated this stuff > is). From Org perspective, we can do what is available in the exported format. If LaTeX is not great from accessibility point of view, is there a better format? Or are there things we can do to improve situation in ox-latex.el? What about other export backends? Best, Ihor ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: Org mode export accessibility (was: About 'inline special blocks') 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 0 siblings, 1 reply; 56+ messages in thread From: Tim Cross @ 2022-06-26 6:29 UTC (permalink / raw) To: Ihor Radchenko; +Cc: emacs-orgmode Ihor Radchenko <yantar92@gmail.com> writes: > Tim Cross <theophilusx@gmail.com> writes: > >> Sadly, org isn't great from an accessibility perspective. This is >> something I would like to see improved, but it is a huge and complex >> task. There are some 'easy' winds we could try. For example, org still >> defaults to using the <b></b> and <i></i> tags instead of >> <strong></strong> and <em></em>. Likewise, we should move to html5 as >> the default, not xhtml, but last time I raised that, there was >> considerable push back to stick with xhtml. We also need complete >> overhaul of the use of aria tags and numerous other areas. As I said, a >> very large job which is complex and extremely time consuming. > > I will not argue about html5 switch - I don't have enough knowledge to > weigh on this. > > However, can't we at least address accessibility issues with the > existing HTML export? A good starting point could be identifying what > can be improved in ox-html.el. > Yes, we can probably make some incremental improvements. However, it is a complex and difficult area and I suspect to really improve the situation, we likely need a major re-design. A big part of the challenge is how to enable authors to add the right level of accessibility 'tagging', but at the same time, not lose one of the main advantages of org mode i.e. simplicity and ease of syntax. >> Sadly, I'm not sure there is a lot we can do with accessibility and PDFs >> in org mode. This is the one area where TeX/LaTeX does a poor job. Last >> time I looked, there was considerable discussion about what to do from >> an accessibility standpoint in the TeX community, but seemed to be >> little or very slow progress (not a criticism of the efforts of members >> of that community, but rather a reflection of how complicated this stuff >> is). > > From Org perspective, we can do what is available in the exported > format. If LaTeX is not great from accessibility point of view, is there > a better format? Or are there things we can do to improve situation in > ox-latex.el? > As I understand it (which isn't brilliant), the core problem is more to do with how the LaTeX/TeX engine processes the input to generate the postscript and pdf output. Modern PDFs have a wealth of internal tagging which simply sin't supported via the tex -> pdf pathway. The matter is made slightly worse by a lack of built-in support within latex/tex for accessibility 'tags' (similar to the aria tags for web content). > What about other export backends? > To be honest, no idea. I'm certainly not an expert in these areas. While I am impacted more by lack of accessibility, unfortunately, that doesn't make you an expert. I do feel that in order to get reasonable accessibility levels, it is probably something which needs to be baked in as part of the overall design and not something which can be added later. This isn't really feasible. Things can probably be slightly improved, but I doubt org mode and the documents it produces will ever be particularly good from an accessibility perspective. ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: Org mode export accessibility 2022-06-26 6:29 ` Tim Cross @ 2022-06-26 10:46 ` Juan Manuel Macías 2022-06-26 10:54 ` Ihor Radchenko 0 siblings, 1 reply; 56+ messages in thread From: Juan Manuel Macías @ 2022-06-26 10:46 UTC (permalink / raw) To: Tim Cross; +Cc: orgmode Tim Cross writes: > As I understand it (which isn't brilliant), the core problem is more to > do with how the LaTeX/TeX engine processes the input to generate the > postscript and pdf output. Modern PDFs have a wealth of internal tagging > which simply sin't supported via the tex -> pdf pathway. The matter is > made slightly worse by a lack of built-in support within latex/tex for > accessibility 'tags' (similar to the aria tags for web content). There is a relatively recent experimental package for LaTeX that may be of interest to you: CTAN: https://www.ctan.org/pkg/tagpdf GitHub: https://github.com/u-fischer/tagpdf The package is maintained by Ulrike Fischer, who is very active in the TeX community. However, the package description says: > The package offers tools to experiment with tagging and accessibility > using pdfLaTeX and LuaTeX. It isn't meant for production but allows > the user to try out how difficult it is to tag some structures; to try > out how much tagging is really needed; to test what else is needed so > that a pdf works e.g. with a screen reader. Its goal is to get a > feeling for what has to be done, which kernel changes are needed, how > packages should be adapted. Best regards, Juan Manuel ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: Org mode export accessibility 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 0 siblings, 1 reply; 56+ messages in thread From: Ihor Radchenko @ 2022-06-26 10:54 UTC (permalink / raw) To: Juan Manuel Macías, T.V Raman; +Cc: Tim Cross, orgmode Let me take a freedom to add T.V Raman to the discussion. This thread might be of interest for him and he probably knows a lot more about accessibility options. This thread starts at https://list.orgmode.org/87v8sn3obd.fsf@gmail.com/T/#u Juan Manuel Macías <maciaschain@posteo.net> writes: > Tim Cross writes: > >> As I understand it (which isn't brilliant), the core problem is more to >> do with how the LaTeX/TeX engine processes the input to generate the >> postscript and pdf output. Modern PDFs have a wealth of internal tagging >> which simply sin't supported via the tex -> pdf pathway. The matter is >> made slightly worse by a lack of built-in support within latex/tex for >> accessibility 'tags' (similar to the aria tags for web content). > > There is a relatively recent experimental package for LaTeX that may be > of interest to you: > > CTAN: https://www.ctan.org/pkg/tagpdf > > GitHub: https://github.com/u-fischer/tagpdf > > The package is maintained by Ulrike Fischer, who is very active in the > TeX community. However, the package description says: > >> The package offers tools to experiment with tagging and accessibility >> using pdfLaTeX and LuaTeX. It isn't meant for production but allows >> the user to try out how difficult it is to tag some structures; to try >> out how much tagging is really needed; to test what else is needed so >> that a pdf works e.g. with a screen reader. Its goal is to get a >> feeling for what has to be done, which kernel changes are needed, how >> packages should be adapted. > > Best regards, > > Juan Manuel ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: Org mode export accessibility 2022-06-26 10:54 ` Ihor Radchenko @ 2022-06-27 14:40 ` T.V Raman 2022-06-30 7:53 ` Ihor Radchenko 0 siblings, 1 reply; 56+ messages in thread From: T.V Raman @ 2022-06-27 14:40 UTC (permalink / raw) To: yantar92; +Cc: maciaschain, raman, theophilusx, emacs-orgmode Thanks for looping me in. I'm not subscribed to emacs-orgmode --- so feel free to forward if you find the thoughts below materially useful. As a long-term org-mode user --- and an even longer term TeX user: here are some thoughts: 1. Accessibility as word used in isolation has now become mostly meaningless, to be concrete one has to ask "Accessibility to whom"? 2. So in the following, everything I say is with respect to users with visual impairments. 3. It's incorrect to define "Accessibility" in terms of a specific user access tool or technology -- that usage is marketing jargon for a specific Access Solution like a screenreader --- so I refrain in general from defining this in terms of Screenreaders. With those meta-thoughts out of the way: A: Org-generated documents are mostly well-structured documents, and not in general a user-interface e.g. (WebApp); so with regard to export -- either HTML or LaTeX/PDF --- ARIA is mostly irrelevant. B: The LaTeX->PDF pipeline *can* produce tagged PDF with respect to document structure eg. Sectioning, but only if you use pdflatex or pdftex i.e. LaTeX/Tex->dvi->[ps]->pdf is lossy with respect to structure present in the markup; this is a short-coming of DVI which predates the thought of document structure making it through to the output. C: pdftex and pdflatex were built in the late 90's by a student in Prague (Hanu Than? from memory) --- only reason I know this is that I got Adobe to fund that project when at Adobe in the 90's. It's a very good piece of work that essentially uses PDF directly as the "Device Independent" format rather than the original dvi. DVI as designed in the 70's was device-independent for the time, ie it did not hardwire printer controls and could be mapped to various print mechanisms. For the 90s, by which time Document Structure meant a lot more than being some version of inkjet printer driver independent, the afore mentioned project used PDF as the Device-Independent format --- and leveraged the Tagged PDF bits from PDF 1.4 to achieve the result. D: All that said, it is likely still easier to go from org->HTML directly and produce content that is easier to machine-process --- rather than go through one more level of indirection via LaTeX and PDF; however there may well be additional constraints in a publication workflow, e.g. publisher wants to only publish final-form -- and yes, in this case, HTML and PDF are both final-form. E: Finally, note that in (D) I said "machine processable" not "Accessible"; machine-processable is a pre-requisite to "repurpose " what you publish, and making that result usable by different user communities is a direct consequence of suche machine-processability. Hope this helps. -- --Raman Thanks, --Raman(I Search, I Find, I Misplace, I Research) ♉ Id: kg:/m/0285kf1 🦮 -- Thanks, --Raman(I Search, I Find, I Misplace, I Research) ♉ Id: kg:/m/0285kf1 🦮 ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: Org mode export accessibility 2022-06-27 14:40 ` T.V Raman @ 2022-06-30 7:53 ` Ihor Radchenko 2022-07-07 14:18 ` briangpowell 0 siblings, 1 reply; 56+ messages in thread From: Ihor Radchenko @ 2022-06-30 7:53 UTC (permalink / raw) To: T.V Raman; +Cc: maciaschain, theophilusx, emacs-orgmode "T.V Raman" <raman@google.com> writes: > 1. Accessibility as word used in isolation has now become mostly > meaningless, to be concrete one has to ask "Accessibility to whom"? > > 2. So in the following, everything I say is with respect to users with > visual impairments. This is exactly the perspective I was hoping to hear from you. Though this thread is not dedicated to visual impairments. (I guess you also did not touch the question of color blindness). > 3. It's incorrect to define "Accessibility" in terms of a specific > user access tool or technology -- that usage is marketing jargon > for a specific Access Solution like a screenreader --- so I refrain in general from > defining this in terms of Screenreaders. Yet, in order to simplify the efforts needed to read a document exported from Org mode one needs to use some kind of tool/technology. Unless a common standard exist in this area, we have to support at least the most common Access Solutions (prioritizing Free software, if possible). From you message, it does not look like there is any common standard. > With those meta-thoughts out of the way: > > A: Org-generated documents are mostly well-structured documents, and ... > B: The LaTeX->PDF pipeline *can* produce tagged PDF with respect to ... > C: pdftex and pdflatex were built in the late 90's by a student in ... > D: All that said, it is likely still easier to go from org->HTML ... Do I understand correctly that you have no issues with reading documents exported using current version of Org? > E: Finally, note that in (D) I said "machine processable" not > "Accessible"; machine-processable is a pre-requisite to "repurpose " > what you publish, and making that result usable by different user > communities is a direct consequence of suche machine-processability. I understand. But one can similarly say that .org files are "machine processable" and Org export code is not strictly necessary. Yet, it ends up extremely useful in practice. I suspect that the exported documents can similarly be improved to reduce the amount of efforts required from visually impair users to read such documents. The question is what kinds improvements can be made on Org side. Best, Ihor ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: Org mode export accessibility 2022-06-30 7:53 ` Ihor Radchenko @ 2022-07-07 14:18 ` briangpowell 2022-07-07 14:42 ` T.V Raman ` (3 more replies) 0 siblings, 4 replies; 56+ messages in thread From: briangpowell @ 2022-07-07 14:18 UTC (permalink / raw) To: Ihor Radchenko; +Cc: T.V Raman, maciaschain, theophilusx, emacs-orgmode [-- Attachment #1: Type: text/plain, Size: 5452 bytes --] "[I suspect that the exported documents can similarly be improved to reduce the amount of effort required from visually impaired users to read such documents. The question is what improvements can be made on Org side.] Best, Ihor" Very glad to hear from TV Raman, the creator of EmacSpeak, I'm not blind like TV but I was motivated to turn my a main OrgMode buffer into an audio desktop like TV's But now back to the topic; much agree with Ihor, we should focus on "what improvements can be made on OrgMode side" & TV's points are well made too: "pdftex and pdflatex were built in the late 90's"--very true & they were rarely useful Suggest OrgMode make changes aimed at the "Lowest Common Denominator" of accessibility--accessibility in the visual sense AND in the machine or program processable sense or more exactly the "document convertible sense"--I mean documents should be made firstly in a form that all computers can easily navigate & present on computer screens and/or audio desktops in addition to being readily able to print out TV's right, the usual pipeline of LaTeX->PDF can produce tagged & useful documents but can an end user easily copy and paste the document? How useful are pretty documents that run on proprietary systems? Many PDF's can make simple processes like this very hard or impossible--the documents can be very pretty but they can contain control characters & special characters & even malicious code Suggest OrgMode outputs focus on creating "Lowest Common Denominator" documents as output: TeXinfo docs should be used as the LCD doctype--suggest you focus on creating 1 document in Texinfo that you use to create all other sorts of documents, when possible: Pipeline should be more like OrgMode->Texinfo->TROFF||DTD/XML/HTML/XHTML->LaTeX/TeX->DVI||SVG->PS->PDF * TeXinfo: https://savannah.gnu.org/projects/texinfo https://www.gnu.org/software/texinfo ** "Texinfo uses a single source file to produce output in a number of formats, both online and printed (dvi, html, info, pdf, xml, etc.). This means that instead of writing different documents for online information and another for a printed manual, you need write only one document. And when the work is revised, you need revise only that one document. The Texinfo system is integrated well with GNU Emacs. *** Texinfo docs can also be viewed & used by ALL end-users without any issues--regardless of the power of their computer or monitor or even if they're blind like TV Raman--he uses an audio desktop or EmacSpeak--and the same docs can be printed on any printer & remain navigable with "rn" & other simple news-reading software--or the "info" program * Output formats currently supported by Texinfo: https://www.gnu.org/software/texinfo/manual/texinfo/html_node/Output-Formats.html <=> Info,Text,HTML,DVI,PostScript{PS},PDF,DocBook,XML ** Related/useful may be: "latex2nemeth"--a LATEX to Braille/Nemeth, approach "Simple pictures in PSTricks are also supported in order to produce tactile graphics": https://ctan.org/pkg/latex2nemeth On Thu, Jun 30, 2022 at 3:53 AM Ihor Radchenko <yantar92@gmail.com> wrote: > "T.V Raman" <raman@google.com> writes: > > > 1. Accessibility as word used in isolation has now become mostly > > meaningless, to be concrete one has to ask "Accessibility to whom"? > > > > 2. So in the following, everything I say is with respect to users with > > visual impairments. > > This is exactly the perspective I was hoping to hear from you. Though > this thread is not dedicated to visual impairments. (I guess you also > did not touch the question of color blindness). > > > 3. It's incorrect to define "Accessibility" in terms of a specific > > user access tool or technology -- that usage is marketing jargon > > for a specific Access Solution like a screenreader --- so I refrain > in general from > > defining this in terms of Screenreaders. > > Yet, in order to simplify the efforts needed to read a document exported > from Org mode one needs to use some kind of tool/technology. Unless a > common standard exist in this area, we have to support at least the most > common Access Solutions (prioritizing Free software, if possible). > > From you message, it does not look like there is any common standard. > > > With those meta-thoughts out of the way: > > > > A: Org-generated documents are mostly well-structured documents, and ... > > B: The LaTeX->PDF pipeline *can* produce tagged PDF with respect to ... > > C: pdftex and pdflatex were built in the late 90's by a student in ... > > D: All that said, it is likely still easier to go from org->HTML ... > > Do I understand correctly that you have no issues with reading documents > exported using current version of Org? > > > E: Finally, note that in (D) I said "machine processable" not > > "Accessible"; machine-processable is a pre-requisite to "repurpose " > > what you publish, and making that result usable by different user > > communities is a direct consequence of suche machine-processability. > > I understand. But one can similarly say that .org files are "machine > processable" and Org export code is not strictly necessary. Yet, it ends > up extremely useful in practice. > > I suspect that the exported documents can similarly be improved to > reduce the amount of efforts required from visually impair users to read > such documents. The question is what kinds improvements can be made on > Org side. > > Best, > Ihor > > [-- Attachment #2: Type: text/html, Size: 6907 bytes --] ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: Org mode export accessibility 2022-07-07 14:18 ` briangpowell @ 2022-07-07 14:42 ` T.V Raman 2022-07-08 4:38 ` Ihor Radchenko 2022-09-30 11:07 ` Max Nikulin 2022-07-07 14:43 ` Org mode export accessibility T.V Raman ` (2 subsequent siblings) 3 siblings, 2 replies; 56+ messages in thread From: T.V Raman @ 2022-07-07 14:42 UTC (permalink / raw) To: briangpowellms; +Cc: yantar92, raman, maciaschain, theophilusx, emacs-orgmode On org side: 1. During authoring, ensure that authors have the ability to label images, drawings and math content. 2. When exporting, make sure that that information gets through to the exported format. 3. For math especially, make sure the TeX/LaTeX is preserved one way or the other in the export That's just a few initial thoughts, am sure there could be morebriangpowell writes: > "[I suspect that the exported documents can similarly be improved to > reduce the amount of effort required from visually impaired users to read > such documents. The question is what improvements can be made on > Org side.] > > Best, > Ihor" > > Very glad to hear from TV Raman, the creator of EmacSpeak, > > I'm not blind like TV but I was motivated to turn my a main OrgMode buffer > into an audio desktop like TV's > > But now back to the topic; much agree with Ihor, we should focus on "what > improvements can be made on OrgMode side" > > & TV's points are well made too: "pdftex and pdflatex were built in the > late 90's"--very true & they were rarely useful > > Suggest OrgMode make changes aimed at the "Lowest Common Denominator" of > accessibility--accessibility in the visual sense AND in the machine or > program processable sense or more exactly the "document convertible > sense"--I mean documents should be made firstly in a form that all > computers can easily navigate & present on computer screens and/or audio > desktops in addition to being readily able to print out > > TV's right, the usual pipeline of LaTeX->PDF can produce tagged & useful > documents but can an end user easily copy and paste the document? How > useful are pretty documents that run on proprietary systems? Many PDF's can > make simple processes like this very hard or impossible--the documents can > be very pretty but they can contain control characters & special characters > & even malicious code > > Suggest OrgMode outputs focus on creating "Lowest Common Denominator" > documents as output: > TeXinfo docs should be used as the LCD doctype--suggest you focus on > creating 1 document in Texinfo that you use to create all other sorts of > documents, when possible: > > Pipeline should be more like > OrgMode->Texinfo->TROFF||DTD/XML/HTML/XHTML->LaTeX/TeX->DVI||SVG->PS->PDF > > * TeXinfo: https://savannah.gnu.org/projects/texinfo > https://www.gnu.org/software/texinfo > > ** "Texinfo uses a single source file to produce output in a number of > formats, both online and printed (dvi, html, info, pdf, xml, etc.). This > means that instead of writing different documents for online information > and another for a printed manual, you need write only one document. And > when the work is revised, you need revise only that one document. The > Texinfo system is integrated well with GNU Emacs. > > *** Texinfo docs can also be viewed & used by ALL end-users without any > issues--regardless of the power of their computer or monitor or even if > they're blind like TV Raman--he uses an audio desktop or EmacSpeak--and the > same docs can be printed on any printer & remain navigable with "rn" & > other simple news-reading software--or the "info" program > > * Output formats currently supported by Texinfo: > https://www.gnu.org/software/texinfo/manual/texinfo/html_node/Output-Formats.html > <=> Info,Text,HTML,DVI,PostScript{PS},PDF,DocBook,XML > > ** Related/useful may be: "latex2nemeth"--a LATEX to Braille/Nemeth, > approach "Simple pictures in PSTricks are also supported in order to > produce tactile graphics": https://ctan.org/pkg/latex2nemeth > > On Thu, Jun 30, 2022 at 3:53 AM Ihor Radchenko <yantar92@gmail.com> wrote: > > > "T.V Raman" <raman@google.com> writes: > > > > > 1. Accessibility as word used in isolation has now become mostly > > > meaningless, to be concrete one has to ask "Accessibility to whom"? > > > > > > 2. So in the following, everything I say is with respect to users with > > > visual impairments. > > > > This is exactly the perspective I was hoping to hear from you. Though > > this thread is not dedicated to visual impairments. (I guess you also > > did not touch the question of color blindness). > > > > > 3. It's incorrect to define "Accessibility" in terms of a specific > > > user access tool or technology -- that usage is marketing jargon > > > for a specific Access Solution like a screenreader --- so I refrain > > in general from > > > defining this in terms of Screenreaders. > > > > Yet, in order to simplify the efforts needed to read a document exported > > from Org mode one needs to use some kind of tool/technology. Unless a > > common standard exist in this area, we have to support at least the most > > common Access Solutions (prioritizing Free software, if possible). > > > > From you message, it does not look like there is any common standard. > > > > > With those meta-thoughts out of the way: > > > > > > A: Org-generated documents are mostly well-structured documents, and ... > > > B: The LaTeX->PDF pipeline *can* produce tagged PDF with respect to ... > > > C: pdftex and pdflatex were built in the late 90's by a student in ... > > > D: All that said, it is likely still easier to go from org->HTML ... > > > > Do I understand correctly that you have no issues with reading documents > > exported using current version of Org? > > > > > E: Finally, note that in (D) I said "machine processable" not > > > "Accessible"; machine-processable is a pre-requisite to "repurpose " > > > what you publish, and making that result usable by different user > > > communities is a direct consequence of suche machine-processability. > > > > I understand. But one can similarly say that .org files are "machine > > processable" and Org export code is not strictly necessary. Yet, it ends > > up extremely useful in practice. > > > > I suspect that the exported documents can similarly be improved to > > reduce the amount of efforts required from visually impair users to read > > such documents. The question is what kinds improvements can be made on > > Org side. > > > > Best, > > Ihor > > > > -- Thanks, --Raman(I Search, I Find, I Misplace, I Research) ♉ Id: kg:/m/0285kf1 🦮 -- Thanks, --Raman(I Search, I Find, I Misplace, I Research) ♉ Id: kg:/m/0285kf1 🦮 ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: Org mode export accessibility 2022-07-07 14:42 ` T.V Raman @ 2022-07-08 4:38 ` Ihor Radchenko 2022-07-08 13:55 ` T.V Raman 2022-09-30 11:07 ` Max Nikulin 1 sibling, 1 reply; 56+ messages in thread From: Ihor Radchenko @ 2022-07-08 4:38 UTC (permalink / raw) To: T.V Raman; +Cc: briangpowellms, maciaschain, theophilusx, emacs-orgmode "T.V Raman" <raman@google.com> writes: > On org side: Thanks for the feedback! > 1. During authoring, ensure that authors have the ability to label > images, drawings and math content. > 2. When exporting, make sure that that information gets through to > the exported format. Could you please elaborate what you mean by "label"? Org generally supports figures and equations in export, including adding captions - all specific to the corresponding export backends (when the backends support figures/equations). > 3. For math especially, make sure the TeX/LaTeX is preserved one > way or the other in the export Do you refer to the TeX source? To any specific export format? Best, Ihor ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: Org mode export accessibility 2022-07-08 4:38 ` Ihor Radchenko @ 2022-07-08 13:55 ` T.V Raman 2022-07-09 3:39 ` Ihor Radchenko 0 siblings, 1 reply; 56+ messages in thread From: T.V Raman @ 2022-07-08 13:55 UTC (permalink / raw) To: yantar92; +Cc: raman, briangpowellms, maciaschain, theophilusx, emacs-orgmode 1. Labels: yes -- figure captions etc. are examples of "labels" in general. 2. Math: Yes -- I meant the TeX/LaTeX representation of a math expression. Ihor Radchenko writes: > "T.V Raman" <raman@google.com> writes: > > > On org side: > > Thanks for the feedback! > > > 1. During authoring, ensure that authors have the ability to label > > images, drawings and math content. > > 2. When exporting, make sure that that information gets through to > > the exported format. > > Could you please elaborate what you mean by "label"? > > Org generally supports figures and equations in export, including adding > captions - all specific to the corresponding export backends (when the > backends support figures/equations). > > > 3. For math especially, make sure the TeX/LaTeX is preserved one > > way or the other in the export > > Do you refer to the TeX source? To any specific export format? > > Best, > Ihor -- Thanks, --Raman(I Search, I Find, I Misplace, I Research) ♉ Id: kg:/m/0285kf1 🦮 -- Thanks, --Raman(I Search, I Find, I Misplace, I Research) ♉ Id: kg:/m/0285kf1 🦮 ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: Org mode export accessibility 2022-07-08 13:55 ` T.V Raman @ 2022-07-09 3:39 ` Ihor Radchenko 2022-07-09 13:20 ` T.V Raman 0 siblings, 1 reply; 56+ messages in thread From: Ihor Radchenko @ 2022-07-09 3:39 UTC (permalink / raw) To: T.V Raman; +Cc: briangpowellms, maciaschain, theophilusx, emacs-orgmode "T.V Raman" <raman@google.com> writes: > > > 3. For math especially, make sure the TeX/LaTeX is preserved one > > > way or the other in the export > > > > Do you refer to the TeX source? To any specific export format? > 2. Math: Yes -- I meant the TeX/LaTeX representation of a math > expression. > Ihor Radchenko writes: For html export we do preserve TeX/LaTeX representation because we use Mathjax that directly supports such representation. However, I am not sure how to preserve the original representation, say, in LaTeX pdf export. Best, Ihor ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: Org mode export accessibility 2022-07-09 3:39 ` Ihor Radchenko @ 2022-07-09 13:20 ` T.V Raman 0 siblings, 0 replies; 56+ messages in thread From: T.V Raman @ 2022-07-09 13:20 UTC (permalink / raw) To: Ihor Radchenko; +Cc: briangpowellms, maciaschain, theophilusx, emacs-orgmode [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #1: Type: text/plain; charset=gb18030, Size: 1229 bytes --] Ihor Radchenko <yantar92@gmail.com> writes: What can or cannot be preserved is a function of the export format. MathJax is a wonderful thing and the LaTeX expression embedded in the HTML is the best one can do -- MathML loses semantics -- which is why I always recommend preserving the LaTeX when going to HTML. PDF as a format doesn't have the affordance to preserve the LaTeX and even if you kluged up something --- the tools to extract that out of the PDF would need to be invented. > "T.V Raman" <raman@google.com> writes: > >> > > 3. For math especially, make sure the TeX/LaTeX is preserved one >> > > way or the other in the export >> > >> > Do you refer to the TeX source? To any specific export format? >> 2. Math: Yes -- I meant the TeX/LaTeX representation of a math >> expression. >> Ihor Radchenko writes: > > For html export we do preserve TeX/LaTeX representation because we use > Mathjax that directly supports such representation. > > However, I am not sure how to preserve the original representation, say, > in LaTeX pdf export. > > Best, > Ihor -- Thanks, --Raman(I Search, I Find, I Misplace, I Research) 7©4 Id: kg:/m/0285kf1 0Ü8 ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: Org mode export accessibility 2022-07-07 14:42 ` T.V Raman 2022-07-08 4:38 ` Ihor Radchenko @ 2022-09-30 11:07 ` Max Nikulin 2022-09-30 13:29 ` T.V Raman 1 sibling, 1 reply; 56+ messages in thread From: Max Nikulin @ 2022-09-30 11:07 UTC (permalink / raw) To: T.V Raman; +Cc: emacs-orgmode Accessibility issues of exported files have been raised on the Org mode mail list again. I decided to revive this thread because I noticed a LaTeX package that may be related to the following suggestion (I am not sure that I got it right though). On 07/07/2022 21:42, T.V Raman wrote: > > 3. For math especially, make sure the TeX/LaTeX is preserved one > way or the other in the export Math can be extracted from PDF files as TeX commands using e.g. pdftotext if LaTeX source file contains \usepackage{mmap}. Is it what you were writing about? https://ctan.org/pkg/mmap https://mirrors.ctan.org/macros/latex/contrib/mmap/README The latest thread with discussion of accessibility: https://list.orgmode.org/th4dth$5df$1@ciao.gmane.io Max Nikulin Re: Add \usepackage{cmap} as default LaTeX class in ox-latex (was: org exported pdf files) Thu, 29 Sep 2022 22:34:07 +0700. ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: Org mode export accessibility 2022-09-30 11:07 ` Max Nikulin @ 2022-09-30 13:29 ` T.V Raman 2022-09-30 16:43 ` Max Nikulin 2022-10-01 4:36 ` Ihor Radchenko 0 siblings, 2 replies; 56+ messages in thread From: T.V Raman @ 2022-09-30 13:29 UTC (permalink / raw) To: manikulin; +Cc: raman, emacs-orgmode As one example, yes. Here is hopefully a more detailed explanation: 1. First off, here Accessibility == Specifically, Accessibility to the blind. 2. For blind and low vision users, you may need to "re-render" the math, either via magnification, speech or Braille. 3. For doing this, you need the original "generating markup" MathML, or better yet LaTeX (those distinctions require more explanation, but this should suffice for this thread) 4. When things are rendered to PDF, a derivative format that traces back to the print world and traditionally didn't feel the need to recreate the original, all that info from (3) is lost. 5. For regular document structure, e.g. headings etc, PDF now supports this "natively" via something called "marked content" introduced in the late 90's; to leverage this, publishing tools exporting to PDF can leverage that facility to enable downstream tools re-create or extract an approximation of the original structure. 6. The above left out Math --- mostly because authoring tools did not go as far as doing that for Math. 7. Then you got pdftex that replaced DVI (which was essentially pure visual layout) with PDF -- also pure visual layout -- but a format that has continued to evolve. 8. Now, connect the dots, newer LaTeX packages like the one mentioned (there may well be others now or in the future) can inprinciple ensure that the required "back pointers to regenerate the original markup" can make it all the way through to the generated PDF. 9. Note that this is not the end of the trail; for such exports to make a difference to the end-user, user-facing tools still need to know "how" to leverage these facilities. Max Nikulin writes: > Accessibility issues of exported files have been raised on the Org mode > mail list again. I decided to revive this thread because I noticed a > LaTeX package that may be related to the following suggestion (I am not > sure that I got it right though). > > On 07/07/2022 21:42, T.V Raman wrote: > > > > 3. For math especially, make sure the TeX/LaTeX is preserved one > > way or the other in the export > > Math can be extracted from PDF files as TeX commands using e.g. > pdftotext if LaTeX source file contains \usepackage{mmap}. Is it what > you were writing about? > > https://ctan.org/pkg/mmap > https://mirrors.ctan.org/macros/latex/contrib/mmap/README > > The latest thread with discussion of accessibility: > > https://list.orgmode.org/th4dth$5df$1@ciao.gmane.io > Max Nikulin Re: Add \usepackage{cmap} as default LaTeX class in ox-latex > (was: org exported pdf files) Thu, 29 Sep 2022 22:34:07 +0700. -- Thanks, --Raman(I Search, I Find, I Misplace, I Research) ♉ Id: kg:/m/0285kf1 🦮 -- Thanks, --Raman(I Search, I Find, I Misplace, I Research) ♉ Id: kg:/m/0285kf1 🦮 ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: Org mode export accessibility 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 1 sibling, 1 reply; 56+ messages in thread From: Max Nikulin @ 2022-09-30 16:43 UTC (permalink / raw) To: T.V Raman; +Cc: emacs-orgmode On 30/09/2022 20:29, T.V Raman wrote: > > 9. Note that this is not the end of the trail; for such exports to > make a difference to the end-user, user-facing tools still need to > know "how" to leverage these facilities. Do you mean that there are no tools yet that may take advantage of math expressions embedded into PDF as LaTeX source markup? I am just trying to figure out current state of affairs. I suppose, it is unlikely that someone from Org mailing list subscribers is ready to invest significant amount of time into development of LaTeX packages. However if there were ready to use and safe packages improving accessibility then changing export templates would be more real goal. In the meanwhile I have realized that \usepackage{mmap} has a little use in isolation. Fractions, indices, etc. are lost. Maybe some other packages should be loaded to provide more informative text equivalent for math. Some details concerning what I have tried is below. Original LaTeX expression: Text \[ \int_{\alpha}^{\beta} \frac{dx}{x^2 + \varepsilon} \] pdftotext -layout output for \usepackage{mmap}: Text \int \beta dx \alpha x2 + \varepsilon end of output pdftotext output for \usepackage{cmap} and \usepackage[noTeX]{mmap}: Text ∫︁ 𝛽 𝑑𝑥 𝛼 𝑥2 + 𝜀 end of output pdftotext output when neither cmap nor mmap is loaded: Text Z β dx α x2 + ε end of output For this dumb example effect of mmap is hardly noticeable. Integral symbol is not replaced by "Z", but it is hard to guess sub- and superscripts and presence of the \frac command. Without "-layout" order of symbols is mostly preserved, but structure is lost Text ∫︁ 𝛽 𝛼 𝑑𝑥 𝑥2 + 𝜀 ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: Org mode export accessibility 2022-09-30 16:43 ` Max Nikulin @ 2022-09-30 16:55 ` T.V Raman 0 siblings, 0 replies; 56+ messages in thread From: T.V Raman @ 2022-09-30 16:55 UTC (permalink / raw) To: manikulin; +Cc: raman, emacs-orgmode correct; user-facing tools are still lacking but that shouldn't cause us to wait since that creates a chicken-and-egg problem. Max Nikulin writes: > On 30/09/2022 20:29, T.V Raman wrote: > > > > 9. Note that this is not the end of the trail; for such exports to > > make a difference to the end-user, user-facing tools still need to > > know "how" to leverage these facilities. > > Do you mean that there are no tools yet that may take advantage of math > expressions embedded into PDF as LaTeX source markup? I am just trying > to figure out current state of affairs. I suppose, it is unlikely that > someone from Org mailing list subscribers is ready to invest significant > amount of time into development of LaTeX packages. However if there were > ready to use and safe packages improving accessibility then changing > export templates would be more real goal. > > In the meanwhile I have realized that \usepackage{mmap} has a little use > in isolation. Fractions, indices, etc. are lost. Maybe some other > packages should be loaded to provide more informative text equivalent > for math. > > Some details concerning what I have tried is below. > > Original LaTeX expression: > > Text \[ \int_{\alpha}^{\beta} \frac{dx}{x^2 + \varepsilon} \] > > pdftotext -layout output for \usepackage{mmap}: > Text \int \beta > dx > \alpha x2 + \varepsilon > > end of output > > pdftotext output for \usepackage{cmap} and \usepackage[noTeX]{mmap}: > Text ∫︁ 𝛽 > 𝑑𝑥 > 𝛼 𝑥2 + 𝜀 > > end of output > > pdftotext output when neither cmap nor mmap is loaded: > Text Z β > dx > α x2 + ε > > end of output > > For this dumb example effect of mmap is hardly noticeable. Integral > symbol is not replaced by "Z", but it is hard to guess sub- and > superscripts and presence of the \frac command. Without "-layout" order > of symbols is mostly preserved, but structure is lost > > Text > ∫︁ > > 𝛽 > > 𝛼 > > 𝑑𝑥 > 𝑥2 + 𝜀 -- Thanks, --Raman(I Search, I Find, I Misplace, I Research) ♉ Id: kg:/m/0285kf1 🦮 -- Thanks, --Raman(I Search, I Find, I Misplace, I Research) ♉ Id: kg:/m/0285kf1 🦮 ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: Org mode export accessibility 2022-09-30 13:29 ` T.V Raman 2022-09-30 16:43 ` Max Nikulin @ 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 1 sibling, 2 replies; 56+ messages in thread From: Ihor Radchenko @ 2022-10-01 4:36 UTC (permalink / raw) To: T.V Raman; +Cc: manikulin, emacs-orgmode "T.V Raman" <raman@google.com> writes: > 8. Now, connect the dots, newer LaTeX packages like the one mentioned > (there may well be others now or in the future) can inprinciple > ensure that the required "back pointers to regenerate the original > markup" can make it all the way through to the generated PDF. Are you aware of such other available LaTeX packages? Also, would it help to embed an Org source into the generated PDF? If it is, is there a preferred way to indicate that the generated PDF contains Org source? -- Ihor Radchenko, Org mode contributor, Learn more about Org mode at https://orgmode.org/. Support Org development at https://liberapay.com/org-mode, or support my work at https://liberapay.com/yantar92 ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: Org mode export accessibility 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 1 sibling, 0 replies; 56+ messages in thread From: T.V Raman @ 2022-10-01 14:59 UTC (permalink / raw) To: Ihor Radchenko; +Cc: manikulin, emacs-orgmode [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #1: Type: text/plain; charset=gb18030, Size: 736 bytes --] Ihor Radchenko <yantar92@gmail.com> writes: No on both counts. > "T.V Raman" <raman@google.com> writes: > >> 8. Now, connect the dots, newer LaTeX packages like the one mentioned >> (there may well be others now or in the future) can inprinciple >> ensure that the required "back pointers to regenerate the original >> markup" can make it all the way through to the generated PDF. > > Are you aware of such other available LaTeX packages? > > Also, would it help to embed an Org source into the generated PDF? If it > is, is there a preferred way to indicate that the generated PDF contains > Org source? -- Thanks, --Raman(I Search, I Find, I Misplace, I Research) 7©4 Id: kg:/m/0285kf1 0Ü8 ^ permalink raw reply [flat|nested] 56+ messages in thread
* Org source in PDF (Re: Org mode export accessibility) 2022-10-01 4:36 ` Ihor Radchenko 2022-10-01 14:59 ` T.V Raman @ 2022-10-02 2:54 ` Max Nikulin 2022-10-02 3:50 ` Timothy 1 sibling, 1 reply; 56+ messages in thread From: Max Nikulin @ 2022-10-02 2:54 UTC (permalink / raw) To: emacs-orgmode On 01/10/2022 11:36, Ihor Radchenko wrote: > > Also, would it help to embed an Org source into the generated PDF? It is unrelated to accessibility, but I have heard that OpenOffice may embed original document into generated PDF to allow "edit PDF" feature. Instead of attempting to map PDF content onto ODT structures it just extracts and opens for edit document source. My curiosity has been never strong enough to find details related to the implementation. ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: Org source in PDF (Re: Org mode export accessibility) 2022-10-02 2:54 ` Org source in PDF (Re: Org mode export accessibility) Max Nikulin @ 2022-10-02 3:50 ` Timothy 0 siblings, 0 replies; 56+ messages in thread From: Timothy @ 2022-10-02 3:50 UTC (permalink / raw) To: emacs-orgmode; +Cc: emacs-orgmode [-- Attachment #1: Type: text/plain, Size: 549 bytes --] Hi Max, Just for reference, I (automatically) embed the `.tex' and `.org' source files in PDFs I produce. Max Nikulin <manikulin@gmail.com> writes: > It is unrelated to accessibility, but I have heard that OpenOffice may embed > original document into generated PDF to allow “edit PDF” feature. Instead of > attempting to map PDF content onto ODT structures it just extracts and opens for > edit document source. My curiosity has been never strong enough to find details > related to the implementation. All the best, Timothy ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: Org mode export accessibility 2022-07-07 14:18 ` briangpowell 2022-07-07 14:42 ` T.V Raman @ 2022-07-07 14:43 ` T.V Raman 2022-07-07 15:37 ` T.V Raman 2022-07-08 4:33 ` Ihor Radchenko 3 siblings, 0 replies; 56+ messages in thread From: T.V Raman @ 2022-07-07 14:43 UTC (permalink / raw) To: briangpowellms; +Cc: yantar92, raman, maciaschain, theophilusx, emacs-orgmode P.S. Emacspeak is not camel-cased -- please say Emacspeak -- and not with the 's' capitalized. -- Thanks, --Raman(I Search, I Find, I Misplace, I Research) ♉ Id: kg:/m/0285kf1 🦮 -- Thanks, --Raman(I Search, I Find, I Misplace, I Research) ♉ Id: kg:/m/0285kf1 🦮 ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: Org mode export accessibility 2022-07-07 14:18 ` briangpowell 2022-07-07 14:42 ` T.V Raman 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 3 siblings, 0 replies; 56+ messages in thread From: T.V Raman @ 2022-07-07 15:37 UTC (permalink / raw) To: briangpowell; +Cc: Ihor Radchenko, maciaschain, theophilusx, emacs-orgmode [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #1: Type: text/plain; charset=gb18030, Size: 6299 bytes --] briangpowell <briangpowellms@gmail.com> writes: P.S. Please dont quote me out of context. I did not say pdftex and pdflatex were not useful, I still rely on them heavily. > "[I suspect that the exported documents can similarly be improved to > reduce the amount of effort required from visually impaired users to > read > such documents. The question is what improvements can be made on > Org side.] > > Best, > Ihor" > > Very glad to hear from TV Raman, the creator of EmacSpeak, > > I'm not blind like TV but I was motivated to turn my a main OrgMode > buffer into an audio desktop like TV's > > But now back to the topic; much agree with Ihor, we should focus on > "what improvements can be made on OrgMode side" > > & TV's points are well made too: "pdftex and pdflatex were built in > the late 90's"--very true & they were rarely useful > > Suggest OrgMode make changes aimed at the "Lowest Common Denominator" > of accessibility--accessibility in the visual sense AND in the machine > or program processable sense or more exactly the "document convertible > sense"--I mean documents should be made firstly in a form that all > computers can easily navigate & present on computer screens and/or > audio desktops in addition to being readily able to print out > > TV's right, the usual pipeline of LaTeX->PDF can produce tagged & > useful documents but can an end user easily copy and paste the > document? How useful are pretty documents that run on proprietary > systems? Many PDF's can make simple processes like this very hard or > impossible--the documents can be very pretty but they can contain > control characters & special characters & even malicious code > > Suggest OrgMode outputs focus on creating "Lowest Common Denominator" > documents as output: > TeXinfo docs should be used as the LCD doctype--suggest you focus on > creating 1 document in Texinfo that you use to create all other sorts > of documents, when possible: > > Pipeline should be more like > OrgMode->Texinfo->TROFF||DTD/XML/HTML/XHTML->LaTeX/TeX->DVI||SVG->PS->PDF > > > * TeXinfo: https://savannah.gnu.org/projects/texinfo > https://www.gnu.org/software/texinfo > > ** "Texinfo uses a single source file to produce output in a number of > formats, both online and printed (dvi, html, info, pdf, xml, etc.). > This means that instead of writing different documents for online > information and another for a printed manual, you need write only one > document. And when the work is revised, you need revise only that one > document. The Texinfo system is integrated well with GNU Emacs. > > *** Texinfo docs can also be viewed & used by ALL end-users without > any issues--regardless of the power of their computer or monitor or > even if they're blind like TV Raman--he uses an audio desktop or > EmacSpeak--and the same docs can be printed on any printer & remain > navigable with "rn" & other simple news-reading software--or the > "info" program > > * Output formats currently supported by Texinfo: > https://www.gnu.org/software/texinfo/manual/texinfo/html_node/Output-Formats.html > <=> Info,Text,HTML,DVI,PostScript{PS},PDF,DocBook,XML > > ** Related/useful may be: "latex2nemeth"--a LATEX to Braille/Nemeth, > approach "Simple pictures in PSTricks are also supported in order to > produce tactile graphics": https://ctan.org/pkg/latex2nemeth > > On Thu, Jun 30, 2022 at 3:53 AM Ihor Radchenko <yantar92@gmail.com> > wrote: > > "T.V Raman" <raman@google.com> writes: > > > 1. Accessibility as word used in isolation has now become mostly > > meaningless, to be concrete one has to ask "Accessibility to > whom"? > > > > 2. So in the following, everything I say is with respect to > users with > > visual impairments. > > This is exactly the perspective I was hoping to hear from you. > Though > this thread is not dedicated to visual impairments. (I guess you > also > did not touch the question of color blindness). > > > 3. It's incorrect to define "Accessibility" in terms of a > specific > > user access tool or technology -- that usage is marketing > jargon > > for a specific Access Solution like a screenreader --- so I > refrain in general from > > defining this in terms of Screenreaders. > > Yet, in order to simplify the efforts needed to read a document > exported > from Org mode one needs to use some kind of tool/technology. > Unless a > common standard exist in this area, we have to support at least > the most > common Access Solutions (prioritizing Free software, if possible). > > From you message, it does not look like there is any common > standard. > > > With those meta-thoughts out of the way: > > > > A: Org-generated documents are mostly well-structured documents, > and ... > > B: The LaTeX->PDF pipeline *can* produce tagged PDF with respect > to ... > > C: pdftex and pdflatex were built in the late 90's by a student > in ... > > D: All that said, it is likely still easier to go from org->HTML > ... > > Do I understand correctly that you have no issues with reading > documents > exported using current version of Org? > > > E: Finally, note that in (D) I said "machine processable" not > > "Accessible"; machine-processable is a pre-requisite to > "repurpose " > > what you publish, and making that result usable by different > user > > communities is a direct consequence of suche > machine-processability. > > I understand. But one can similarly say that .org files are > "machine > processable" and Org export code is not strictly necessary. Yet, > it ends > up extremely useful in practice. > > I suspect that the exported documents can similarly be improved to > reduce the amount of efforts required from visually impair users > to read > such documents. The question is what kinds improvements can be > made on > Org side. > > Best, > Ihor > -- Thanks, --Raman(I Search, I Find, I Misplace, I Research) 7©4 Id: kg:/m/0285kf1 0Ü8 ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: Org mode export accessibility 2022-07-07 14:18 ` briangpowell ` (2 preceding siblings ...) 2022-07-07 15:37 ` T.V Raman @ 2022-07-08 4:33 ` Ihor Radchenko 2022-07-08 13:54 ` T.V Raman 3 siblings, 1 reply; 56+ messages in thread From: Ihor Radchenko @ 2022-07-08 4:33 UTC (permalink / raw) To: briangpowell; +Cc: T.V Raman, maciaschain, theophilusx, emacs-orgmode briangpowell <briangpowellms@gmail.com> writes: > Suggest OrgMode outputs focus on creating "Lowest Common Denominator" > documents as output: > TeXinfo docs should be used as the LCD doctype--suggest you focus on > creating 1 document in Texinfo that you use to create all other sorts of > documents, when possible: > > Pipeline should be more like > OrgMode->Texinfo->TROFF||DTD/XML/HTML/XHTML->LaTeX/TeX->DVI||SVG->PS->PDF > > * TeXinfo: https://savannah.gnu.org/projects/texinfo > https://www.gnu.org/software/texinfo I do not think that using Texinfo as intermediate format is useful. Texinfo does not support many of the available Org syntax structures like, for example, backend-specific export blocks. We will inevitably lose some document structure information when exporting to Texinfo. Please remember that Texinfo is by no means a generic export engine - it is tailored to produce software documentation specifically and may not be suitable for more generic authored documents. Note that we already have a much more feature-full export functionality. RMS even suggested that Org might be used as a replacement for Texinfo: https://yhetil.org/emacs-devel/E1nzQh5-0001OB-22@fencepost.gnu.org Best, Ihor ^ permalink raw reply [flat|nested] 56+ messages in thread
* Re: Org mode export accessibility 2022-07-08 4:33 ` Ihor Radchenko @ 2022-07-08 13:54 ` T.V Raman 0 siblings, 0 replies; 56+ messages in thread From: T.V Raman @ 2022-07-08 13:54 UTC (permalink / raw) To: yantar92; +Cc: briangpowellms, raman, maciaschain, theophilusx, emacs-orgmode Correct. 1. Org should be the truth, not some export format that is picked based on political opinion. 2. Lowest Common denominator in my vocabulary is a "bad word" that LCD is something that makes everyone equally unhappy. So Take-Away: 1. Make org the best format for holding the authored content. 2. Consider all exports to be either modality or use-case specific and produce the best version that that export format can support. 3. But then dont fall into the delusion that the export format is the truth -- Ihor Radchenko writes: > briangpowell <briangpowellms@gmail.com> writes: > > > Suggest OrgMode outputs focus on creating "Lowest Common Denominator" > > documents as output: > > TeXinfo docs should be used as the LCD doctype--suggest you focus on > > creating 1 document in Texinfo that you use to create all other sorts of > > documents, when possible: > > > > Pipeline should be more like > > OrgMode->Texinfo->TROFF||DTD/XML/HTML/XHTML->LaTeX/TeX->DVI||SVG->PS->PDF > > > > * TeXinfo: https://savannah.gnu.org/projects/texinfo > > https://www.gnu.org/software/texinfo > > I do not think that using Texinfo as intermediate format is useful. > Texinfo does not support many of the available Org syntax structures > like, for example, backend-specific export blocks. We will inevitably > lose some document structure information when exporting to Texinfo. > Please remember that Texinfo is by no means a generic export engine - it > is tailored to produce software documentation specifically and may not > be suitable for more generic authored documents. > > Note that we already have a much more feature-full export functionality. > RMS even suggested that Org might be used as a replacement for Texinfo: > https://yhetil.org/emacs-devel/E1nzQh5-0001OB-22@fencepost.gnu.org > > Best, > Ihor -- Thanks, --Raman(I Search, I Find, I Misplace, I Research) ♉ Id: kg:/m/0285kf1 🦮 -- Thanks, --Raman(I Search, I Find, I Misplace, I Research) ♉ Id: kg:/m/0285kf1 🦮 ^ permalink raw reply [flat|nested] 56+ messages in thread
end of thread, other threads:[~2022-10-02 3:52 UTC | newest] Thread overview: 56+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 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 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
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).