diff options
author | Brian Powell <powellb@hawaii.edu> | 2020-04-20 09:49:12 -1000 |
---|---|---|
committer | Nicolas Goaziou <mail@nicolasgoaziou.fr> | 2020-04-21 19:44:03 +0200 |
commit | bc90264ac689150367f9e25717775afcf3648c7a (patch) | |
tree | 26a0ff8cf3e82ca2f7c28a780462aa91a376b977 | |
parent | 5afacc5fce272e0cbb59468cc1a602cddcadb91e (diff) | |
download | org-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.org | 1 | ||||
-rw-r--r-- | etc/ORG-NEWS | 9 | ||||
-rw-r--r-- | lisp/ox-html.el | 25 |
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 |