katex-v0.10.0-beta更新!

(Katex)\tag{Katex}

Katex-logo

今年年中Katex-v0.10.0版本正式支持\tag标签(上图右侧就是😎)。因为katex之前不支持这个标签,好长时间以来笔者念念不忘mathjax的好,现在终于要断了这牵挂。

目前貌似还没有支持新特性的hexo-katex渲染器插件。这里笔者对markdown-it-plus的子插件@iktakahiro/markdown-it-katex做了一些修改,成功地在本站中引入最新的Katex release。


步骤

安装markdown-it-plus渲染器

首先根据如何在HEXO中渲染Latex数学公式的步骤1安装markdown-it-plus渲染器

安装@iktakahiro/markdown-it-katex插件

执行

1
npm install @iktakahiro/markdown-it-katex --save

因为原来waylonfinn的markdown-it-katex插件对新版本的katex支持性不好[1](亲测排版会有问题),所以这里安装iktakahiro修改的版本,这个版本支持katex v0.10.0

P.S. 实际上TobiasWalle声称更新了markdown-it-katex,使之支持katex v0.9.0,他的PR也被原作接受了。但不知怎么搞的支持性还是有问题。

引入Katex CSS

在你的当前主题文件夹中找到head的模板文件,在最后一行写入该CSS Link[2]

1
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.10.0-beta/dist/katex.min.css" integrity="sha384-9tPv11A+glH/on/wEu99NVwDPwkMQESOocs/ZGXPoIiLE8MU/qkqUcZ3zzL+6DuH" crossorigin="anonymous">

以Next主题为例(landscape主题可以参考如何在HEXO中渲染Latex数学公式,其实大同小异),打开:

1
/themes/next/layout/_partials/head/head.swig

在最后一行写入上面的CSS Link即可

引入katex js

首先在下载katex-v0.10.0-beta。解压到某个路径,如:

1
/home/usrname/katex

确保katex.min.js在这个路径中

然后打开markdown-it-katex的js文件:

1
你的博客位置/node_modules/@iktakahiro/markdown-it-katex/index.js

将语句:

1
var katex = require('katex');

修改为:

1
var katex = require('/home/usrname/katex/katex.min.js');

即可


渲染效果

原Latex语句:

1
2
3
4
5
6
7
8
9
\begin{aligned}
f_Y(y) & = f_X[h(y)]|h'(y)| \\[2ex]
& = f_X[h(y)]h'(y) \\[2ex]
& = \frac{1}{\theta}e^{-\frac{x}{\theta}}[\frac{dx}{dy}(-\frac{\theta}{ln(1-y)})] \\[2ex]
& = \frac{1}{\theta}e^{-\frac{-\frac{\theta}{ln(1-y)}}{\theta}}\frac{\theta}{1-y} \\[2ex]
& = \frac{1}{\theta}e^{ln(1-y)}\frac{\theta}{1-y} \\[2ex]
& = \frac{1-y}{\theta}\frac{\theta}{1-y} \\[2ex]
& = 1
\end{aligned}
1
2
\frac{1}{\sigma} 
\tag{this is a test}

渲染效果:

(1)fY(y)=fX[h(y)]h(y)=fX[h(y)]h(y)=1θexθ[dxdy(θln(1y))]=1θeθln(1y)θθ1y=1θeln(1y)θ1y=1yθθ1y=1\begin{aligned} f_Y(y) & = f_X[h(y)]|h'(y)| \\[2ex] & = f_X[h(y)]h'(y) \\[2ex] & = \frac{1}{\theta}e^{-\frac{x}{\theta}}[\frac{dx}{dy}(-\frac{\theta}{ln(1-y)})] \\[2ex] & = \frac{1}{\theta}e^{-\frac{-\frac{\theta}{ln(1-y)}}{\theta}}\frac{\theta}{1-y} \\[2ex] & = \frac{1}{\theta}e^{ln(1-y)}\frac{\theta}{1-y} \\[2ex] & = \frac{1-y}{\theta}\frac{\theta}{1-y} \\[2ex] & = 1 \end{aligned} \tag{1}

(this is a test)1σ\frac{1}{\sigma} \tag{this is a test}


  1. https://github.com/waylonflinn/markdown-it-katex/issues/21 ↩︎

  2. https://github.com/Khan/KaTeX/tree/v0.10.0-beta ↩︎

0%