news 2026/9/10 7:29:54

KaTeX 网页LaTeX排版:4个扩展与1套接入方式,让公式在你的页面里跑起来

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
KaTeX 网页LaTeX排版:4个扩展与1套接入方式,让公式在你的页面里跑起来

KaTeX 网页LaTeX排版:4个扩展与1套接入方式,让公式在你的页面里跑起来

【免费下载链接】KaTeXFast math typesetting for the web.项目地址: https://gitcode.com/GitHub_Trending/ka/KaTeX

KaTeX 是一个面向网页的快速数学公式渲染库:你写 LaTeX 源码,它同步输出印刷级排版,没有依赖、不触发页面回流。下面按你实际会碰到的 4 个场景,讲清楚每个扩展解决什么问题,以及怎么接进来。

📝 正文里公式多到没法逐条手写:auto-render 自动扫描

你遇到的问题:博客、课程页、知识库文章里公式散落在正文中,你不可能每写一段就去手动调用一次渲染函数。

哪个能力解决:auto-render 扩展会扫描你指定 DOM 区域里的所有文本节点,按分隔符(默认$...$$$...$$)找到公式并就地渲染,自动跳过<pre>等标签。正文怎么写就怎么排版,你不用改内容结构。

怎么接入:页面里加载扩展后执行一行renderMathInElement(document.body),分隔符和要忽略的标签都能在参数里自定义,细节见 contrib/auto-render/README.md。

🧪 化学方程式写不出来:mhchem 补上 \ce

你遇到的问题2H2 + O2 -> 2H2O这类内容不是纯数学表达式,用普通 LaTeX 手写又长又难看。

哪个能力解决:mhchem 扩展把 LaTeX mhchem 包的\ce(化学方程式)和\pu(单位量值)带进 KaTeX,支持复杂方程式、同位素和命名表示。你直接写\ce{2H2 + O2 -> 2H2O},得到规范的化学式排版。

怎么接入:在katex.js之后加载一个脚本即可,写法参考 contrib/mhchem/ 里的说明。

✂️ 用户复制公式后没法带走源码:copy-tex 剪贴板增强

你遇到的问题:读者 Ctrl+C 你渲染好的公式,粘贴到别处只得到一串 HTML,LaTeX 源码丢了。

哪个能力解决:copy-tex 扩展拦截复制行为——复制时剪贴板里同时写入带分隔符的 LaTeX 源码和格式化内容,内联公式与块级公式的处理方式不同,粘贴到文档或论文里可以直接复用。

怎么接入:同样是一个脚本的事,实现代码在 contrib/copy-tex/,想看行为细节直接读源码。

🔁 老站用 MathJax 的写法,迁移成本高:mathtex-script-type 兼容

你遇到的问题:旧站点把公式写在<script type="math/tex">标签里(MathJax 的习惯做法),换成 KaTeX 后这些内容全不认。

哪个能力解决:mathtex-script-type 扩展让 KaTeX 直接接管这类既有 script 标签并渲染,内容一个字都不用改,适合做平滑迁移。

怎么接入:加载对应扩展脚本后,页面里原有的math/tex标签即被识别,参考 contrib/mathtex-script-type/。

🔩 最小接入组合:先核心,再按需加扩展

一套能跑的最小配置是:一份katex.css+ 核心katex.min.js+ 你需要的扩展脚本,全部走 CDN 或自托管同一版本。

能力什么时候用接入成本
核心 KaTeX任何公式渲染的地基1 个 CSS + 1 个 JS
auto-render静态正文里批量找公式多 1 个脚本 + 1 行调用
mhchem化学方程式、单位多 1 个脚本
copy-tex用户需要复制公式源码多 1 个脚本
mathtex-script-type从 MathJax 迁移多 1 个脚本

如果你的公式是在组件或服务端动态生成的,不用 auto-render:在 Node.js 里用katex.renderToString预渲染出 HTML 下发,浏览器端连 JS 都可以省掉——各环境输出一致,这正是 KaTeX 适合做 SSR 的原因。另外 contrib/render-a11y-string/ 可以为屏幕阅读器生成公式的朗读文本,做无障碍时留意一下。

⚠️ 避坑清单:四个新手最常踩的点

  1. 加载顺序:所有扩展脚本必须放在katex.js之后;mhchem 还要放在 auto-render 之前,否则\ce不会被识别。
  2. 版本要一致:核心与扩展来自不同版本时,容易出现命令失效或样式错乱的玄学问题。
  3. 渲染范围要收敛:长页面别无脑扫document.body全区,用ignoredTagsignoredClasses把范围限定在正文容器内,性能差距明显。
  4. CSS 和字体别漏:少了katex.min.css或字体文件,排版会直接散架;用了defer就全套统一用defer,别混着来。

把上表里符合你场景的那几行搬进页面,公式马上就能跑起来——剩下的问题,交给 docs/ 里的 API 与选项文档去查。

【免费下载链接】KaTeXFast math typesetting for the web.项目地址: https://gitcode.com/GitHub_Trending/ka/KaTeX

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/10 7:27:41

大模型推理中 Prefill 与 Decode 的本质差异与协同优化

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/10 7:24:43

Qwen-Agent 文档切块:阈值、重叠与缓存键

Qwen-Agent 文档切块&#xff1a;阈值、重叠与缓存键 【免费下载链接】Qwen-Agent Agent framework and applications built upon Qwen>3.0, featuring Function Calling, MCP, Code Interpreter, RAG, Chrome extension, etc. 项目地址: https://gitcode.com/GitHub_Tren…

作者头像 李华
网站建设 2026/9/10 7:21:09

高校党务系统SpringBoot+Vue实战:真实业务驱动的分层架构设计

简介&#xff1a;本资源是一套面向高校计算机专业学生与Java全栈初学者的党务管理系统课程设计/毕业设计实战项目&#xff0c;聚焦党组织数字化管理场景&#xff0c;完整覆盖党员管理、党费收缴、组织生活记录、党务公开等核心业务。压缩包共924个文件&#xff0c;含171个Java后…

作者头像 李华
网站建设 2026/9/10 7:20:56

TBOX远程车控落地:交叉编译、CAN通信与国密鉴权实战

简介&#xff1a;本资源是一份面向车联网初学者与毕设开发者的TBOX远程车控业务实战源码包&#xff0c;聚焦车端通信逻辑、指令解析与安全执行等核心能力训练&#xff0c;助力开发者快速切入智能网联汽车开发一线场景。压缩包共111个文件&#xff0c;以100个头文件&#xff08;…

作者头像 李华