The solution is the following patch:

---- cut here ----

diff --git a/lisp/ox-latex.el b/lisp/ox-latex.el
index b8e4ff172..a54ac5a3b 100644
--- a/lisp/ox-latex.el
+++ b/lisp/ox-latex.el
@@ -2021,10 +2021,10 @@ The default behaviour is to typeset with the Roman
font family."
 (defun org-latex--mk-options (str)
   "Make STR be enclosed in [ ] or return an empty string if nil or empty.

-If STR is nil or an empty string, return an empty string.
+If STR is nil or an empty string, return STR.
 If STR is a traditional LATEX_CLASS_OPTIONS enclosed in [ ], return it as
is.
 If the square brackets are missing, return STR enclosed in square
brackets."
-  (if (or (not str) (length= str 0)) ""
+  (if (or (not str) (length= str 0)) str
     (save-match-data  ; just in case it is used in a search/replace context
       (let ((str (concat "[" str "]"))) ; make sure it is enclosed in []
         (replace-regexp-in-string  ; remove excess [ at the beginning

---- cut here ---

Try it out while I prepare a patch that includes an additional test, so
that this doesn't happen in the future.

Best, /PA

On Tue, 21 Apr 2026 at 19:23, Pedro Andres Aranda Gutierrez <
[email protected]> wrote:

> In the mean time, can you try to add
>
> #+LATEX_CLASS_OPTIONS: paper=letter,twoside,parskip=half,mpinclude=true
>
> to check if that helps in the interim?
>
> /PA
>
> On Tue, 21 Apr 2026 at 19:18, Pedro Andres Aranda Gutierrez <
> [email protected]> wrote:
>
>> Confirmed. Let me investigate...
>>
>> best, /PA
>>
>> On Tue, 21 Apr 2026 at 15:44, Samuel W. Flint <
>> [email protected]> wrote:
>>
>>> Hello!
>>>
>>> I have a number of custom entries for org-latex-classes, and I noticed
>>> that (as of the most recent commit to Org's main branch), part of my
>>> configuration appears to be ignored.  In particular, this entry seems to
>>> produce broken input
>>>
>>> ("handout"
>>>
>>> "\\documentclass[paper=letter,twoside,parskip=half,mpinclude=true]{scrartcl}\n\\setlength{\\marginparwidth}{1.75\\marginparwidth}\n[DEFAULT-PACKAGES]\n[PACKAGES]\n[EXTRA]\n\\usepackage[footnote=true]{snotez}"
>>>   ("\\section{%s}" . "\\section*{%s}")
>>>   ("\\subsection{%s}" . "\\subsection*{%s}")
>>>   ("\\subsubsection{%s}" . "\\subsubsection*{%s}")
>>>   ("\\paragraph{%s}" . "\\paragraph*{%s}")
>>>   ("\\subparagraph{%s}" . "\\subparagraph*{%s}"))
>>>
>>> In particular, on export, the class options I declare are omitted:
>>>
>>> \documentclass{scrartcl}
>>> \setlength{\marginparwidth}{1.75\marginparwidth}
>>>
>>> I would expect:
>>>
>>> \documentclass[paper=letter,twoside,parskip=half,mpinclude=true]{scrartcl}
>>> \setlength{\marginparwidth}{1.75\marginparwidth}
>>>
>>> The org file I am using is as follows:
>>>
>>> #+title:      Test Export File
>>> #+date:       [2026-04-17 Fri 10:18]
>>> #+latex_class: handout
>>> #+options: toc:nil num:t arch:nil todo:nil stat:nil inline:nil
>>> #+latex_header: \setcounter{secnumdepth}{-\maxdimen}
>>>
>>> I don't see any obvious changes in ORG-NEWS, and I'm wondering if I've
>>> missed something.  Any help would be appreciated.
>>>
>>> Thanks,
>>>
>>> Sam
>>>
>>> --
>>> Samuel W. Flint <[email protected]>
>>> https://samuelwflint.com/
>>> 4096R/FA13D704
>>>        (F50D 862B 4F65 5943 A8C2  EF0E 86C9 3E7A FA13 D704)
>>> λs.(s s) λs.(s s)
>>> O< ascii ribbon campaign - stop html mail - www.asciiribbon.org
>>>
>>>
>>>
>>
>> --
>> 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
>>
>>
>
> --
> 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
>
>

-- 
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

Reply via email to