Hi
Attached is a patch solving the Org export to PDF menu problems for
LaTeX and Beamer. Possibly triggered by a change in the menu API.
Best, /PA
--
Pedro A. Aranda
ox-latex & ox-beamer maintainer
Sagen's Paradeiser! (ORF: Als Radiohören gefährlich war) => write BE!
IA: onomatopeya del rebuzno
2nd year of the New Koprocracy
From d763f526943efa9526226f6c0b38535ea52fa828 Mon Sep 17 00:00:00 2001
From: "Pedro A. Aranda" <[email protected]>
Date: Mon, 31 Aug 2026 09:13:32 +0200
Subject: [PATCH] * etc/ORG-NEWS: Announce factored out functions. *
lisp/ox-beamer.el (org-beamer-export-to-pdf-and-open): New function to export
the buffer to PDF and open the result in a PDF viewer. export-backend: Use
the new function instead of the inlined code. * lisp/ox-latex.el
(org-beamer-export-to-pdf-and-open):New function to export the buffer to PDF
and open the result in a PDF viewer. export-backend: Use the new function
instead of the inlined code.
Reported-by: Colin Baxter <[email protected]>
Link: https://list.orgmode.org/[email protected]/
---
etc/ORG-NEWS | 11 ++++++++++-
lisp/ox-beamer.el | 13 +++++++++----
lisp/ox-latex.el | 14 ++++++++++----
3 files changed, 29 insertions(+), 9 deletions(-)
diff --git a/etc/ORG-NEWS b/etc/ORG-NEWS
index 8d2953d25..77e995f00 100644
--- a/etc/ORG-NEWS
+++ b/etc/ORG-NEWS
@@ -252,7 +252,7 @@ keywords or with =#+OPTIONS:=.
Option keys can be used like this:
: #+OPTIONS: html-self-link-headlines:t
: #+OPTIONS: html-tag-class-prefix:"myorg-"
-
+
To know which value you can use, find the allowed option values in the
manual or in the default variable documentation.
@@ -454,6 +454,15 @@ LuaLaTeX, or generate PDFs with CJK fonts in the case of XeLaTeX.
Refer to "Controlling font setup for LuaLaTeX and XeLaTeX" in the
"LaTeX Export" chapter in the Org manual.
+*** New function ~org-latex-export-to-pdf-and-open~
+
+This function contains the code factored out from the export menu. It
+exports the buffer to PDF and opens the resulting PDF file.
+
+*** New function ~org-beamer-export-to-pdf-and-open~
+
+This function contains the code factored out from the export menu. It
+exports the buffer to PDF and opens the resulting PDF file.
** Removed or renamed functions and variables
diff --git a/lisp/ox-beamer.el b/lisp/ox-beamer.el
index 301fc06b4..4adeedf77 100644
--- a/lisp/ox-beamer.el
+++ b/lisp/ox-beamer.el
@@ -263,10 +263,7 @@ (org-export-define-derived-backend 'beamer 'latex
((?B "As LaTeX buffer (Beamer)" org-beamer-export-as-latex)
(?b "As LaTeX file (Beamer)" org-beamer-export-to-latex)
(?P "As PDF file (Beamer)" org-beamer-export-to-pdf)
- (?O "As PDF file and open (Beamer)"
- #'(lambda (a s v b)
- (if a (org-beamer-export-to-pdf t s v b)
- (org-open-file (org-beamer-export-to-pdf nil s v b)))))))
+ (?O "As PDF file and open (Beamer)" org-beamer-export-to-pdf-and-open)))
:options-alist
'((:headline-levels nil "H" org-beamer-frame-level)
(:latex-class "LATEX_CLASS" nil "beamer" t)
@@ -1194,6 +1191,14 @@ (defun org-beamer-export-to-pdf
#'org-latex-compile)))
;;;###autoload
+(defun org-beamer-export-to-pdf-and-open
+ (&optional async subtreep visible-only body-only ext-plist)
+ "Export current buffer as a Beamer presentation (PDF) and open it.
+
+Cf. `org-beamer-export-to-pdf' for argument list."
+ (if async (org-beamer-export-to-pdf t subtreep visible-only body-only ext-plist)
+ (org-open-file (org-beamer-export-to-pdf nil subtreep visible-only body-only ext-plist))))
+;;;###autoload
(defun org-beamer-select-environment ()
"Select the environment to be used by beamer for this entry.
While this uses (for convenience) a tag selection interface, the
diff --git a/lisp/ox-latex.el b/lisp/ox-latex.el
index d9898fdd5..1099b244e 100644
--- a/lisp/ox-latex.el
+++ b/lisp/ox-latex.el
@@ -109,10 +109,7 @@ (org-export-define-backend 'latex
((?L "As LaTeX buffer" org-latex-export-as-latex)
(?l "As LaTeX file" org-latex-export-to-latex)
(?p "As PDF file" org-latex-export-to-pdf)
- (?o "As PDF file and open"
- #'(lambda (a s v b)
- (if a (org-latex-export-to-pdf t s v b)
- (org-open-file (org-latex-export-to-pdf nil s v b)))))))
+ (?o "As PDF file and open" org-latex-export-to-pdf-and-open)))
:filters-alist '((:filter-options . org-latex-math-block-options-filter)
(:filter-body . org-latex-get-font-list)
(:filter-paragraph . org-latex-clean-invalid-line-breaks)
@@ -4842,6 +4839,7 @@ (defun org-latex-compile--postprocess (outfile log-buf &optional snippet)
(warnings (concat " with warnings: " warnings))
(t ".")))))))
+
(defun org-latex--collect-warnings (buffer)
"Collect some warnings from \"pdflatex\" command output.
BUFFER is the buffer containing output. Return collected
@@ -4896,6 +4894,14 @@ (defun org-latex-publish-to-pdf (plist filename pub-dir)
'latex filename ".tex" plist (file-name-directory filename))))
pub-dir))
+;;;###autoload
+(defun org-latex-export-to-pdf-and-open
+ (&optional async subtreep visible-only body-only exp-plist)
+ "Export current buffer to LaTeX, process, and open the resulting PDF.
+
+Cf. `org-latex-export-to-pdf' for arguments"
+ (if async (org-latex-export-to-pdf t subtreep visible-only body-only exp-plist)
+ (org-open-file (org-latex-export-to-pdf nil subtreep visible-only body-only exp-plist))))
(provide 'ox-latex)
--
2.43.0