hexo下LaTeX无法显示的解决方案

今天写博客时需要用到LaTeX,但使用了晚上说的各种方法依然无法成功,折腾了一晚上终于可以了,给同样困惑的小伙伴一些参考。

配置信息

这是我的hexo版本和package信息(与LaTeX相关):

    "hexo": "^3.5.0",
    "hexo-math": "^3.0.4",
    "hexo-renderer-kramed": "^0.1.4",

安装插件

首先我们需要安装Mathjax插件

npm install hexo-math –save

更换Hexo的markdown渲染引擎,hexo-renderer-kramed引擎是在默认的渲染引擎hexo-renderer-marked的基础上修改了一些bug,两者比较接近,也比较轻量级。

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

解决语义冲突

由于LaTeX与markdown语法有语义冲突,在markdown中,斜体和加粗可以用*或者_表示,在这里我们修改变量,将_用于LaTeX,而使用*表示markdown中的斜体和加粗。
在博客根目录下,进入node_modules\kramed\lib\rules\inline.js,把第11行的escape变量的值做相应的修改:

  //escape: /^\\([\\`*{}\[\]()#$+\-.!_>])/,
  escape: /^\\([`*\[\]()#$+\-.!_>])/,

这一步是在原基础上取消了对,{,}的转义(escape)。
同时把第20行的em变量也要做相应的修改:

  //  em: /^\b_((?:__|[\s\S])+?)_\b|^\*((?:\*\*|[\s\S])+?)\*(?!\*)/,
  em: /^\*((?:\*\*|[\s\S])+?)\*(?!\*)/,

更改配置文件

这里是最重要的一步,我找了好久才在这个网站中找到适用的解决办法。
进入到主题目录,找到_config.yml配置问题,把mathjax默认的false修改为true,并更换cdn的url,具体如下:

# MathJax Support
mathjax:
  enable: true
  per_page: true
  #cdn: //cdn.bootcss.com/mathjax/2.7.1/latest.js?config=TeX-AMS-MML_HTMLorMML
  cdn: //cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS-MML_HTMLorMML

写博客

在每次需要用LaTeX渲染的博文中,在文章的Front-matter里打开mathjax开关,具体如下:

---
title: index.html
date: 2018-2-8 21:01:30
tags:
mathjax: true
--

测试

输入:

$$lim_{1\to+\infty}P(|\frac{1}{n}\sum_i^nX_i-\mu|<\epsilon)=1, i=1,...,n$$  

看是否能正常显示

最后,欢迎关注我的个人博客

  • 4
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 11
    评论
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值