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 协议 ,转载请注明出处!