TeX Render

📐 LaTeX公式一键渲染PNG

将LaTeX数学公式实时渲染为PNG图片,支持MathJax编译与SVG转换,适用于文档、演示文稿等场景,一键生成可嵌入的高质量公式图像。

收藏
5.1k
安装
1.8k
版本
1.0.2
CLS 安全扫描中
预计需要 3 分钟...

使用说明

核心用法

tex-render 是一款专为LaTeX数学公式可视化设计的工具技能,采用 MathJax (TeX→SVG) 与 svg2img (SVG→PNG) 双阶段转换架构。用户通过命令行传入LaTeX表达式,脚本自动完成编译、渲染与格式转换,最终输出标准PNG图像文件及可选的SVG矢量图。

典型工作流程
1. 识别响应中需可视化的LaTeX公式(支持 $$...$$$...$、\[...\]、\(...\) 等包裹格式)

2. 执行渲染命令:node .../tex-render/scripts/render.js "<LaTeX>" [输出路径]

3. 解析stdout返回的JSON获取 png 文件路径

4. 将PNG图像嵌入回复,最终以纯文本形式完成解释(不再包含原始LaTeX代码)

关键特性

  • 智能输入归一化:自动剥离外层数学环境标记
  • 双输出格式:同时生成SVG(保留矢量精度)与PNG(通用兼容)
  • 内联模式支持:--inline 参数生成适合行内文字伴生的紧凑尺寸
  • 灵活路径控制:默认输出至 ~/.openclaw/media/tex-render/,或自定义命名路径

显著优点

  • 零配置开箱即用:仅需一次 npm install 安装两个依赖(mathjax-node、svg2img),无复杂环境搭建
  • 高质量渲染输出:基于成熟的MathJax引擎,确保复杂公式(积分、矩阵、多行对齐)的排版准确性
  • 自动化工作流整合:专为AI Agent设计,标准化输入输出协议便于批量处理与文档生成流水线集成
  • 跨平台兼容:纯Node.js实现,摆脱传统LaTeX发行版(TeX Live/MiKTeX)的系统依赖
  • 安全沙箱执行:无网络请求、无代码执行,仅本地文件操作

潜在局限

  • 仅支持数学模式:无法渲染完整LaTeX文档(无文本段落、图表、参考文献等环境)
  • 字体与样式固定:依赖MathJax内置字体集,无法自定义宏包或加载外部字体
  • 性能瓶颈:大公式或批量渲染时,Node.js单进程可能成为吞吐瓶颈
  • 错误信息有限:MathJax解析失败时,终端输出较简略,需人工定位语法错误
  • 依赖维护风险:mathjax-node与svg2img均非活跃维护项目,存在长期兼容性隐患

适合人群

  • AI助手/Agent开发者:需在对话中实时生成公式可视化
  • 技术文档撰写者:快速为Markdown、Wiki、Slide嵌入数学图像
  • 教育内容生产者:批量生成习题解析中的公式插图
  • 科研人员:临时转换LaTeX片段用于邮件、即时通讯等非TeX环境

常规风险

| 风险类别 | 具体描述 | 缓解建议 |
|---------|---------|---------|
| 输入注入 | LaTeX本身具备\write18等危险原语,但MathJax-node仅处理纯数学模式,禁用大部分宏 | 避免传入完整LaTeX文档,仅信任数学表达式 |
| 路径遍历 | 输出路径参数若未校验,理论上可写入任意目录 | 封装调用时验证路径参数,限制在媒体目录内 |
| 资源耗尽 | 极长公式或恶意构造的嵌套结构可能耗尽内存 | 设置Node.js内存上限,监控渲染超时 |
| 依赖漏洞 | svg2img底层依赖Puppeteer/PhantomJS(版本相关),存在已知CVE | 锁定依赖版本,定期审计npm audit |

综合评级:该技能功能聚焦、实现简洁,安全边界清晰,适合在受控环境中作为LaTeX可视化基础设施组件部署。

TeX Render 内容

scripts文件夹
手动下载zip · 9.1 kB
render.jstext/javascript
请选择文件