Browse Source

MathJax: support euqation number

http://docs.mathjax.org/en/latest/tex.html#automatic-equation-numbering
Le Tan 7 years ago
parent
commit
f3ff862cfb

+ 2 - 1
src/resources/hoedown.js

@@ -85,7 +85,8 @@ var updateHtml = function(html) {
     // MathJax may be not loaded for now.
     if (VEnableMathjax && (typeof MathJax != "undefined")) {
         try {
-            MathJax.Hub.Queue(["Typeset", MathJax.Hub, contentDiv, postProcessMathJax]);
+            MathJax.Hub.Queue(["resetEquationNumbers",MathJax.InputJax.TeX],
+                              ["Typeset", MathJax.Hub, contentDiv, postProcessMathJax]);
         } catch (err) {
             content.setLog("err: " + err);
             finishOneAsyncJob();

+ 4 - 2
src/resources/markdown-it.js

@@ -169,7 +169,8 @@ var updateText = function(text) {
         }
 
         try {
-            MathJax.Hub.Queue(["Typeset", MathJax.Hub, eles, postProcessMathJax]);
+            MathJax.Hub.Queue(["resetEquationNumbers",MathJax.InputJax.TeX],
+                              ["Typeset", MathJax.Hub, eles, postProcessMathJax]);
         } catch (err) {
             content.setLog("err: " + err);
             finishOneAsyncJob();
@@ -254,7 +255,8 @@ var handleMathjaxReady = function() {
     }
 
     try {
-        MathJax.Hub.Queue(["Typeset", MathJax.Hub, eles, postProcessMathJaxWhenMathjaxReady]);
+        MathJax.Hub.Queue(["resetEquationNumbers",MathJax.InputJax.TeX],
+                          ["Typeset", MathJax.Hub, eles, postProcessMathJaxWhenMathjaxReady]);
     } catch (err) {
         content.setLog("err: " + err);
         finishOneAsyncJob();

+ 2 - 1
src/resources/marked.js

@@ -72,7 +72,8 @@ var updateText = function(text) {
     // finishLoading logic.
     if (VEnableMathjax) {
         try {
-            MathJax.Hub.Queue(["Typeset", MathJax.Hub, contentDiv, postProcessMathJax]);
+            MathJax.Hub.Queue(["resetEquationNumbers",MathJax.InputJax.TeX],
+                              ["Typeset", MathJax.Hub, contentDiv, postProcessMathJax]);
         } catch (err) {
             content.setLog("err: " + err);
             finishOneAsyncJob();

+ 2 - 1
src/resources/mathjax_preview.js

@@ -72,7 +72,8 @@ var previewMathJax = function(identifier, id, timeStamp, text, isHtml) {
     }
 
     try {
-        MathJax.Hub.Queue(["Typeset",
+        MathJax.Hub.Queue(["resetEquationNumbers",MathJax.InputJax.TeX],
+                          ["Typeset",
                            MathJax.Hub,
                            p,
                            [postProcessMathJax, identifier, id, timeStamp, p, isBlock]]);

+ 2 - 1
src/resources/showdown.js

@@ -117,7 +117,8 @@ var updateText = function(text) {
     // finishLoading logic.
     if (VEnableMathjax) {
         try {
-            MathJax.Hub.Queue(["Typeset", MathJax.Hub, contentDiv, postProcessMathJax]);
+            MathJax.Hub.Queue(["resetEquationNumbers",MathJax.InputJax.TeX],
+                              ["Typeset", MathJax.Hub, contentDiv, postProcessMathJax]);
         } catch (err) {
             content.setLog("err: " + err);
             finishOneAsyncJob();

+ 26 - 17
src/utils/vutils.cpp

@@ -796,6 +796,9 @@ QString VUtils::generateHtmlTemplate(const QString &p_template,
                      "                    TeX: {\n"
                      "                          Macros: {\n"
                      "                              bm: [\"\\\\boldsymbol{#1}\", 1]\n"
+                     "                          },\n"
+                     "                          equationNumbers: {\n"
+                     "                              autoNumber: \"AMS\"\n"
                      "                          }\n"
                      "                    },\n"
                      "                    messageStyle: \"none\"});\n"
@@ -884,29 +887,32 @@ QString VUtils::generateExportHtmlTemplate(const QString &p_renderBg,
     QString extra;
     if (p_includeMathJax) {
         extra += "<script type=\"text/x-mathjax-config\">\n"
-                         "MathJax.Hub.Config({\n"
-                             "showProcessingMessages: false,\n"
-                             "messageStyle: \"none\",\n"
-                             "SVG: {\n"
-                                 "minScaleAdjust: 100,\n"
-                                 "styles: {\n"
+                 "MathJax.Hub.Config({\n"
+                 "                    showProcessingMessages: false,\n"
+                 "                    messageStyle: \"none\",\n"
+                 "                    SVG: {\n"
+                 "                          minScaleAdjust: 100,\n"
+                 "                          styles: {\n"
 /*
 FIXME: Using wkhtmltopdf, without 2em, the math formula will be very small. However,
 with 2em, if there are Chinese characters in it, the font will be a mess.
 */
 #if defined(Q_OS_WIN)
-                                   "\".MathJax_SVG\": {\n"
-                                        "\"font-size\": \"2em !important\"\n"
-                                   "}\n"
+                 "                                   \".MathJax_SVG\": {\n"
+                 "                                                      \"font-size\": \"2em !important\"\n"
+                 "                                   }\n"
 #endif
-                                 "}\n"
-                             "},\n"
-                             "TeX: {\n"
-                             "    Macros: {\n"
-                             "        bm: [\"\\\\boldsymbol{#1}\", 1]\n"
-                             "    }\n"
-                             "}\n"
-                         "});\n"
+                 "                          }\n"
+                 "                    },\n"
+                 "                    TeX: {\n"
+                 "                          Macros: {\n"
+                 "                                   bm: [\"\\\\boldsymbol{#1}\", 1]\n"
+                 "                          },\n"
+                 "                          equationNumbers: {\n"
+                 "                                            autoNumber: \"AMS\"\n"
+                 "                          }\n"
+                 "                    }\n"
+                 "});\n"
                  "</script>\n";
 
         QString mj = g_config->getMathjaxJavascript();
@@ -969,6 +975,9 @@ QString VUtils::generateMathJaxPreviewTemplate()
                  "                    TeX: {\n"
                  "                          Macros: {\n"
                  "                              bm: [\"\\\\boldsymbol{#1}\", 1]\n"
+                 "                          },\n"
+                 "                          equationNumbers: {\n"
+                 "                              autoNumber: \"AMS\"\n"
                  "                          }\n"
                  "                    },\n"
                  "                    messageStyle: \"none\"});\n"