Mkdocs材料LaTeX无法在即时模式下渲染

时间:2020-07-29 03:16:51

标签: mkdocs

我正在Mkdocs Material主题中尝试使用KaTeX。关闭“即时模式”后,一切正常。但是,在instant mode中,仅呈现我首先输入的页面中的KaTeX,而其余的KaTeX(单击内部链接时加载)保留为纯文本,并带有定界符\(和{{1 }}。要渲染这些KaTeX,我必须刷新整个页面。我该如何解决?

我尝试了3种JavaScript,但是它们的行为均如上所述。

1。

\)
document.addEventListener('DOMContentLoaded', function() {
  renderMathInElement(document.body, {
    delimiters: [
      {left: '\\[', right: '\\]', display: true},
      {left: '$$', right: '$$', display: true},
      {left: '\\(', right: '\\)', display: false},
      {left: '$', right: '$', display: false},
    ]
  });
});

https://facelessuser.github.io/pymdown-extensions/extensions/arithmatex/#loading-katex

此外,Arithmatex扩展已打开。在document.onreadystatechange = function () { if (document.readyState == "complete") { renderMathInElement(document.body, { delimiters: [ {left: '\\[', right: '\\]', display: true}, {left: '$$', right: '$$', display: true}, {left: '\\(', right: '\\)', display: false}, {left: '$', right: '$', display: false}, ] }); } } 中:

mkdocs.yml

1 个答案:

答案 0 :(得分:0)

MathJax 3会自动处理此问题,并应立即使用Material的即时加载功能。有关设置说明,请参见https://squidfunk.github.io/mkdocs-material/reference/mathjax/#arithmatex

如果您希望在即时加载中使用另一个排版库而不捕获位置更改,则可以自己收听并通过添加一些其他JavaScript重新触发排版:

app.location$.subscribe(function() {
  // instant loading finished
})