问题描述
在 Jupyter 里面编辑好的 Notebook 导出为 html 文件,但是发现文件里面的 LaTeX \LaTeX LATEX 公式没有渲染,保持原始显示。就像下面这样:
我估计在我之前应该已经有很多人发现了相同的问题而且已经找到了合适的解决方法,但是因为我不懂 html,在网上又没有找到相关的博客文章,所以愣是折腾了七八个小时。
导致问题的原因
这个问题很可能是由于 cdnjs.cloudflare
被封 / 被墙 / 屏蔽 / 打不开导致的。
在生成的 .html
文件里面有类似这样的代码:
<script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.1.10/require.min.js"></script>
这句话的作用是通过 cdnjs.cloudflare.com
这个 CDN 服务器的 URL 在网页中引入 require.js 这个 JavaScript 库文件,以便在页面中使用 require.js 提供的模块化功能。
如果我没搞错的话,这个地方就是说,如果出于某种原因无法连接到 cdnjs.cloudflare.com
,就会导致用于渲染 MathJax 的 JavaScript 库加载不出来。
解决的办法
参考知乎文章 cdnjs.cloudflare被封/屏蔽/打不开,有什么替代解决方案(国内优秀的开源js库CDN 加速服务网站大全),里面的方法均可用。
亲测最好用的办法是使用 cdnjs.loli.net/
替换 cdnjs.cloudflare.com/
。
然后问题就完美解决了。如下图,公式显示一切正常。