为typecho博客添加latex支持
使用了这个插件: https://github.com/zyuzhi/MarkdownKatex-typecho ,下载了 v1.0.1
,但是点击创建文章之后无法返回所有文章页面。另外博客首页也无法加载,禁用插件即恢复正常。懒的去追究原因了,索性不用插件改用其他方法。
我家里的一台机器也部署了 typecho,同样都是 docker compose 部署的,和当前 typecho 实例的区别大概就是
v1.2.0
vsv1.2.1
。家里机器上的 typecho 是 1.2.0,当前实例是 1.2.1,有可能是版本升级导致的原有插件失效,因为上述插件 GitHub 源代码是2018年左右最终打包到 release 发行的。
在 typecho v1.2.1
实例上测试如下方法可以为 typecho 博客添加 latex 支持。
方法参考: https://www.xrgzs.top/posts/typecho-use-mathjax-add-latex-support
修改当前主题的 footer.php
将以下代码添加到 footer.php </body>
关闭标签之前。我这个主题这个文件在 components/footer.php
。我上面参考的博客将这段脚本引用放在了 index.php,可能会引起 DOM 渲染紊乱,比如图片被拉长,主页 footer 在页面中间渲染。放在 footer.php
的 </body>
前,此时 DOM 已解析完成,图片布局已稳定,脚本加载不再影响初始渲染
<script async type="text/javascript"
src="//cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
</script>
修改当前主题的 header.php
将以下代码添加到 header.php 的适当位置。我这个主题这个文件在 components/header.php
。
<script async type="text/javascript"
src="//cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
</script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX", "output/HTML-CSS"],
tex2jax: {
inlineMath: [ ['$','$'], ["\\(","\\)"] ],
displayMath: [ ['$$','$$'], ["\\[","\\]"] ],
processEscapes: true
},
"HTML-CSS": { availableFonts: ["TeX"] }
});
</script>
mardown + latex 测试
牛顿第二定律
物体所受合外力 $\mathbf{F}$ 与其加速度 $\mathbf{a}$ 满足:
$$ \mathbf{F} = m\mathbf{a} = \frac{d\mathbf{p}}{dt} $$
其中:
- $m$ 为物体质量(单位:$\mathrm{kg}$)
- $\mathbf{p} = m\mathbf{v}$ 为动量(单位:$\mathrm{kg \cdot m/s}$)
- $t$ 为时间(单位:$\mathrm{s}$)
万有引力公式
两个质点间的引力大小:
$$ F = G\frac{m_1 m_2}{r^2} $$
式中普适常量: $G \approx 6.674 \times 10^{-11}\, \mathrm{m^3 \cdot kg^{-1} \cdot s^{-2}}$
