Pedro Andres Aranda Gutierrez <[email protected]> writes:
> Squashed patch w/ quirks pointed out soled (hopefully).
Thanks!
Some more comments below.
> +*** An example of a presentation using =ltx-talk=
I'd rather call it "An =ltx-talk= example", parallel to "A Beamer example"
> +=ltx-talk= is an alternative to the =beamer= class. It depends on
> +LuaLaTeX and produces tagged PDF files with enhanced
> +accessibility. The Beamer exporter can produce presentations for this
> +class, too. The following is the version of the Beamer example above
> +adapted to ~ltx-talk:~
> +
> +#+BEGIN_SRC org
> +,#+STARTUP: beamer
> +,#+OPTIONS: toc:nil H:2 title:t
> +,#+LATEX_COMPILER: lualatex
> +,#+LATEX_CLASS: ltx-talk
> +,#+LATEX_CLASS_OPTIONS:
Empty options looks awkward.
> +,#+LATEX_CLASS_PRE: \\DocumentMetadata{tagging=on}
I think it is important to highlight that this line is mandatory.
I would do something like.
,# It is mandatory to add \DocumentMetadata!
,#+LATEX_CLASS_PRE: \DocumentMetadata{tagging=on}
Also, why \\, and not \?
Did you try compiling the example?
> +,#+COLUMNS: %45ITEM %10BEAMER_ENV(Env) %10BEAMER_ACT(Act) %4BEAMER_COL(Col)
> +,* This is the first structural section
> +
> +,** Frame 1
> +,*** Thanks to Eric Fraga :B_block:
> + :PROPERTIES:
> + :BEAMER_COL: 0.48
> + :BEAMER_ENV: block
> + :END:
> + for the first viable Beamer setup in Org, which also works for
> =ltx-class=
ltx-talk?
> +,*** Thanks to everyone else :B_block:
> + :PROPERTIES:
> + :BEAMER_COL: 0.48
> + :BEAMER_ACT: <2->
Does <2-> work? I recall there are some subtleties with the actions.
> +,*** Request
> +
> +1. Please read the notes, because not all Beamer environments are supported.
> +2. Please test this stuff!
??
Why right inside the example?
You can refer to the Org manual and ltx-talk manual if you want the
request to appear when people compile the example. The current reference
only works if users read the manual, but then it makes more sense to
write it right in the manual itself, as normal text.
> +- Observations ::
"observations" is very confusing.
> + - Setting the header levels to =H:2= in the options will create the
> + sectioning in your presentation. Setting =H:1= will suppress
> + sectioning[fn::Frames should be placed at the first level in this
> + case.].
> + - If you use a longer prelude before ~\documentclass{ltx-talk}~, feel
> + free to add as many ~#+LATEX_CLASS_PRE:~ lines as needed.
Why do we need to explain it here? This has nothing to do with ltx-talk.
> + - ~#+BEAMER_..._THEME~ keywords will be silently ignored.
Should we throw a warning?
> + - Beamer environments and their support in =ltx-talk=[fn::page
> + numbers refer to the =ltx-talk= class manual.]:
> + | Beamer environment | Support | Comment |
> + |--------------------+---------+---------------------------------------|
> + | =alertblock= | Partial | Only =alertenv= (p.20) |
> + | =exampleblock= | No | Environment not defined in 'ltx-talk' |
> + | =theorem= | No | Manual discourages (p.27) |
> + | =definition= | No | Manual discourages (p.27) |
> + | =proof= | No | Manual discourages (p.27) |
> + | =beamercolorbox= | No | Environment not defined in 'ltx-talk' |
> + | =onlyenv= | Yes | p.12 |
> + | =note= | No | Will generate a compilation error |
> + |--------------------+---------+---------------------------------------|
This is confusing.
If we want to list what is supported and what is not supported, we
should also list "block". For now, the table has some environments that
are supported, but not all. I'd instead just list the environments that
are not supported.
Also, I think that references to specific pages in ltx-talk manual are
not reliable. The manual may change in the future, and all these
references will then be broken.
I'd keep things simple and just list the environments that cannot work
with ltx-talk.
> +*** ox-beamer.el now supports the ltx-talk class
> +
> +ltx-talk is an alternative document class that can produce PDFs with
> +extra information for on-screen reader applications. It will only work
> +with LuaLaTeX.
I'd add a bit more info and refer to the manual.
In particular, it would be useful to mention that presentations will
mostly be portable, except that themes will not work and some
environments will not work.
> "\\documentclass[presentation]{beamer}"
> ("\\section{%s}" . "\\section*{%s}")
> ("\\subsection{%s}" . "\\subsection*{%s}")
> - ("\\subsubsection{%s}" . "\\subsubsection*{%s}"))))
> -
> + ("\\subsubsection{%s}" . "\\subsubsection*{%s}")))
> + (add-to-list 'org-latex-classes
> + '("ltx-talk"
> + "\\documentclass{ltx-talk}"
> + ("\\section{%s}" . "\\section*{%s}"))))
This will fail if there is manually added "beamer" entry in
org-latex-classes. ltx-talk will not be added at all.
> - (let* ((fragilep
> + (let* ((latex-class (plist-get info :latex-class))
> + (fragile-candidates
> + (cl-remove-if
> + #'(lambda (sym)
#' is redundant.
> + (equal (assoc-default sym org-latex-text-markup-alist)
(plist-get info :latex-text-markup-alist)
Also, this does not appear to be relevant to ltx-talk. Could you explain
this change?
> + ;; ltx-talk accepts 'name = ' instead of 'label='
> + (let ((label (org-beamer--get-label headline info))
> + (label-str (or (and (equal latex-class "beamer")
> + "label=")
> + "name = ")))
Why spaces in "name = "? It is minor, but feels asymmetric.
> + (list
> + (and (not (member "allowframebreaks" options))
> + (not (cl-some (lambda (s) (string-match-p "^label="
> s))
> + options))
What about name=?
> - (let ((env (org-element-property :BEAMER_ENV headline)))
> - (format "{%s}"
> ...
> + (or (and (equal latex-class "beamer")
> + (format "{%s}\n"
Did you intend to add a newline here?
--
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>