在 Hexo 中插入 LaTeX 数学公式
由于最近开始学习机器学习,同时想利用博客做点笔记,并且经常会出现大量数学公式,而原生 Hexo 并不支持 LaTeX 公式,但通过一些插件可以解决这个问题,如 MathJax。所以本文主要说明如何在 Hexo 中利用 MathJax 显示数学公式以及如何解决其中遇到的一些冲突问题。
插件安装
安装方法如下:
1 | npm install hexo-math --save |
执行:
1 | hexo math install |
在 _config.yml
中添加:
1 | plugins: |
另外,有些 Hexo 主题是自带 MathJax 的,如本站使用的主题 NexT。这样的话就简单了,只需要在主题配置文件 _config.yml
中找到 Third Party Services Settings
,将 false
改为 ture
。如下:
1 | mathjax: |
之后就可以在 markdown 中插入 LaTeX 数学公式了。
使用 MathJax 插入数学公式
具体用法请见 Hexo MathJax 插件。
解决 Hexo 与 LaTeX 语法冲突问题
问题描述:
有些时候会出现无法正确渲染的问题,原因是当遇到某些特殊符号时,如 \
或者 _
,转 HTML 文件中优先按 Markdown 语法处理,导致 MathJax 无法得到正确的 LaTeX 语句。
解决方法:
找到 /node_modules/marked/lib/
中的 marked.js
作如下修改:
修改 escape
1
2# escape: /^\\([\\`*{}\[\]()# +\-.!_>])/,
escape: /^\\([`*\[\]()#+\-._>])/,修改 em
1
2# em: /^\b_((?:[^_]|__)+?)_\b|^\*((?:\*\*|[\s\S])+?)\*(?!\*)/,
em:/^\*((?:\*\*|[\s\S])+?)\*(?!\*)/,
这样就取消了对某些特殊字符的转义。
测试效果
1 | $$\int_{0}^{\frac{\pi}{2}}dxdy$ |