这次彻底解决在Hexo中渲染MathJax数学公式出现的问题!!!

好家伙,这个问题已经困扰我好几个小时了。
网上的做法众说纷纭,有相似的东西,也有不同的。
这次我汇总一下。

具体的原因和过程可以看在Hexo中渲染MathJax数学公式这篇博客。

我遇到的问题是,在本地公式可以正常渲染。但是用hexo部署上去的时候,却又这么几种问题。

ok,分析一下几点原因。

  1. 渲染引擎缺失

渲染引擎更换一下。

npm uninstall hexo-renderer-marked --save
npm install hexo-renderer-kramed --save

似乎装这一个就可以了,但是似乎还有人装其他引擎的。

  1. 语义冲突

进入项目更目录下:

vim node_modules\kramed\lib\rules\inline.js

修改这么两行。

//  escape: /^\\([\\`*{}\[\]()#$+\-.!_>])/,
  escape: /^\\([`*\[\]()#$+\-.!_>])/
//  em: /^\b_((?:__|[\s\S])+?)_\b|^\*((?:\*\*|[\s\S])+?)\*(?!\*)/,
  em: /^\*((?:\*\*|[\s\S])+?)\*(?!\*)/
  1. 配置文件未将MathJax开启

这一步操作有些不同,但操作差不多,就是开启MathJax渲染。

# Mathjax数学公式
mathjax: true

# Katex数学公式(allpost设置为false时只有头部设置math:true的文章才开启)
katex:
  enable: true
  allpost: true
  copy_tex: true
  1. 公式语法有误
    如果上述操作全部完成,还是不能成功,看看有没有语法问题。

比如,我遇到的问题,如果在公式内连续使用两个花括号,必须加上空格。

如下面的会渲染失败。

$$L_p  = (\sum_{i=1}^m |x_i - y_i |^{p}  )^{{\tfrac{1}{p}}}$$

在连续的花括号之间加上空格即可。

$$L_p  = (\sum_{i=1}^m |x_i - y_i |^{p}  )^{ {\tfrac{1} {p} } }$$
  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值