如果你能看到下面的公式而不是由$符号包裹的代码就证明我已经解决了目前的问题,不过可能还有问题但是能运行就行
行内公式test:$A_b^c$
行间公式test:
$$
\begin{aligned}
\mathcal{F}{f(t)} &= \int_{-\infty}^{\infty} f(t) e^{-i\omega t} dt \\
\lim_{n \to \infty} \left(1 + \frac{1}{n}\right)^n &= e
\end{aligned}
$$
我们写完了md文档想要复制到博客中结果发现所有的公式都变成了美元符号下的代码, 当场红温也改不出来怎么回事, 只能呜呜呜呜好可怜啊.
那么废话不多说. 在我和暮念wztxy的测试下,对WordPress下渲染数学公式的功能进行了一些测试.
由于网上的一些解决方案已经无法使用,所以我们自食其力,得到了一个相对较为完善的方案.
WordPress在渲染数学公式LaTeX格式遇到了如下问题:
——使用自带的Mathjax2,无插件渲染数学公式会出现能渲染行内公式能渲染行间公式但不支持多行行间公式
——使用自带的KaTeX,无插件渲染数学公式仅能渲染行内公式,不支持行间公式
——不使用自带的渲染,仅使用MathJax-LaTeX插件后只能渲染行间公式且支持多行和一些公式环境,但是不支持行内公式
额感觉他存心整我哈…
虽说[latex
]应该是可以渲染的, 但是我们写完md都是用的美元环境, 全部换为[latex
]未免有些过于麻烦了…
最后经过了几遍试错,决定放弃使用自带的渲染公式方案而使用MathJax-LaTeX插件配合脚本解决问题.
首先选择不启用渲染.
在插件->安装新插件->搜索MathJax-LaTeX->安装后启用
接着使用脚本,外观->主题文件编辑器->主题页眉(header.php)
,找到<head>
, 在它的前面加上下面代码
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
tex2jax: {
inlineMath: [ ['$','$'], ["\\(","\\)"] ],
displayMath: [ ['$$','$$'], ["\\[","\\]"] ],
},
});
</script>
记得点击更新文件.
那么接下来应该就可以正常显示行内公式和复杂的行间公式了.
问题基本解决
但是我们也发现了一些问题——
首先是一些内置的LaTeX语法不支持了, 例如\bm
或者\textup{}
等, 不过我们在写blog时候基本很少使用这些,基本上解决掉数学公式问题就可以了, 所有这些我们忽略不计, 尽量不使用这些latex代码.
其次是不同建站模版对插件的支持程度不一样——
我使用Argon建站, 对于插件的配置为Force Load
打钩, 而不用在每个需要LaTeX渲染的文章的任意位置放[mathjax
]启用全局渲染, 我经过多次测试应该是没问题的.
而暮念wztxy使用sakurairo建站, 测试后发现给Force Load
打钩的方案不会启用自动渲染,会卡死,即只渲染第一次,后面的文章都不会再渲染(?), 因此使用sakurairo建站,我的建议是给Force Load
取消打钩,在需要LaTeX渲染的文章的任意位置放[mathjax
]启用全局渲染.
目前的解决方案虽然不是完美的,但也是在兼顾多种因素下的一个较好方案!
俗话所得好, 能跑就行!!!
评论