由于这个博客会记录一些看过的论文的分析和我自己的想法,所以不可避免的会在博客里面引入公式。最简单粗暴的方式就时贴图片,但这样会比较麻烦。那有没有更加优雅的方式来解决这个问题呢?
那就是使用Mathjax来解析用$Latex$编写的公式!
由于在GitHub中是使用Jekyll
来生成静态网页的,Jekyll
中引用Mathjax只需在_includes/head.html
的<head>...</head>
标签中加入如下代码
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
jax: ["input/TeX", "output/HTML-CSS"],
tex2jax: {
skipTags: ['script', 'noscript', 'style', 'textarea', 'pre', 'code'],
inlineMath: [ ['$','$'] ],
displayMath: [ ['$$', '$$'] ],
processEscapes: true
}
});
</script>
<script type="text/javascript" async
src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/latest.js?config=TeX-MML-AM_CHTML"></script>
参数具体含义请参见Mathjax config,另外在根目录下_config.yml
中最好将markdown
编辑器设置成kramdown
,因为这个解析器对Mathjax的支持比较好。
但是
在我的主页上利用$$...$$
编辑的行间公式居然没被解析出来,要么行间公式根本就直接消失,要么解析成了行内公式
问题的解决
在10多天查文档,试了各种解决方案之后,终于在StackOverflow里找到了原因(不得不说这个网站真的挺不错的)。具体请看这里Redefining displayMath delimiters to for MathJax does not work, using Jekyll and Github pages
解决办法居然就是在display math
前后空一行,然而这居然就是kramdown自带的功能啊~~~~