资讯动态

快速配齐 KaTeX 生态的 5 件装备:从自动渲染到化学公式

发布时间:2026/9/10 7:31:31 来源:尧图企业网站定制
快速配齐 KaTeX 生态的 5 件装备从自动渲染到化学公式【免费下载链接】KaTeXFast math typesetting for the web.项目地址: https://gitcode.com/GitHub_Trending/ka/KaTeXKaTeX 干的事情很专一在网页上快速把 LaTeX 数学排版成 HTML 和 MathML。当你把核心 API 用熟之后真正的效率提升来自仓库contrib/目录里这 5 个官方扩展——它们覆盖了自动注入页面、专业领域公式、交互与无障碍三类需求全部由核心团队维护一行 script 标签即可加载不需要任何额外构建。 让内容自动生效正文里的公式自己渲染最常见的痛点是页面上公式很多你得手动遍历 DOM、逐个调用katex.render动态内容一更新维护就崩溃。下面这两个工具把手动调用变成加载即生效。auto-render3 行代码不再逐条渲染公式你不再需要自己写循环找公式、再逐条调用katex.render——它会遍历指定元素下的全部文本节点按分隔符切分并在原位置替换渲染。默认支持$$、\(块级/行内ignoredTags 跳过脚本与代码块解析报错走回调不阻塞页面renderMathInElement(document.body, { delimiters: [ {left: $$, right: $$, display: true}, {left: $, right: $, display: false} ], ignoredTags: [script, noscript] });注意行内$...$默认是关闭的源码里这一条被注释掉了必须自己在delimiters里补上否则行内公式会原样显示。全部选项见 docs/autorender.md源码在 contrib/auto-render/。mathtex-script-typeMathJax 式 script 标签零迁移老页面里如果公式都写在script typemath/tex里MathJax 的经典用法没有它你得逐个改公式的写法有了它这些标签加载完直接被替换成渲染结果。自动识别typemath/tex的 script带; modedisplay输出块级 div解析失败时降级显示 TeX 原文script typemath/texx\sqrt{1-x^2}/script script typemath/tex; modedisplay\int_a^b x\,dx/script script defer srckatex.min.js/script script defer srccontrib/mathtex-script-type.min.js/script它不监听 DOM 就绪事件、加载时立即执行所以公式标签必须已在 body 中建议放在 body 末尾。源码仅 23 行直接读 contrib/mathtex-script-type/mathtex-script-type.js 就能看全逻辑。 让输出更专业领域公式各有一件专用工具核心 KaTeX 到位后常规数学表现是够看的矩阵、分段大括号、嵌套分式的渲染质量仓库自带的测试截图可以直接当参考标准。但像化学方程式这种领域内容核心并不认识\ce这就是 mhchem 出场的位置。mhchem用 \ce 一条命令排化学方程式你不用再手动拼同位素下标、电荷上标和反应箭头——按 mhchem 包的语法直接写排版细节它全处理。\ce写化学方程与同位素\pu处理 SI 单位与 LaTeX mhchem 包语法兼容script defer srckatex.min.js/script script defer srccontrib/mhchem.min.js/script script katex.render(\\ce{2H2 O2 - 2H2O}, el); /script仓库测试图里这种反应箭头含可伸缩的双向箭头和上下标注就是该生态的典型输出效果源码在 contrib/mhchem/mhchem.js语法细节和\cf弃用说明看 contrib/mhchem/README.md。️ 让交互更顺滑复制与朗读都有人管copy-tex复制公式自动得到 LaTeX 源码默认情况下从渲染结果里复制一段公式拿到的是碎 HTML加载这个扩展后剪贴板里直接变成原始 TeX 源码粘贴到任何支持 LaTeX 的地方都是完整公式。全局接管 copy 事件无需手动绑定纯文本写 TeXHTML 版本原样保留选区落在公式内部时自动扩到整条公式script defer srckatex.min.js/script script defer srccontrib/copy-tex.min.js/script没有任何可调 API加载即生效逻辑全部在 contrib/copy-tex/copy-tex.ts 这 40 多行里。render-a11y-string屏幕阅读器能听懂的公式描述屏幕阅读器面对 KaTeX 渲染出来的一堆 span 时只能读出乱码这个工具遍历解析树生成语义完整的朗读文本比如\frac{1}{2}变成 start fraction, 1, divided by, 2, end fraction你把它写进aria-label或朗读层即可。基于解析树生成语义描述逗号切分朗读节奏利于断句可传入自定义设置如 throwOnErrorimport {renderA11yString} from katex/contrib/render-a11y-string; const text renderA11yString(\\frac{1}{2}); // start fraction, 1, divided by, 2, end fraction700 多行的符号映射表就在 contrib/render-a11y-string/render-a11y-string.ts想加自定义朗读词从这里改起。 三步跑通克隆仓库并构建出 dist 产物只读使用即可git clone https://gitcode.com/GitHub_Trending/ka/KaTeX cd KaTeX pnpm install pnpm build在页面里按核心 → mhchem → auto-render的顺序引用dist/katex.min.js和dist/contrib/下对应的扩展文件或用 npm 的katex/contrib/xxx入口引入。用自带命令行验证渲染链路是否通echo \frac{1}{2} | node cli.js踩坑速查加载顺序mhchem 必须放在 katex 之后、auto-render 之前顺序反了\ce不会被注册。版本对齐扩展与核心同版本号当前 0.18.2混用不同大版本的 dist 产物容易出隐性错位。分隔符默认值auto-render 默认不开行内$...$忘记配置时行内公式会隐身。渲染范围大页面务必用ignoredTags/ignoredClasses圈定扫描范围否则全文本节点遍历会拖慢首屏。 资源索引docs/api.mdrender/renderToString等核心入口的参数参考docs/options.mddisplayMode、macros 等全部渲染选项说明docs/supported.md支持命令清单用前查一眼再写docs/autorender.mdauto-render 的分隔符与完整选项contrib/全部 5 个官方扩展的源码目录日常写文章和文档auto-render 加 copy-tex 两个组合就能覆盖 80% 的场景内容偏化学、物理方向再把 mhchem 换进来。下一步就一件事打开 docs/autorender.md把delimiters改成你自己的标记习惯——这是融入 KaTeX 生态成本最低的一步。【免费下载链接】KaTeXFast math typesetting for the web.项目地址: https://gitcode.com/GitHub_Trending/ka/KaTeX创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价