Hi Vitus, list. My memory is quite fuzzy on this and I won't have a chance to take a deep look until later, but I will try to share the information I have.
On Mon, 11 Apr 2022 19:38:13 +0000 (9 hours, 37 minutes, 37 seconds ago), Vitus Schäfftlein <vitusschaefftl...@live.de> wrote: Dear org-mode mailing list, [...] 3. Any LaTeX environment name foo is changed to foo* (except it already ends with an asterisk). For example, \begin{tabular} is changed to \begin{tabular*}; same for \end{tabular}. But tabular* differs from tabular in needing an extra width-argument, so the export won’t work properly. I had submitted a patch trying to address this (https://list.orgmode.org/87h7ok3qi2.fsf@dell-desktop.WORKGROUP/, I have attached a new version rebased on main to this message). It never made it in and I failed to follow-up. This patch (or something similar) could help with this issue. It basically only adds the star for math environments (using org-html--math-environment-p) [...] Now the newline commands \n before and after %s are exported as whitespace. Just replacing \n%s\n by %s (that is, leaving the newlines out) solves the problem. HTML ignores newlines anyway. This seems to work better indeed; the \n's were just cosmetic. [...] 1 Create a new variable ox-html-latex-environments-no-number of the form ("foo" "bar" "baz" ...), which contains all environments that should not receive equation numbers. I don't know whether org-html--math-environment-p (as used in the attached patch) is sufficient to determine whether we need to add a star to the environment or if we need another variable (in my use cases, testing for a match environment is sufficient but it may not be the case in general). [...] I don’t know how to express in elisp what is in brackets, though. Does this make sense to you? I am a beginner with elisp, so I can only state the ideas I have but not implement them (yet). This can be made to work if there is a consensus that we want to add a ox-html-latex-environments-no-number variable (I can try to help with that if needed, even though my elisp isn't great) [...] (let ((formula-link (org-html-format-latex (org-html--unlabel-latex-environment latex-frag) processing-type info))) The patch should address that, I would be curious to see if you encounter additional problematic cases after applying it. Thanks for resurrecting this and for your help detecting and fixing the issues. Best, thibault
From 61a27c4816a0dae1072f851cc67ea48cec2d362c Mon Sep 17 00:00:00 2001 From: thibault <thibault.ma...@gmx.com> Date: Tue, 12 Apr 2022 00:45:18 -0400 Subject: [PATCH] lisp/ox-html.el: Fix automatic numbering of non-math environment * ox-html.el (org-html-latex-environment): Prevent addition of * to non-math environments. Added * is used for math environments to replace latex equation numbering by org labels for html linking. --- lisp/ox-html.el | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lisp/ox-html.el b/lisp/ox-html.el index 81ef002a0..0968e2199 100644 --- a/lisp/ox-html.el +++ b/lisp/ox-html.el @@ -2945,7 +2945,9 @@ CONTENTS is nil. INFO is a plist holding contextual information." ((assq processing-type org-preview-latex-process-alist) (let ((formula-link (org-html-format-latex - (org-html--unlabel-latex-environment latex-frag) + (if (eq nil (org-html--math-environment-p latex-environment)) + latex-frag + (org-html--unlabel-latex-environment latex-frag)) processing-type info))) (when (and formula-link (string-match "file:\\([^]]*\\)" formula-link)) (let ((source (org-export-file-uri (match-string 1 formula-link)))) -- 2.33.0