Hi, thanks for the quick review.

On 2019-12-08T15:40:54-0500, Nicolas Goaziou wrote:


> > +(defun org-html--latex-environment-numbered-p (latex-frag)
>                                                   ^^^^^^^^^^
>                                                   latex-env

I changed the name and docstring to `element' (similar to
`org-html--math-environment-p'.

> > +  "Return t if LATEX-ENV contains a numbered environment.

> Non-nil if...

Done.

> However, I suggest to make this function operate on the element itself,
> not its value, much like `org-html--math-environment-p'.

Done (if I understood correctly).

> I suggest merging the two regexps into a single one, and use:

>     (not (string-match-p REGEXP latex-env))

Done

> Operating directly on the element will be a bit nicer. Why do you need
> `org-remove-indentation'?

I looks like I didn't.  I removed it.

> Could you send an updated patch and provide an ORG-NEWS entry (on top of
> master)?

See attached.

Thanks,

thibault

From 3cf6b644f2b7d806b15dd5e76914b1547ef77a96 Mon Sep 17 00:00:00 2001
From: thibault <thibault.ma...@gmx.com>
Date: Sat, 2 Nov 2019 02:12:38 -0400
Subject: [PATCH] ox-html: Add equation numbers only for numbered environments

* lisp/ox-html.el (org-html-latex-environment): Add caption to numbered
environments only
(org-html--latex-environment-numbered-p): Determine whether a latex
environment should be numbered.
---
 etc/ORG-NEWS    |  8 ++++++++
 lisp/ox-html.el | 32 ++++++++++++++++++++++----------
 2 files changed, 30 insertions(+), 10 deletions(-)

diff --git a/etc/ORG-NEWS b/etc/ORG-NEWS
index e61b97fa5..f20e4ea98 100644
--- a/etc/ORG-NEWS
+++ b/etc/ORG-NEWS
@@ -21,6 +21,14 @@ just as if it was at outline level 0.  Inheritance for properties will
 work also for this level.  In other words: defining things in a
 property drawer before the first headline will make them "inheritable"
 for all headlines.
+
+*** Restrict the addition of a label to LaTeX equations in HTML export to numbered environments only
+
+Prevent the addition of a label to LaTeX math environments in HTML
+export when not in a numbered environment (numbered environment are
+everything but =displaymath= and environments ending with a star
+character, e.g. =equation*=).
+
 ** New functions
 *** ~org-columns-toggle-or-columns-quit~
 =<C-c C-c>= bound to ~org-columns-toggle-or-columns-quit~ replaces the
diff --git a/lisp/ox-html.el b/lisp/ox-html.el
index 83d0fd2e9..2f2210aa1 100644
--- a/lisp/ox-html.el
+++ b/lisp/ox-html.el
@@ -2914,19 +2914,31 @@ For instance, change an 'equation' environment to 'equation*'."
 			     latex-frag nil nil 1)
    nil nil 1))

+(defun org-html--latex-environment-numbered-p (element)
+  "Non-nil if ELEMENT contains a numbered LaTeX math environment.
+
+Environments with a star (*) character and displaymath are not numbered."
+  (not (string-match-p
+	"\\`[ \t]*\\\\begin{\\(.*\\*\\|displaymath\\)}"
+	(org-element-property :value element))))
+
 (defun org-html-latex-environment (latex-environment _contents info)
   "Transcode a LATEX-ENVIRONMENT element from Org to HTML.
 CONTENTS is nil.  INFO is a plist holding contextual information."
-  (let ((processing-type (plist-get info :with-latex))
-	(latex-frag (org-remove-indentation
-		     (org-element-property :value latex-environment)))
-        (attributes (org-export-read-attribute :attr_html latex-environment))
-        (label (and (org-element-property :name latex-environment)
-                    (org-export-get-reference latex-environment info)))
-        (caption (number-to-string
-                  (org-export-get-ordinal
-                   latex-environment info nil
-                   #'org-html--math-environment-p))))
+  (let* ((processing-type (plist-get info :with-latex))
+	 (latex-frag (org-remove-indentation
+		      (org-element-property :value latex-environment)))
+         (attributes (org-export-read-attribute :attr_html latex-environment))
+         (label (and (org-element-property :name latex-environment)
+                     (org-export-get-reference latex-environment info)))
+	 (caption (when (org-html--latex-environment-numbered-p
+			 latex-environment)
+		    (number-to-string
+		     (org-export-get-ordinal
+		      latex-environment info nil
+		      (lambda (l info)
+			(and (org-html--math-environment-p l)
+			     (org-html--latex-environment-numbered-p l))))))))
     (cond
      ((memq processing-type '(t mathjax))
       (org-html-format-latex
--
2.24.0

Reply via email to