Pedro Andres Aranda Gutierrez <[email protected]> writes: > Attached is the patch adding support for ltx-talk in ox-beamer. > Splitting it in three files addressing the different aspects of ltx-talk is > intentional. > > 0001 Provides the basic differentiation between beamer and ltx-talk. > 0002 Adds support for sectioning. > 0003 Addresses frames with verbatim contents. > > Thanks uncountable to Roger for his patience and support testing.
Thanks! As discussed, it is good idea to squash the patches and summarize all the changes made in the commit message. Currently, the patches add and immediately remove some things, which makes it harder to review the series. The patch does not currently warn when ltx-talk is used without lualatex. It should. Also, ORG-NEWS entry needs to be added. More comments inline. > +popular display formats. Additionally, the Beamer exporter provides > +/preliminary/ support for =ltx-talk=, which produces accesible > +presentation in PDF using the *LuaLaTeX* compiler. Let's not use "preliminary" in the manual. We will have plenty of time before this is a part of Org release. Before that, all the new features are not fully stable and are a subject of testing for users who use main branch. Also, "accessible presentation" may be easy to understand for some people, but not for all. It is a good idea to explain exactly what it refers two - mention screen readers and PDF accessibility requirements in EU universities. > +If you plan to use =ltx-talk=, consult the > +[[https://mirrors.ctan.org//macros/latex/contrib/ltx-talk.tds.zip/ltx-talk.pdf][=ltx-talk= > +documentation]]. It is still a good idea to describe the most important differences between beamer and ltx-talk in a separate section of the manual. For example, the fact that themes are not a thing. Or other pitfalls, especially when some features that are explicitly supported in Org mode will no longer work. > +*** An example of a presentation using =ltx-talk= I am not sure if it is worth having a separate example of presentation. Maybe we can get along with the existing 13.8.6 A Beamer example section, just adjusting it a little to indicate which options do not work in ltx-talk and which options need to be added (like documentmetadata) The existing example is almost just a normal beamer presentation with ,#+LATEX_CLASS: ltx-talk ,#+LATEX_CLASS_PRE: \\DocumentMetadata{tagging=on} before a sole difference. It would be nice (but optional), to generate documentmetadata automatically. At least language can be derived from #+LANG keyword. We could introduce #+LATEX_METADATA keyword to assist this. > @@ -72,7 +75,8 @@ (defcustom org-beamer-frame-level 1 > This integer is relative to the minimal level of a headline > within the parse tree, defined as 1." > :group 'org-export-beamer > - :type 'integer) > + :type 'integer > + :safe #'integerp) This is fine, but not related to adding ltx-talk. You can push it as a separate change. > + (:latex-class-pre "LATEX_CLASS_PRE" nil nil newline) This is redundant. We already define the keyword in the parent ox-latex. > + ;; FIXME: no labels for ltx-talk in \begin{frame} > + ;; find an alternative! > + (and (equal "beamer" latex-class) > + (not (member "allowframebreaks" options)) ltx-talk supports something called "name", which should be used instead of beamer labels. That way, againframe will remain supported. >- (format "{%s}" >+ ;; Separate frametitle doesn't hurt beamer >+ ;; but ltx-talk will not work w/o it. >+ (format "\n\\frametitle{%s}" I suggest not changing the existing export format for beamer case. I know from past discussions that it is really a big deal for some users - more verbose export annoy them. Just do special case of ltx-talk. + (beamer-class (plist-get info :latex-class))) + (when (and (equal beamer-class "ltx-talk") + (plist-get info :latex-class-options)) + (warn "ox-beamer: ignoring LaTeX class options for `ltx-talk'") + (setq info (plist-put info :latex-class-options nil))) This is not right. ltx-talk supports class options (see the manual). There is no reason to strip them. + (unless (equal beamer-class "ltx-talk") + (let ((format-theme Apparently, there are equivalents of beamer themes ported to ltx-talk. For example, talkthemespectrum or talkthemetuc. Also, beamertheme-tcolorbox appears to support ltx-talk. Not for now, but may be something we want to support in the future. Especially if more themes are ported from beamer to ltx-talk. Also, it looks like ltx-talk does not support some of the environments users may have in the documents: | Environment | In ltx-talk? | Evidence | |-----------------------------+--------------+-------------------------------| | =block= | No | Not in index or content | | =alertblock= | Partial | Only =alertenv= exists (p.20) | | =exampleblock= | No | Not in index or content | | =theorem= | No | Manual discourages (p.27) | | =definition= | No | Same as theorem | | =proof= | No | Same | | =beamercolorbox= | No | Not in index or content | | =onlyenv= | Yes | p.12 | | =structureenv= | No | Not in index | Maybe also \note. -- 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>
