Skip to content

About

A pure-frontend, zero-dependency, fully offline LaTeX light editor. Import .tex, make light visual edits, export as-is.

Topics

Resources

Stars

5 stars

Watchers

0 watching

Forks

Latest commit

 

History

53 Commits

Folders and files

Repository files navigation

VisualLaTeX

导入 · 轻改 · 导出 —— 保留原文的离线 LaTeX 轻编辑器

Version License CI Online Demo Dependencies

中文 · English


VisualLaTeX 编辑器界面

为什么需要它

论文截稿前夜,导师只让你"改几句话、换个标题"——可一打开 .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 → 可视化完成文字与结构调整 → 导出下载 → 放回原项目编译。

已知限制
  1. 基于 contenteditable,不同浏览器的复杂编辑行为仍需实际验证
  2. 不支持可视化表格编辑(表格以原样保留块形式编辑源码)
  3. 复杂/嵌套环境、多图、带自定义标签的列表及 equation 环境以原文块编辑;不执行 TeX 宏展开
  4. 定位是轻量修改工具,大规模重写建议直接使用代码编辑器
版本历史
  • 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

About

A pure-frontend, zero-dependency, fully offline LaTeX light editor. Import .tex, make light visual edits, export as-is.

Topics

Resources

Stars

5 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages