summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrian Powell <powellb@hawaii.edu>2020-04-20 09:49:12 -1000
committerNicolas Goaziou <mail@nicolasgoaziou.fr>2020-04-21 19:44:03 +0200
commitbc90264ac689150367f9e25717775afcf3648c7a (patch)
tree26a0ff8cf3e82ca2f7c28a780462aa91a376b977
parent5afacc5fce272e0cbb59468cc1a602cddcadb91e (diff)
downloadorg-mode-bc90264ac689150367f9e25717775afcf3648c7a.tar.gz
ox-html: Add customizable format string for equations
* lisp/ox-html.el (org-html-equation-reference-format): New variable. * doc/org-manual.org update to reference new variable
-rw-r--r--doc/org-manual.org1
-rw-r--r--etc/ORG-NEWS9
-rw-r--r--lisp/ox-html.el25
3 files changed, 32 insertions, 3 deletions
diff --git a/doc/org-manual.org b/doc/org-manual.org
index debdf3f..2a27007 100644
--- a/doc/org-manual.org
+++ b/doc/org-manual.org
@@ -15851,6 +15851,7 @@ Settings]]), however, override everything.
| ~:html-link-use-abs-url~ | ~org-html-link-use-abs-url~ |
| ~:html-mathjax-options~ | ~org-html-mathjax-options~ |
| ~:html-mathjax-template~ | ~org-html-mathjax-template~ |
+| ~:html-equation-reference-format~ | ~org-html-equation-reference-format~ |
| ~:html-metadata-timestamp-format~ | ~org-html-metadata-timestamp-format~ |
| ~:html-postamble-format~ | ~org-html-postamble-format~ |
| ~:html-postamble~ | ~org-html-postamble~ |
diff --git a/etc/ORG-NEWS b/etc/ORG-NEWS
index f6f806b..28571a0 100644
--- a/etc/ORG-NEWS
+++ b/etc/ORG-NEWS
@@ -384,6 +384,15 @@ now. E.g.,
This bug [[https://lists.gnu.org/archive/html/emacs-orgmode/2013-08/msg00072.html][originally reported]] by Matt Lundin and investigated by Andrew
Hyatt has been fixed. Thanks to both of them.
+*** Format of equation reference in HTML export can be specified
+
+By default, HTML (via MathJax) and LaTeX export equation references
+using different commands. LaTeX must use ~\ref{%s}~ because it is used
+for all labels; however, HTML (via MathJax) uses ~\eqref{%s}~ for
+equations producing inconsistent output. New option
+~org-html-equation-reference-format~ sets the command used in HTML
+export.
+
* Version 9.3
** Incompatible changes
diff --git a/lisp/ox-html.el b/lisp/ox-html.el
index e70b827..ba4e553 100644
--- a/lisp/ox-html.el
+++ b/lisp/ox-html.el
@@ -121,6 +121,7 @@
(:html-link-home "HTML_LINK_HOME" nil org-html-link-home)
(:html-link-up "HTML_LINK_UP" nil org-html-link-up)
(:html-mathjax "HTML_MATHJAX" nil "" space)
+ (:html-equation-reference-format "HTML_EQUATION_REFERENCE_FORMAT" nil org-html-equation-reference-format t)
(:html-postamble nil "html-postamble" org-html-postamble)
(:html-preamble nil "html-preamble" org-html-preamble)
(:html-head "HTML_HEAD" nil org-html-head newline)
@@ -761,6 +762,24 @@ The function should return the string to be exported."
;;;; LaTeX
+(defcustom org-html-equation-reference-format "\\eqref{%s}"
+ "The MathJax command to use when referencing equations.
+
+This is a format control string that expects a single string argument
+specifying the label that is being referenced. The argument is
+generated automatically on export.
+
+The default is to wrap equations in parentheses (using \"\\eqref{%s}\)\".
+
+Most common values are:
+
+ \\eqref{%s} Wrap the equation in parentheses
+ \\ref{%s} Do not wrap the equation in parentheses"
+ :group 'org-export-html
+ :package-version '(Org . "9.4")
+ :type 'string
+ :safe t)
+
(defcustom org-html-with-latex org-export-with-latex
"Non-nil means process LaTeX math snippets.
@@ -3113,9 +3132,9 @@ INFO is a plist holding contextual information. See
(eq 'latex-environment (org-element-type destination))
(eq 'math (org-latex--environment-type destination)))
;; Caption and labels are introduced within LaTeX
- ;; environment. Use "eqref" macro to refer to those in
- ;; the document.
- (format "\\eqref{%s}"
+ ;; environment. Use "ref" or "eqref" macro, depending on user
+ ;; preference to refer to those in the document.
+ (format (plist-get info :html-equation-reference-format)
(org-export-get-reference destination info))
(let* ((ref (org-export-get-reference destination info))
(org-html-standalone-image-predicate