前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用LaTex添加公式到Hexo博客里

使用LaTex添加公式到Hexo博客里

作者头像
AomanHao
发布2022-01-14 08:54:19
4730
发布2022-01-14 08:54:19
举报
文章被收录于专栏:ISP图像处理相关

使用LaTex添加公式到Hexo博客里 <font color = blue>代码编辑器,强烈推荐使用微软的 VS code,相比Atom开启迅速,使用方便,扩展丰富</font>

第一步: 安装Kramed

hexo 默认的渲染引擎是 marked,但是 marked 不支持 mathjax。,所以需要更换Hexo的markdown渲染引擎为hexo-renderer-kramed引擎,后者支持mathjax公式输出。

代码语言:javascript
复制
npm uninstall hexo-renderer-marked --save
npm install hexo-renderer-kramed --save

第二步:更改文件配置

打开/node_modules/hexo-renderer-kramed/lib/renderer.js,更改:

代码语言:javascript
复制
// Change inline math rule
function formatText(text) {
    // Fit kramed's rule: $$ + \1 + $$
    return text.replace(/`\$(.*?)\$`/g, '$$$$$1$$$$');
}

为,直接返回text

// Change inline math rule
function formatText(text) {
    return text;
}

第三步: 停止使用 hexo-math,并安装mathjax包

卸载hexo-math

代码语言:javascript
复制
npm uninstall hexo-math --save

安装 hexo-renderer-mathjax 包

代码语言:javascript
复制
npm install hexo-renderer-mathjax --save

第四步: 更新 Mathjax 的 配置文件

打开/node_modules/hexo-renderer-mathjax/mathjax.html 如图所示更改<script>为: 即注释掉<script>代码,并把以下代码复制到对应位置

代码语言:javascript
复制
<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-MML-AM_CHTML"></script>

第五步: 更改默认转义规则

因为LaTeX与markdown语法有语义冲突,所以 hexo 默认的转义规则会将一些字符进行转义,所以我们需要对默认的规则进行修改. 打开/node_modules\kramed\lib\rules\inline.js 1、

代码语言:javascript
复制
escape: /^\\([\\`*{}\[\]()#$+\-.!_>])/,

更改为

代码语言:javascript
复制
escape: /^\\([`*\[\]()# +\-.!_>])/,

2、

代码语言:javascript
复制
em: /^\b_((?:__|[\s\S])+?)_\b|^\*((?:\*\*|[\s\S])+?)\*(?!\*)/,

更改为

代码语言:javascript
复制
em: /^\*((?:\*\*|[\s\S])+?)\*(?!\*)/,

第六步: 开启mathjax

打开/themes/yilia 主题目录下的config.yml文件 因为我用的yilia主题,所以路径是/themes/yilia

我们需要在config.yml文件 中开启 Mathjax, 找到 mathjax 字段添加如下代码:(不同的主题配置方法略微有区别)

代码语言:javascript
复制
mathjax:
    enable: true

或者

代码语言:javascript
复制
mathjax: true

<font color = red size="2">注意的是:,无论是配置文件还是博客文件,配置项跟配置参数均有有一个空格,否则会配置失败</font> 例:

代码语言:javascript
复制
mathjax: true(mathjax:空格true)
而不是
mathjax:true(mathjax:true)

写博客文件时,要开启 Mathjax选项,, 添加以下内容:

代码语言:javascript
复制
mathjax: true

例如

代码语言:javascript
复制
title: 特征提取——局部特征
date: 2018-07-16 09:39:40
tags: [GitHub, Mysql]
mathjax: true

如下图所示

通过以上步骤,我们就可以在 hexo 中使用 Mathjax 来书写数学公式。

效果展示:

参考文章1 参考文章2

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018 年 07 月,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 第一步: 安装Kramed
  • 第二步:更改文件配置
  • 第三步: 停止使用 hexo-math,并安装mathjax包
  • 第四步: 更新 Mathjax 的 配置文件
  • 第五步: 更改默认转义规则
  • 第六步: 开启mathjax
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档