本地优先的 Overleaf 风格 LaTeX 编辑器 · A local-first, Overleaf-style LaTeX editor
无需 Docker · 无需联网 · 数据完全留在本机 No Docker · No cloud · Your papers never leave your machine
功能特性 · 快速开始 · 模板 · 快捷键 · 在线预览页
写论文时你可能有这些困扰:
- Overleaf 好用但要联网、免费版编译有限制,私有化部署又要拖一整套 Docker;
- TeXstudio / TeXmaker 功能全,但界面停留在上个时代,PDF 预览体验割裂;
- VS Code + LaTeX Workshop 强大,但配置繁琐,不是为「打开就写」设计的。
CSleaf 把 Overleaf 的体验搬回本地:一条命令启动,浏览器里获得完整的三栏写作环境——左侧项目文件树、中间 Monaco 编辑器、右侧实时 PDF 预览。编译走你本机已有的 TeX Live / MiKTeX,所有数据都在你自己的磁盘上。
项目管理
- 🗂️ 项目画廊:创建 / 重命名 / 复制 / 删除 / 导出 ZIP / 从 ZIP 导入(支持 GitHub 下载的项目压缩包)
- 📚 19 个开箱即用的模板:中英文论文、IEEE 会议/期刊、ACM、Springer LNCS、Elsevier、Beamer(中英)、毕业论文、实验报告、组会汇报、审稿回复、作业、海报、简历、数学笔记……全部经过真实编译验证
编辑器(Monaco)
- 📝 LaTeX 语法高亮、括号匹配、代码折叠(
\begin{}...\end{}区域) - 🧠 智能补全:150+ 常用命令、环境代码片段,以及上下文感知补全
\ref{→ 自动列出全文所有\label{}\cite{→ 解析.bib文件,带标题预览\input{/\includegraphics{→ 列出项目内对应文件
- 📖 大纲导航:章节 / Beamer frame / 图表,点击跳转
- 🔍 快速打开(
Ctrl+P)、命令面板(Ctrl+Shift+P)、多标签页、自动保存
编译与预览
- ⚡ 一键编译:支持
latexmk(自动多次运行 + BibTeX)/pdflatex/xelatex/lualatex - 🔁 保存后自动编译(可关闭),PDF 原位刷新不闪屏
- 🖥️ 高清 PDF 渲染:2x 超采样,任何缩放级别与高分屏下文字都锐利
- 🖼️ PDF 缩略图侧栏:整篇文档一目了然,点击直达
- 🔎 PDF 内搜索:匹配计数、上/下一个、高亮定位(Enter / Shift+Enter)
- 🧭 SyncTeX 正反向跳转:
Alt+S从光标定位 PDF;双击 PDF 反向跳回源码 - 🐞 错误/警告面板:解析
.log精确到文件与行号,点击即达;未安装宏包时给出提示 - 📄 PDF 预览:缩放、页码跳转、适应宽度/适应页面、总页数显示、下载
界面与体验
- 🌗 深色 / 浅色双主题,叶绿主色调,可拖拽调整三栏布局
- 🌏 中英双语界面,一键切换
- 📊 状态栏:TeX 发行版检测、字数统计(点击打开项目统计面板:全项目中英文字数、章节/图表/公式/引用计数、上次编译状态)、光标位置、自动编译开关
- 🧹 一键清理辅助文件(
.aux/.log/.bbl/...),文件树自动隐藏编译产物
CSleaf 只负责编辑和调用编译器,需要一个 TeX 发行版:
| 系统 | 推荐 | 安装方式 |
|---|---|---|
| Windows | TeX Live(全量)或 MiKTeX | tug.org/texlive · install-tl-windows.exe |
| macOS | MacTeX / TinyTeX | brew install --cask mactex-no-gui |
| Linux | TeX Live | sudo apt install texlive-full |
CSleaf 会自动扫描 PATH 以及各盘符下的 TeX Live / MiKTeX / TinyTeX 安装(包括
E:\texlive\2026这类非 C 盘安装),也可在 设置 中手动指定路径。
git clone https://github.com/Jensen-Yao/CSleaf.git
cd CSleaf
npm run setup # 安装依赖 + 构建前端
npm start # 启动 → 自动打开 http://127.0.0.1:4513从模板新建项目,Ctrl+Enter 编译,开始写作 🎉
端口可用
PORT=8080 npm start修改;论文数据保存在workspace/目录(已 gitignore,不会误提交)。
| 模板 | 引擎 | 说明 |
|---|---|---|
| 学术文章 Academic Article | latexmk | 章节 + TikZ 图 + 三线表 + 参考文献 |
| 中文学术论文 | xelatex | ctexart:摘要 / 关键词 / 图表 / 参考文献 |
| IEEE 会议论文 | latexmk | IEEEtran 会议双栏 |
| IEEE 期刊论文 | latexmk | IEEEtran 期刊模式,含 thanks 脚注 |
| ACM 会议论文 | latexmk | acmart sigconf(nonacm 可选) |
| Springer LNCS | latexmk | LNCS 单栏,多机构作者 |
| Elsevier 期刊 | latexmk | elsarticle frontmatter + 关键词 |
| Beamer 演示 | latexmk | 16:9 学术幻灯片 |
| 中文 Beamer 汇报 | xelatex | ctexbeamer:目录 / 分栏 / 表格 |
| 中文毕业论文 | xelatex | ctexbook:封面 / 摘要 / 目录 / 多章 / 附录 |
| 英文学位论文 | latexmk | book 类:标题页 / TOC / 图表清单 / 附录 |
| 实验报告 | xelatex | 目的 / 原理 / 步骤 / 数据表 / 结论 |
| 组会汇报 | xelatex | 周报式:进展 / 问题 / 实验记录 / 计划 |
| 审稿回复信 | latexmk | 逐条 Comment / Response,回复高亮 |
| 课程作业 | latexmk | Problem–Solution 环境 + 页眉 + 总页码 |
| 学术海报 | latexmk | tikzposter A0 竖版多栏 |
| 英文简历 Academic CV | latexmk | 单页学术简历 |
| 数学笔记 | latexmk | amsthm 定理环境 + 证明 |
| Blank | latexmk | 最小可编译文档 |
| 快捷键 | 功能 |
|---|---|
Ctrl + Enter |
编译 |
Ctrl + S |
保存(默认已自动保存) |
Ctrl + P |
快速打开文件 |
Ctrl + Shift + P |
命令面板 |
Ctrl + B / Ctrl + Shift + E / Ctrl + J |
切换 侧栏 / PDF 预览 / 日志面板 |
Alt + S |
SyncTeX:光标 → PDF |
| 双击 PDF | SyncTeX:PDF → 源码 |
┌────────────────────────── 浏览器 Browser ──────────────────────────┐
│ React 18 · Monaco Editor(LaTeX 语言) · PDF.js · Zustand · Vite │
└──────────────────────────────┬─────────────────────────────────────┘
REST + WebSocket (127.0.0.1:4513)
┌──────────────────────────────┴─────────────────────────────────────┐
│ Node.js · Express · ws │
│ 项目/文件 CRUD · ZIP 导入导出 · 编译编排(latexmk/xelatex+重跑+BibTeX)│
│ 日志解析(错误定位/警告/缺失宏包) · SyncTeX CLI 封装 · TeX 自动探测 │
└──────────────────────────────┬─────────────────────────────────────┘
本机 TeX 发行版(TeX Live / MiKTeX / TinyTeX)
- 仅 4 个后端运行时依赖(express / ws / multer / adm-zip),前端 Monaco 与 PDF.js 全部本地打包,内网离线可用
- 默认只绑定
127.0.0.1
- Git 集成(项目级版本历史)
- 拼写检查与语法提示(ChkTeX / LanguageTool)
- 富文本公式/表格插入向导
- 多项目全文搜索
- 桌面壳(Electron/Tauri)与安装包
- 中文参考文献样式(GB/T 7714)模板
欢迎 Issue 与 PR!开发模式:
npm install && npm install --prefix web
npm run dev:web # 前端热更新 (Vite, 端口 5188, 代理 /api → 4513)
npm start # 后端MIT © 2026 Jensen-Yao
灵感与依赖来自这些优秀的开源项目:Overleaf(产品形态)、LaTeX Workshop(编译/解析思路)、Monaco Editor、PDF.js、TinyTeX。