MathJax与Markdown的融合 链接到标题

前几天笔者使用的是田少晗的个人博客,严格按照上面的指示配置,不过在coder主题中他博客中说的extend_head.html是我coder主题下的head.html,这无大碍。

使用coder主题修改配置 链接到标题

我记得coder的示例网址有提到使用KaTeX来渲染公式,但是一直没有找到,于是将其github网址喂给ai,ai告诉我,直接在hugo.toml里面的[para]里面加入一行代码

#[params](定位到这里)
  math = true

即可,然后就可以在博客里面显示公式了,像这样:

$$ \varTheta’’+\cot\theta\varTheta’+\left[n(n+1)-\frac{m^2}{\sin^2\theta}\right]\varTheta=0
$$

或者下面这样

$$ y_2=\sum_{m=0}^{\frac{n-1}{2}}(-1)^m\frac{(2n-2m-1)!}{2^nm!(n-m)!(n-2m-1)!}x^{n-2m} $$

也可以是这个公式

值得注意一些事情:

  • 这是markdown,因此在使用公式的时候不能像$\LaTeX$那样太随意,比如上面的那段话,如果写成
$$
   \varTheta''+\cot\theta\varTheta'+\left[n(n+1)-\frac{m^2}{\sin^2\theta}\right]\varTheta=0     
$$
或者下面这样
$$
       y_2=\sum_{m=0}^{\frac{n-1}{2}}(-1)^m\frac{(2n-2m-1)!}{2^nm!(n-m)!(n-2m-1)!}x^{n-2m}
$$

显示结果如下

$$ \varTheta’’+\cot\theta\varTheta’+\left[n(n+1)-\frac{m^2}{\sin^2\theta}\right]\varTheta=0
$$ 或者下面这样 $$ y_2=\sum_{m=0}^{\frac{n-1}{2}}(-1)^m\frac{(2n-2m-1)!}{2^nm!(n-m)!(n-2m-1)!}x^{n-2m} $$ 即会误将文字部分变成了公式,而应该被渲染的公式却以源码形式呈现了。

$$
    \varTheta''+\cot\theta\varTheta'+\left[n(n+1)-\frac{m^2}{\sin^2\theta}\right]\varTheta=0     
$$

或者下面这样

$$
        y_2=\sum_{m=0}^{\frac{n-1}{2}}(-1)^m\frac{(2n-2m-1)!}{2^nm!(n-m)!(n-2m-1)!}x^{n-2m}
$$

才可以正确显示。

  • KaTeX功能还是有限的,貌似并不支持大括号括起来的那一种换行,并且对于一些极其复杂的公式可能会渲染很久,比如下面这个(你应该看到的是源码,估计是太庞大渲染不出来了)。

    $$ K_n(x)=\frac{1}{2}\sum_{m=0}^{n-1}\frac{(-1)^m(n-m-1)!}{m!}\left(\frac{x}{2}\right)^{2m-n}+(-1)^{n+1}\sum_{m=0}^{+\infty}\frac{\left(\frac{x}{2}\right)^{n+2m}}{m!(n+m)!}\left[\ln \frac{x}{2}-\frac{1}{2}\varPsi (m+1)-\frac{1}{2}\varPsi(n+m+1)\right]

$$

因此要打公式的地方还是借助$\LaTeX$吧,KaTeX不是打公式最好的选择,只能说是打在网页上的最优解而已。