KaTeX
KaTeX 是一个快速,易于使用的JavaScript库,用于在Web上进行TeX数学渲染。
支持大部分LaTeX语法,并且有在各个终端上的实现。
支持的表达式
https://katex.org/docs/supported.html
在线测试
常用公式
WEB中使用
https://github.com/KaTeX/KaTeX
示例
1 | katex.render( |
Web整页渲染
https://github.com/KaTeX/KaTeX/releases
自动整页渲染
1 |
|
也可以使用官方镜像
1 | <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.16.9/dist/katex.min.css" integrity="sha384-n8MVd4RsNIU0tAv4ct0nTaAbDJwPJzDEaqSD1odI+WdtXRGWt2kTvGFasHpSy3SV" crossorigin="anonymous"> |
Vue下使用
https://github.com/lucpotage/vue-katex
安装
1 | # With NPM |
引用
1 | import Vue from 'vue'; |
自定义配置
1 | Vue.use(VueKatex, { |
输出模式支持
- htmlAndMathml
- html
- mathml
使用
在模版中:
1 | <div v-katex="'\\frac{a_i}{1+x}'"></div> |
只渲染:
1 | <div v-katex:display="'\\frac{a_i}{1+x}'"></div> |
添加options配置:
1 | <div v-katex="{ expression: '\\frac{a_i}{1+x}', options: { throwOnError: false }}"></div> |
组件
1 | <katex-element expression="'\\frac{a_i}{1+x}'"/> |
Android下使用
https://github.com/judemanutd/KaTeXView
添加依赖
1 | dependencies { |
使用
1 | <com.judemanutd.katexview.KatexView |
赋值
1 | val text = "$$ c = \\pm\\sqrt{a^2 + b^2} $$" |
经测试
该库的公式分割符只支持
$$
,公式的前后都要添加。公式显示模式是块模式,会换行,目前还没找到实现行模式的方法。
组件是继承Webview实现的,所以网页的标签都支持。
MathJax
这个库目前只支持Web端。
Github
https://github.com/MathJax/MathJax
在线测试
搜索mathjax
使用示例
这里没有在项目中引用库的原因在于库文件太大了,都20M了。
1 |
|
对比
- KaTeX的整体性能要优于MathJax。
KaTeX库文件的大小也远远小于MathJax。
MathJax默认支持整页渲染,KaTeX可以通过插件支持整页渲染。
- MathJax本身不提供Android端的,KaTeX提供Android端,但是提供的库只支持块级公式渲染。
- MathJax支持的渲染目标格式比较全,KaTeX渲染的目标格式比较单一。
总之
更推荐使用KaTeX。