katex 库支持渲染 LaTeX 数学公式,可结合 markdown 使用。
LaTeX 数学公式
LaTeX 数学公式介绍:
- LaTeX 公式篇: https://zhuanlan.zhihu.com/p/110756681
- 如何在 Markdown 中用 LaTeX 写数学公式: https://zhuanlan.zhihu.com/p/353395236
katex 渲染库
使用时需要引入 css 文件
渲染公式为 html 串:
var html = katex.renderToString("c = \\pm\\sqrt{a^2 + b^2}", {
throwOnError: false,
});
自动对 dom 节点进行自动渲染:
计算时通过 dom 的语法和层级进行的,但这里的 dom 节点也不一定要真实的,可以通过 document.createElement
创建一个 dom 节点,设置 indexHTML
后传进去,实现html字符串转html字符串,而不需要真实的 dom 。
renderMathInElement(document.body, {
delimiters: [
{ left: "$$", right: "$$", display: true },
{ left: "$", right: "$", display: false },
{ left: "\\(", right: "\\)", display: false },
{ left: "\\[", right: "\\]", display: true },
],
});
支持 katex 的 markdown 资源
https://github.com/waylonflinn/markdown-it-katex
markdown-it-katex 这个原作者没有更新,可以找别人 fork 的版本,更新到了 katex 的新版。
http://www.mavoneditor.com/ mavonEditor 编辑器,内部也使用了 markdown-it-katex
不支持 katex 的编辑器,如 tui.editor ,可以把渲染交给 markdown-it 来进行,然后按 markdown 插入 katex 的语法来加上编辑层面的插件即可。