Dear all,
Finally, caught up with the meetup notes. Finished before the next
meetup :)
TL;DR: ltx-talk support; exporting tagged PDFs; footnotes inside headings;
hacking long paragraph highlighting; bi-directional sync between MD and Org;
RFC for calling babel blocks from Elisp; Android menu; OrgDevMeetup.
- We started from a talk by Pedro, our ox-latex and ox-beamer maintainer
- Pedro has been recently working towards improving Org PDF export
accessibility, and he is looking for feedback from people
knowledgeable about the topic
- We recently added support for =#+latex_doc_metadata= keywords that
help configuring PDF export to produce tagged PDFs that can be
understood by screen readers. Tagging is the process when
the generated PDFs contain additional annotations about things
like items or titles - declaring that certain spans of text
are parts of lists, tables, or a title, or subtitle, etc. Then,
someone blind can understand the PDFs better without having to
deal with a wall of text read aloud without nuances of formatting.
- ox-beamer on main branch supports ~ltx-talk~ class
- ~ltx-talk~ is an alternative to ~beamer~ that is designed with
tagging in mind. It supports most of ~beamer~ syntax out of the
box with notable exception of supporting themes (this support is
WIP with a handful of themes ported) and several special ~beamer~
blocks.
- More discussion in
https://list.orgmode.org/orgmode/[email protected]/
- Nuno shared some knowledge about the topic, mentioning that
there are websites that provide service for PDF tagging compliance
- (If I recall correctly, we asked to share that website on the list)
- LuaLaTeX supports PDF tagging best, while PDFLaTeX is very tricky
- PDFLaTeX can do /partial/ tagging, but full support is not easy
- The LaTeX maintainers also view LuaLaTeX as the way forward,
so the situation is unlikely to improve
- Still, Pedro is committed to get as much as we can from PDFLaTeX,
because not all the legacy presentations and PDFs can be easily
ported from PDFLaTeX to LuaLaTeX.
- yaca had an issue with LaTeX export of footnotes inside unnumbered
headings
- I recall this type of problem. In LaTeX, ~\footnote{...}~ is no-op
inside certain parts of the document that may float across pages
- However, we have fixed at least some instances of this problem
in Org 9.8
- Indeed, upgrading Org from 9.7.11 to the latest release fixed
the problem for yaca
- During the meetup, I also tried to reproduce on my machine, using
older Org version, but failed.
- Later, yaca shared his screen and tried to reproduce on Gentoo (I
am also no Gentoo), using the same TeX Live and the same Org
version, and he could.
- The reasons of difference remained a mystery, but since
upgrading Org fixed it, we did not dig further
- yaca: asked for a package that highlights paragraph
when it exceeds certain number of words
- I had a vague memory of something similar asked on reddit
https://www.reddit.com/r/emacs/comments/g2jf84/, but there
is no solution there
- So, I quickly assembled a simple demo, using org-element API
#+begin_src emacs-lisp
(defvar my/overlay nil)
(defun count-wods-in-paragraph ()
"Count number of words in current paragraph at point."
(when (and (derived-mode-p 'org-mode)
(org-element-type-p (org-element-at-point) 'paragraph))
(let* ((paragraph (org-element-at-point))
(beg (org-element-contents-begin paragraph))
(end (org-element-contents-end paragraph))
(words (count-words beg end)))
(if (> words 250)
(progn
(unless my/overlay (setq my/overlay (make-overlay beg end)))
(move-overlay my/overlay beg end)
(overlay-put my/overlay 'face 'highlight))
(when my/overlay (delete-overlay my/overlay))))))
(add-hook 'post-command-hook #'count-wods-in-paragraph nil 'local)
#+end_src
- Nick Andreson shared a new package that allows *bi-directional*
import/export for editing markdown files as org
- The idea is that markdown is converted to org, edited as org,
using ~org-mode~ (major mode), and automatically converted back
- https://github.com/agzam/prisma.el
- This made us talk about importing things into Org mode
- My dream is having a flexible import system akin what we
already have for export
- Something akin https://github.com/tecosaur/org-pandoc-import, but
fully controllable from Elisp
- We then had a moment of awkward silence, with a lack of topics to
discuss, so I reached out to Emacs News
- One of the links was to what Nick previously shared (bi-directional sync)
- I highlighted recent RFC about programmatic way to call src blocks
inside Org buffers (something less hackish than ~org-sbs~)
https://list.orgmode.org/orgmode/[email protected]/
-
https://old.reddit.com/r/emacs/comments/1un91s6/memorize_vocabulary_on_the_go_on_emacs_android/
was rather cool
- It showcases Android menu for Emacs - a type of UI I wish
someone made for various Emacs packages (especially Org)
- I am personally not very comfortable with using keyboard
on Android
- Nick uses external keyboards, although I personally prefer my
laptop when I do something that requires full keyboard.
- Nick countered that in airplanes laptop is less than ideal
- zaimon recommended "Unexpected keyboard"
- Nick recommended "Hacker keyboard"
- yaca shared using Emacs Android to do Org spreadsheets
- zaimon asked about OrgDevMeetup
- https://orgmode.org/worg/orgdevmeetup.html
- Just like OrgMeetup I try to do dev meetup once per month
- Although I experimented with schedule and did July's dev meetup
aligned with Singapore/China/Australia
:chat:
[17:42] yantar92 is now the presenter
[17:47] [yantar92 : MODERATOR]: The latest Emacs News:
https://sachachua.com/blog/2026/07/2026-07-06-emacs-news/
[17:56] [Nick Anderson : VIEWER]: Oh nice, edit markdown as org-mode
https://www.youtube.com/watch?v=RJqRwlVvB3E
[17:57] [Nuno : VIEWER]: Hello, I am unable to hear anything. Is it supposed to
be like that?
[17:57] [yantar92 : MODERATOR]: starting in 3 mins
[17:58] [yaca : VIEWER]: hello
[18:00] [Nuno : VIEWER]: Hey everyone. Happy to be here. Kids don't allow me to
speak tho.
[18:16] [yaca : VIEWER]: I have an issue, maybe a narrow case: footnotes on
unnumbered headers are broken on latex export, e.g.
``` orgmode
,* numbered header[fn:1]
some content
,* unnumbered[fn:2]
,:properties:
:unnumbered: t
,:end:
some content
,* Footnotes
[fn:2]incorrect footnote
[fn:1]correct footnote
```
In LaTeX \footnotemark and \footnotetext can be used in order to insert a
footnote into a \section*{}, i.e.
``` latex
\section*{some section\footnotemark}
\footnotetest{footnote content}
```
``` orgmode
,* the /correct/ way \footnotemark
,:properties:
:unnumbered: t
,:end:
\footnotetext{the solution}
```
[18:18] [yaca : VIEWER]: Maybe try with emacs -Q
[18:20] [yaca : VIEWER]: I'm on emacs 30.1 debian
[18:22] [yaca : VIEWER]: Org mode version 9.7.11 (release_9.7.11 @
/usr/share/emacs/30.1/lisp/org/)
[18:23] [yaca : VIEWER]: i can send a screen shoot
[18:23] [yaca : VIEWER]: oh nvm
[18:23] [yaca : VIEWER]: i can't lol
[18:23] [yaca : VIEWER]: let me share screen then
[18:23] [yaca : VIEWER]: i have no mic tho
[18:23] yaca is now the presenter, set by yantar92
[18:24] [yaca : VIEWER]: let me change desktop, apparently this one doesn't
allow sharing screen
[18:24] [Pedro A. Aranda : VIEWER]: BTW, what is the tex version in Debian 30.1?
[18:27] [yaca2 : VIEWER]: ok
[18:27] [yaca2 : VIEWER]: now
[18:27] [yaca2 : VIEWER]: let me share from this session
[18:28] [yaca2 : VIEWER]: can you give me share access?
[18:28] yaca2 is now the presenter, set by yantar92
[18:31] [yaca : VIEWER]: now, presenting, im on gentoo with texlive
[18:31] [yaca : VIEWER]: but in the other computer is debian with texlive
[18:31] [yaca : VIEWER]: both with the same problem
[18:33] [yaca : VIEWER]: on debian: TeX 3.141592653 (TeX Live 2025/dev/Debian)
[18:33] [yaca2 : VIEWER]: gentoo TeX 3.141592653 (TeX Live 2024 Gentoo Linux)
[18:33] [yantar92 : MODERATOR]: TeX 3.141592653 (TeX Live 2024 Gentoo Linux)
[18:36] [visuwesh : VIEWER]: do you not have to remove the aux file?
[18:37] [yaca : VIEWER]: yes
[18:37] [yaca : VIEWER]: both debian and gentoo
[18:38] [yaca : VIEWER]: just org right?
[18:39] [yaca : VIEWER]: now how do i reload it
[18:40] [yantar92 : MODERATOR]: M-x org-reload
[18:41] [yantar92 : MODERATOR]: emacs -Q -L/path/to/org/elpa
[18:42] [yaca : VIEWER]: nice
[18:43] [yaca : VIEWER]: thank you very much
[18:43] [visuwesh : VIEWER]: could it be because of a change in the arguments
given to pdflatex perchance?
[18:43] yantar92 is now the presenter, set by yantar92
[18:46] [yaca : VIEWER]: i have another question
[18:47] [yaca : VIEWER]: do you know a package or config that tellsme when im
over 250 words written in org?
[18:47] [yaca : VIEWER]: i remmber seing a video where the region cahnged color
[18:47] [yaca : VIEWER]: but cant recall it
[18:48] [Nick Anderson : VIEWER]: Oh i was just going to point out from the
emacs news that youtube video editing markdown as org-mode.
https://www.youtube.com/watch?v=RJqRwlVvB3E
[18:50] [yaca : VIEWER]: lol
[18:51] [yaca : VIEWER]: share that reddit link, I'll look into it
[18:51] [yantar92 : MODERATOR]: https://www.reddit.com/r/emacs/comments/g2jf84/
[18:51] [yaca : VIEWER]: its a quest for another day
[18:57] [yaca : VIEWER]: incredible, love to see lisp-fu live
[18:57] [yantar92 : MODERATOR]: (defvar my/overlay nil)
(defun count-wods-in-paragraph ()
"Count number of words in current paragraph at point."
(when (and (derived-mode-p 'org-mode)
(org-element-type-p (org-element-at-point) 'paragraph))
(let* ((paragraph (org-element-at-point))
(beg (org-element-contents-begin paragraph))
(end (org-element-contents-end paragraph))
(words (count-words beg end)))
(if (> words 250)
(progn
(unless my/overlay (setq my/overlay (make-overlay beg end)))
(move-overlay my/overlay beg end)
(overlay-put my/overlay 'face 'highlight))
(when my/overlay (delete-overlay my/overlay))))))
(add-hook 'post-command-hook #'count-wods-in-paragraph nil 'local)
[18:58] [yaca : VIEWER]: thanks
[19:01] [Nick Anderson : VIEWER]: yeah sort of like special edit for babel
blocks i guess
[19:02] [yantar92 : MODERATOR]:
https://list.orgmode.org/orgmode/[email protected]/ - import from
icalendar to Org (but one direction; also AST)
[19:03] [yantar92 : MODERATOR]: idea about diffs -
https://github.com/Wilfred/difftastic
[19:06] [yantar92 : MODERATOR]: https://github.com/agzam/prisma.el -
bi-directional MD<>Org export
[19:12] [Nick Anderson : VIEWER]: I use it in termux
[19:13] [yaca : VIEWER]: I use the android native version to do spreadsheets
[19:13] [yaca : VIEWER]: i feel more confident with table formulas in orgmode
than excel/google docs
[19:14] [Nick Anderson : VIEWER]: I most often us ea physical keyboard, usually
worth pulling it out.
[19:14] [Nick Anderson : VIEWER]: on an airplane i have much more space without
the laptop
[19:14] [yaca : VIEWER]: yeah the keyboard is a big trouble
[19:15] [zaimon : VIEWER]: Unexpected keyboard is pretty usable, but not as
good as a physical keyboard, and takes time to get used to
[19:15] [Nick Anderson : VIEWER]: i do use the hacker keyboard just only when
it doesnt make sense to whip out a keyboard. usually i wont bother if im not
going to be in there for at least 10 minutes
[19:15] [yaca : VIEWER]: I use hacker for anysoftkeyboaardmostly because a
direct acces to the | key and Ctrl
[19:17] [lscc : VIEWER]: unexpected is better
[19:17] [zaimon : VIEWER]: will we have org dev meetup this month?
[19:19] [Sacha Chua : VIEWER]: Let me know the new time when you decide so I
can update the calendar and the crontab 😊
:end:
--
Ihor Radchenko // yantar92,
Org mode maintainer,
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>