//- Mathjax 4/5 - const { tags, enableMenu } = theme.math.mathjax script. (() => { const loadMathjax = () => { if (!window.MathJax) { window.MathJax = { loader: { load: [ // Four font extension packages (optional) //- '[tex]/bbm', //- '[tex]/bboldx', //- '[tex]/dsfont', '[tex]/mhchem' ], paths: { 'mathjax-newcm': '[mathjax]/../@mathjax/mathjax-newcm-font', //- // Four font extension packages (optional) //- 'mathjax-bbm-extension': '[mathjax]/../@mathjax/mathjax-bbm-font-extension', //- 'mathjax-bboldx-extension': '[mathjax]/../@mathjax/mathjax-bboldx-font-extension', //- 'mathjax-dsfont-extension': '[mathjax]/../@mathjax/mathjax-dsfont-font-extension', 'mathjax-mhchem-extension': '[mathjax]/../@mathjax/mathjax-mhchem-font-extension' } }, output: { font: 'mathjax-newcm', }, tex: { inlineMath: [['$', '$'], ['\\(', '\\)']], tags: '!{tags}', packages: { '[+]': [ 'mhchem' ] } }, chtml: { scale: 1.1 }, options: { enableMenu: !{enableMenu}, menuOptions: { settings: { enrich: false // Turn off Braille and voice narration text automatic generation } }, renderActions: { findScript: [10, doc => { for (const node of document.querySelectorAll('script[type^="math/tex"]')) { const display = !!node.type.match(/; *mode=display/) const math = new doc.options.MathItem(node.textContent, doc.inputJax[0], display) const text = document.createTextNode('') node.parentNode.replaceChild(text, node) math.start = {node: text, delim: '', n: 0} math.end = {node: text, delim: '', n: 0} doc.math.push(math) } }, ''] } } } const script = document.createElement('script') script.src = '!{url_for(theme.asset.mathjax)}' script.id = 'MathJax-script' script.async = true document.head.appendChild(script) } else { MathJax.startup.document.state(0) MathJax.texReset() MathJax.typesetPromise() } } btf.addGlobalFn('encrypt', loadMathjax, 'mathjax') window.pjax ? loadMathjax() : window.addEventListener('load', loadMathjax) })()