Yes! Find it attached... Best, /PA
On Wed, 1 Jul 2026 at 20:22, Ihor Radchenko <[email protected]> wrote: > Pedro Andres Aranda Gutierrez <[email protected]> writes: > > > Hi, > > > > Last second change to support framesubtitle in ltx-talk. > > Best, /PA > > > > PS: The idea of keeping the short-hand > > \begin{frame}[]{title}{subtitle} > > is generating a convolute code that is not easy to read (and maintain). > > > > ox-latex & ox-beamer maintainer > > Did you intent to attach a patch 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> > -- Fragen sind nicht da, um beantwortet zu werden, Fragen sind da um gestellt zu werden Georg Kreisler "Sagen's Paradeiser" (ORF: Als Radiohören gefährlich war) => write BE! Year 2 of the New Koprocracy This was produced by a human (implied virtues and weaknesses acknowledged) I'd hate this being fed to any form of AS (sorry AI)...
From ff771e91b165ec0f4ce48efef13f6231767db78b Mon Sep 17 00:00:00 2001 From: "Pedro A. Aranda" <[email protected]> Date: Mon, 29 Jun 2026 07:17:27 +0200 Subject: [PATCH 3/3] ox-beamer: ltx-talk needs framesubtitle spelt out * lisp/ox-beamer.el (org-beamer--format-frame): Adjust newlines and spell out framesubtitle for ltx-talk. * testing/lisp/test-ox-beamer.el (test-ox-beamer/ltx-talk-frame-subtitle): Renamed test (test-ox-beamer/ltx-talk-multi-verb-frame) and add handout as class options and a subtitle to the second frame. --- lisp/ox-beamer.el | 13 +++++++++---- testing/lisp/test-ox-beamer.el | 15 ++++++++++----- 2 files changed, 19 insertions(+), 9 deletions(-) diff --git a/lisp/ox-beamer.el b/lisp/ox-beamer.el index 57a40aa70..efeb47bcc 100644 --- a/lisp/ox-beamer.el +++ b/lisp/ox-beamer.el @@ -520,22 +520,27 @@ (defun org-beamer--format-frame (headline contents info) (org-beamer--normalize-argument (mapconcat #'identity (append label fragile options) ",") 'option)) + ;; FIXME: Always adding \\frametitle{} and \\framesubtitle + ;; would help readibility and future maintainance. ;; Title. (let ((env (org-element-property :BEAMER_ENV headline)) (frame-title (org-export-data (org-element-property :title headline) info))) - ;; Separate frametitle doesn't hurt beamer + ;; Separate frametitle wouldn't hurt beamer ;; but ltx-talk will not work w/o it. (or (and (equal latex-class "beamer") - (format "{%s}\n" + (format "{%s}" (if (and env (equal (downcase env) "fullframe")) "" frame-title))) - (format "\n\\frametitle{%s}\n" frame-title))) + (format "\n\\frametitle{%s}" frame-title))) ;; Subtitle + ;; ltx-talk needs framesubtitle spelt out. + ;; It wouldn't hurt beamer (when-let* ((subtitle (org-element-property :BEAMER_SUBTITLE headline))) - (format "{%s}" + (format (concat (and (equal latex-class "ltx-talk") "\n\\framesubtitle") + "{%s}") (org-export-data (org-element-parse-secondary-string subtitle diff --git a/testing/lisp/test-ox-beamer.el b/testing/lisp/test-ox-beamer.el index 72baa29ea..c41c4cf8d 100644 --- a/testing/lisp/test-ox-beamer.el +++ b/testing/lisp/test-ox-beamer.el @@ -191,19 +191,19 @@ (ert-deftest test-ox-beamer/ltx-talk-multi-line-metadata () (should (search-forward "\\section{A section}" nil t)) (should (search-forward "\\frametitle{A frame}" nil t)))))) -(ert-deftest test-ox-beamer/ltx-talk-multi-verb-frame () +(ert-deftest test-ox-beamer/ltx-talk-frame-subtitle () "Test that a frame with verbatim elements uses \"frame*\"." (let ((org-latex-compiler "lualatex") (org-latex-hyperref-template nil) (org-latex-packages-alist nil) - (org-latex-default-packages-alist nil) - (org-latex-title-command "\\begin{frame}\n\\maketitle\n\\end{frame}\n")) + (org-latex-default-packages-alist nil)) (org-test-with-exported-text 'beamer "#+STARTUP: beamer #+OPTIONS: toc:nil H:2 title:t #+LATEX_CLASS: ltx-talk #+LATEX_CLASS_PRE: \\DocumentMetadata{tagging=on} +#+LATEX_CLASS_OPTIONS: handout #+TITLE: Testing =ltx-talk= verbatims #+BEAMER_THEME: @@ -212,7 +212,10 @@ (ert-deftest test-ox-beamer/ltx-talk-multi-verb-frame () - First - Second - Third -** A frame with a listing +** A second frame with a subtitle + :properties: + :beamer_subtitle: Testing listings + :end: - This is a listing: #+BEGIN_SRC python import sys @@ -226,12 +229,14 @@ (ert-deftest test-ox-beamer/ltx-talk-multi-verb-frame () (save-excursion (should-not (search-forward "[label=]" nil t))) (save-excursion (should (search-forward "\\DocumentMetadata{tagging=on}" nil t)) + (should (search-forward "\\documentclass[handout]{ltx-talk}" nil t)) (should (search-forward "\\section{A section}\n" nil t)) (should (search-forward "\\begin{frame}" nil t)) (should (search-forward "\\frametitle{A frame}\n" nil t)) (should (search-forward "\\end{frame}" nil t)) (should (search-forward "\\begin{frame*}" nil t)) - (should (search-forward "\\frametitle{A frame with a listing}\n" nil t)) + (should (search-forward "\\frametitle{A second frame with a subtitle}\n" nil t)) + (should (search-forward "\\framesubtitle{Testing listings}\n" nil t)) (should (search-forward "\\end{frame*}" nil t)))))) (ert-deftest test-ox-beamer/beamer-verb-frame () -- 2.43.0
