博客配置 LaTeX 过程中遇到的问题
本文最后更新于:2023年7月29日
记录一下博客配置 过程中遇到的问题。
Fluid 主题的
但是当我写完一篇文章发布后,我发现\overline
命令生成的上划线无端消失了,就像
有两种方案可以更改公式的显示方式:
- 读者手动更改,右键数学公式打开
扩展功能->Math settings->Math Renderer->SVG
。但是这样很不方便,并且我觉得不能依赖读者自己调节相关显示。 - 使网页默认以 SVG 格式显示。但是我完全不懂前端,利用 Hexo 和 Fluid 搭建的博客对我来说就像一个黑箱,我能做的只是修改配置文件中的一些参数,但是他们并没有把我想要的功能写进配置文件。因此这个方法也行不通。
秉持着“我遇到的问题一定有人也遇到过”的原则,我进行了进一步的搜索。
最后我在一篇博客中发现了解决办法。借助hexo-filter-mathjax
插件,我们就可以实现后端渲染。
首先卸载其他的公式相关插件,如hexo-math
,然后安装hexo-filter-mathjax
插件,建议配合hexo-renderer-pandoc
一起使用(本地可能也要装pandoc)。
1 |
|
其原理大概是渲染器 pandoc 会先将Markdown文件中的
添加physics
宏包支持
MathJax 从v3.0 开始支持braket 和 physics 宏包。对于笔者来说,physics
宏包是非常有用的,它定义了相当多的宏,让物理公式的输入更加方便快捷。也正因为它定义了相当多的宏, MathJax 默认状态下不支持该宏包。
hexo-filter-mathjax
插件提供了配置扩展的接口,但是我并不清楚应该填入什么样的内容。
1 |
|
最后经过摸索,找出了一个可行的办法:修改mathjax-full\js\input\tex\AllPackages.js
中的exports.AllPackages
,加入physics
,使其默认加载physics
宏包。
修改后的结果
1 |
|
但是这样无法避免设置在更新之后被覆盖!
笔者尚未找出更优雅的方式。
2022.07.30更新
作者在我提的 issue 中给出了配置说明,顺便我的 issue 帮他修了一个 bug(*▽*)。
按照作者给出的方法修改后就可以愉快地使用physics
宏包和其他宏包了。
hexo-filter-mathjax
在0.9.0版中已经修复上文提到的 issue 中的问题
1 |
|
一些感想
上文提到过,利用 Hexo 和 Fluid 搭建的博客对我来说就像一个黑箱,这样对于用户虽然简单,但也是一种束缚。
用户只能在作者的配置文件中做一些修改,很多涉及底层的修改都显得比较困难。
我们应该如何去看待这种黑箱呢?
其实这和现代社会很类似,我们并不理解它的底层逻辑,甚至我们也不了解每天随处可见的物品,比如手机的原理,公交车的调度等等。
那我们又应该以什么样的态度去看待我们的日常生活呢?