Hexo-在文章里显示的数学公式
本文最后更新于:2020年9月27日 晚上
问题
hexo默认使用hexo-renderer-marked引擎去渲染网页,它会把利用Markdown语法写的文本去转换为相应的html标签。
在利用Markdown写MathJax公式的时候,经常会用到下划线_表示下标,但是下划线_会被hexo的默认引擎hexo-renderer-marked渲染成html中的<em>标签,表示斜体。
这样一来,我们写的MathJax公式就被错误渲染了,也就没办法正确显示出来。
解决
更换 Markdown 渲染器
- 卸载原渲染器
1
npm uninstall hexo-renderer-marked --save - 安装新渲染器
1
npm install hexo-renderer-kramed --save在编写时启用
对于需要用到MathJax公式的文章,要在Front-matter中打开MathJax开关,例如:需要注意的是,如果主题里整合了这个东西,可能关键词不是1
2
3
4
5---
title: Hexo-在文章里显示的数学公式
date: 2020-06-04 23:32:17
mathjax: true
---mathjax,具体看主题的说明
MathJax公式语法
中文文档
https://mathjax-chinese-doc.readthedocs.io/en/latest/
常用语法
| 符号 | 释义 | 测试用例 | 最终效果 |
|---|---|---|---|
| ^ | 上标 | x{yz}=(1+ex){-2xy^w | $ x{yz}=(1+ex){-2xy^w} $ |
| _ | 下标 | CO_2 | $CO_2$ |
| \frac{分子}{分母} or 分子 \over 分母 | 分数 | f(x,y,z)=3y2z(3+\frac{7x+5}{1+y2}) | $ f(x,y,z)=3y2z(3+\frac{7x+5}{1+y2}) $ |
| \sqrt[根指数,省略时为2]{被开方数} | 开方 | \sqrt{2}、\sqrt[3]{9} | $\sqrt{2}、\sqrt[3]{9}$ |
| \ldots | 与文本底线对齐的省略号 | x_1x_2{\ldots}x_n | $x_1x_2{\ldots}x_n$ |
| \cdots | 与文本中线对齐的省略号 | x_1x_2{\cdots}x_n | $x_1x_2{\cdots}x_n$ |
| \int_积分下限^积分上限(被积表达式) | 积分 | \int_1^2n{x2}dx | $ \int_1^2n{x2}dx $ |
f(x)=\begin{cases}语句1\\语句2\\...\end{cases} |
分段函数 | f(n)=\begin{cases}n/2, & \text{如果$ x<=2 $}\\3n+1, & \text{如果$ x>2 $}\end{cases} |
$$ f(n)=\begin{cases}n/2, & \text{如果$ x<=2 $}\3n+1, & \text{如果$ x>2 $}\end{cases}$$ |
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!