next-theme / hexo-filter-mathjax

💯 Server side MathJax renderer plugin for Hexo.
https://www.npmjs.com/package/hexo-filter-mathjax
MIT License
104 stars 6 forks source link

不支持用\\或\\\\换行 #15

Closed qianbinbin closed 4 years ago

qianbinbin commented 4 years ago

使用 \\\\\\ 无法换行,hexo-renderer-marked / hexo-renderer-pandoc / hexo-renderer-kramed 都不行,使用的主题是 cactus。如果用 \\\ 的话会显示一个空格。 但是换成 hexo-renderer-mathjax + hexo-renderer-kramed / hexo-renderer-pandoc 就可以。不太懂前端,不知道什么原因。

stevenjoezhang commented 4 years ago

嗯,这是 MathJax 的已知问题,解决方案见: https://github.com/mathjax/MathJax/issues/2312

qianbinbin commented 4 years ago

谢谢。看来是 mathjax v3 还不支持,我看了下 hexo-renderer-mathjax 里的地址获取的是 v2。

stevenjoezhang commented 4 years ago

可以使用升级到 MathJax 3 之前的版本,例如

npm i hexo-filter-mathjax@0.2.0

旧版可能会产生额外的空行,需要删除

function optimizeMathjax() {
    var mjpage = document.getElementsByClassName('mjpage__block');
    for (var element of mjpage) {
        var next = element.nextSibling;
        if (next && next.nodeName.toLowerCase() === 'br') {
            next.parentNode.removeChild(next);
        }
    }
}

window.addEventListener('DOMContentLoaded', optimizeMathjax);
window.addEventListener('pjax:success', optimizeMathjax);
qianbinbin commented 4 years ago

谢谢,可以了。