halo之latex无法正常显示的问题

Scroll Down

引言

今天本来想发一篇论文理解到博客上,但是当我点击发布之后才发现latex代码在网页上无法正常显示,我看论文一篇都是现在typora中把论文翻译一下,然后再仔细理解,这个问题让我很苦恼,于是我边开始日常打开搜索引擎,下面是我的解决办法(针对代码块,行内公式下面也会提到)。

方案一

$$ 代码 $$改成```math $$代码$$```
经过尝试这个方法对我行不通

方案二

参考:https://www.bookstack.cn/read/Halo/d96a639517b17403.md
在系统 -> 博客设置 -> 其他设置,将下面的代码复制到 自定义内容页面

<script src="//cdn.jsdelivr.net/npm/[email protected]/unpacked/MathJax.js?config=TeX-MML-AM_CHTML" defer></script>
    <script>
    document.addEventListener('DOMContentLoaded', function () {
        MathJax.Hub.Config({
            'HTML-CSS': {
                matchFontHeight: false
            },
            SVG: {
                matchFontHeight: false
            },
            CommonHTML: {
                matchFontHeight: false
            },
            tex2jax: {
                inlineMath: [
                    ['$','$'],
                    ['\\(','\\)']
                ],
                displayMath: [["$$", "$$"], ["\\[", "\\]"]]
            }
        });
    });
</script>

方案三

后面想从halo这个框架原理出发理解为什么latex无法在前台正常显示,在后台显示其实都是正常的,原因应该出在页面的渲染中,halo框架是由Java开发的,在markdown渲染过程中会对latex公式中的_ {}之类的符号进行转义,所以无法正常显示,那么也没有解决办法呢?
最终还是被我在github上找到了,解决这个问题要选择合适的theme,也就是halo的主题,我把原来的主题更换成hshan,发现行内公式就可以正常显示了,但是行间公式还是不能正常显示,然后我又尝试了第一种方法,在公式块前面加上
```math 就可以正常显示了,感谢github!

结语

github宝藏!!