论文截稿前夜,导师只让你"改几句话、换个标题"——可一打开 .tex,满屏反斜杠和花括号扑面而来。Overleaf 很强,但它为写代码的人设计;你只想安全地小改一下。
VisualLaTeX 就是为此而生:
| 场景 | 传统代码编辑器 | VisualLaTeX |
|---|---|---|
| 小改动效率 | 在源码中手动定位结构 | 所见即所得,直接点改 |
| 误改风险 | 容易碰坏命令与环境 | 未编辑的源码块保留原文,复杂结构使用原文块 |
| 上手成本 | 需熟悉 LaTeX 语法 | 会用 Word 就会用 |
导入 .tex → 可视化轻改 → 导出 .tex
未编辑的源码块按原文保留,包括注释、空白与换行;编辑过的区段重新生成 LaTeX。无法安全转换的结构以可编辑原文块保留,全程离线。
| 功能 | 说明 |
|---|---|
| 一键导入 | 打开本地 .tex,章节、段落、列表、公式、图片自动转为可视化元素 |
| 双栏同屏 | 左侧可视化编辑,右侧 LaTeX 源码实时预览 |
| 基础排版 | 三级标题、加粗、斜体、居中、有序/无序列表 |
| 公式输入 | 30+ 符号快捷面板,支持 $...$、$$...$$、\(...\)、\[...\];双击已有可视化公式可修改 |
| 原样保留块 | 表格、参考文献、代码清单等复杂结构原文展示、可编辑、导出不丢失 |
| 命令保护 | \cite、\ref 等引用命令原样保留,绝不被转义破坏 |
| 图片插入 | 填写路径自动生成 figure 浮动环境 |
| 一键导出 | 复制源码或下载 .tex,自动沿用导入文件名 |
| 自动缓存 | 草稿连同导言区一起保存,刷新页面内容不丢失 |
零安装 · 零依赖 · 零构建,克隆后双击即可离线运行:
git clone https://github.com/Escap1ng/VisualLaTeX.git然后双击 index.html。就这样。
也可以直接使用在线预览版(由 GitHub Actions 自动部署)。
VisualLaTeX/
├── index.html # 主页面(布局、工具栏)
├── style.css # 全局样式
├── main.js # 编辑器核心、.tex 解析、DOM↔LaTeX 转换
├── tests/ # 零依赖冒烟检查与导入/导出/编辑回归测试
├── .github/ # GitHub Actions 工作流(CI / 自动发布 / Pages 部署)
├── README.md # 项目说明(中文)
└── README.en.md # 项目说明(English)
项目使用 GitHub Actions 实现自动化检查与发布:
| 工作流 | 触发时机 | 作用 |
|---|---|---|
| CI | 推送 main、dev / 针对这两个分支的 PR |
JS 语法、资源完整性及导入/导出/编辑回归测试 |
| Build & Release | 推送 v* 版本标签 |
同一提交检查通过后打包并上传 GitHub Release |
| Deploy to GitHub Pages | 推送 main |
同一提交检查通过后部署在线预览版 |
本地验证(Node.js 22+,无需安装 npm 包):
node --check main.js
node tests/smoke.mjs
node --test回归测试覆盖 HTML 注入防护、源码往返、局部编辑、公式、图片、转义字符及草稿恢复。DOM 测试使用最小模型,不替代真实浏览器交互或 TeX 编译验证。
导入要修改的 .tex → 可视化完成文字与结构调整 → 导出下载 → 放回原项目编译。
已知限制
- 基于
contenteditable,不同浏览器的复杂编辑行为仍需实际验证 - 不支持可视化表格编辑(表格以原样保留块形式编辑源码)
- 复杂/嵌套环境、多图、带自定义标签的列表及
equation环境以原文块编辑;不执行 TeX 宏展开 - 定位是轻量修改工具,大规模重写建议直接使用代码编辑器
版本历史
- v2.0.3:修复导入丢内容与 HTML 注入——重写
.tex解析,按命令、环境、数学、逐字块读取,未编辑的源码块逐字节保留;新增\(...\)、\[...\]定界符与\verb、\lstinline支持;双击已有公式可编辑;草稿按版本原子保存并在离开页面时落盘,旧草稿恢复前先清洗;新增node --test回归测试 70 例 - v2.0.2:手机端与窄屏适配——一屏一个面板,底部 tab 在编辑区与 LaTeX 代码间切换;工具栏收成单行横向滑动,触控目标 ≥44px;补
min-height:0修复代码预览被裁出屏幕;改用100dvh与 16px 输入框,iOS 聚焦不再放大整页;LaTeX 转换与导出逻辑未改动 - v2.0.1:维护版本,main.js 未作修改;许可证由 MIT 改为 Apache-2.0;界面改用 design tokens 与学术暖白主题,工具栏按钮改为纯文本;新增 CI 检查与 GitHub Pages 在线演示的自动部署
- v2.0.0:去垂直化改造,转型为通用离线 LaTeX 轻编辑器;新增 .tex 导入;未支持结构原样保留,实现往返保真;修复导言区不随草稿缓存、公式误改丢数据等问题
- v1.1.0:可视化编辑器 + 数模公式助手(已被 v2.0.0 移除)
- v1.0.0:首个版本
欢迎提交 Issue 或 Pull Request。
Apache License 2.0 © Escap1ng
如果这个工具帮你省下了一小时,欢迎点一个 Star
