Intro.
Hexo的主题配置文件默认不支持LaTex,且Markdown语法和LaTex语法存在一定冲突。
在Hexo中启用LaTex支持
在主题配置文件_config.yml
中找到Third Party Services Settings
,修改false
为ture
。
1 | mathjax: |
解决Markdown和LaTex的语法冲突
举例:
下划线_
在Markdown语法中是斜体标记,然而在LaTex中用来标记下标,转HTML文件中优先按Markdown语法处理,导致MathJax无法得到正确的LaTex语句。
解决方法:
在Hexo安装文件夹中找到/node_modules/marked/lib/
中的marked.js
,打开。
1.将
1 | escape: /^\\([\\`*{}\[\]()# +\-.!_>])/, |
替换为
1 | escape: /^\\([`*\[\]()#+\-._>])/, |
取消对\\
,\{
,\}
,\!
的转义。
2.将
1 | em: /^\b_((?:[^_]|__)+?)_\b|^\*((?:\*\*|[\s\S])+?)\*(?!\*)/, |
替换为
1 | em:/^\*((?:\*\*|[\s\S])+?)\*(?!\*)/, |
取消对_
等的识别。
注意: 这样无法使用_
作为 斜体 标记,可以使用*
。
部署测试
$$
\int\!\!\!\int_D dx\,dy \\
\int_D dx
$$