मैंने से स्वीकृत (अपडेटेड) उत्तर को अनुकूलित करके प्रतिक्रिया में गतिशील रूप से MathJax को आयात किया प्रतिक्रिया में स्क्रिप्ट टैग जोड़ना /JSX, अर्थात्:

const MathJaxScript =() => {
  const script = document.createElement('script');
  script.type = "text/javascript";
  script.src = 'https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js';
  script.async = true;

  var config = 'MathJax.Hub.Config({' +
                 'extensions: ["tex2jax.js","TeX/AMSmath.js","TeX/AMSsymbols.js"],' +
                 'jax: ["input/TeX","output/HTML-CSS"],' +
               'tex2jax: {inlineMath: [ ["$","$"], ["\\(","\\)"] ],displayMath: [ ["$$","$$""], ["\\[","\\]"] ],processEscapes: true}});'
               +
               'MathJax.Hub.Startup.onload();'
               ;
      document.body.appendChild(script);
    return () => {
      document.body.removeChild(script)
    }
};
export default MathJaxScript;

लाटेक्स अब मेरे पृष्ठों पर अच्छी तरह से प्रदर्शित होता है, लेकिन जब मैं सामग्री को अद्यतन करता हूं, तो नई लाटेक्स सामग्री को मैथजेक्स द्वारा पार्स नहीं किया जाता है। ऐसा करने के लिए मुझे MathJax.Hub.Queue(["Typeset",MathJax.Hub]); पर कॉल करना होगा। मेरे वर्तमान सेटअप का उपयोग करके MathJax.Hub तक पहुंचने का सबसे अच्छा तरीका क्या है?

0
Nre 18 अप्रैल 2020, 13:41

1 उत्तर

सबसे बढ़िया उत्तर

पीटर की टिप्पणी का उपयोग करके, मैं इसका उपयोग करके मैथजेक्स को लोड करने में सक्षम था:

const MathJaxScript =() => {
  const script = document.createElement('script');
  script.type = "text/javascript";
  script.src = 'https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js';
  script.async = true;
};
export default MathJaxScript;

फिर स्क्रिप्ट को कॉल करने के बाद,

window.MathJax={tex: {inlineMath: [["$", "$"], ["\\(", "\\)"]],packages: ["base", "newcommand", "configMacros"]},svg: {fontCache: "global"}};

कॉन्फ़िगरेशन बदलने के लिए।

मुझे एहसास हुआ कि यह वास्तव में जारी नवीनतम दस्तावेज़ प्रतीत होता है: https://docs.mathjax.org/_/downloads /en/v3.0-latest/pdf/

0
Nre 21 अप्रैल 2020, 09:45