TeXbrain是一个免费开源的浏览器端LaTeX编辑器,无需账户、安装或服务器,支持本地编译PDF、Git同步和GitHub推送,解决了付费墙和跨设备配置问题。
正文
好的,这是根据您的要求,对原文进行中文重述和精简后的版本:
TeXbrain:一款完全在浏览器中运行的免费、开源 LaTeX 编辑器。
核心理念: 无需注册、无需安装、无需服务器。打开浏览器标签页即可开始写作。
开发动机: 作者因厌倦为本该免费的功能付费而创建了它。在撰写论文时,他发现在线解决方案将Git同步功能设为付费,而本地环境在不同机器间又容易出问题。他想要一个“开箱即用”的工具:打开浏览器,写LaTeX,就能得到PDF。
核心功能:
- 浏览器内编译: 使用WebAssembly版本的pdfTeX引擎,直接在浏览器中将
.tex文件编译为PDF,无需后端服务器。所有文件处理都在本地完成。 - 按需加载宏包: 常用宏包随应用内置,其他宏包(如
memoir、abntex2、KOMA-Script等)在首次使用时自动从TeX Live镜像下载并缓存,后续可离线使用。首次编译后,重新编译仅需1-5秒。 - 实时PDF预览: 使用pdf.js渲染,支持多页面、缩放和文本选择。
- 完整Git集成: 支持克隆仓库、创建分支、暂存文件、提交、推送、拉取和合并。所有操作通过浏览器内的
isomorphic-git库实现,无需命令行。 - 本地文件系统访问: 在Chrome/Edge浏览器中,可使用文件系统访问API直接读写磁盘上的项目文件夹。
- 多文件项目管理: 支持文件树、标签页、拖放操作,兼容
.tex、.bib、.sty、.cls等文件类型。 - 强大的编辑器: 基于CodeMirror 6,提供语法高亮、70多个LaTeX命令的自动补全、括号匹配、代码折叠、代码片段、暗/亮主题等功能。
- 离线可用: 应用加载后,无需网络连接即可进行编辑和编译。已使用的宏包会被缓存,仅首次使用新宏包时需要网络。
- 项目模板: 提供文章、论文、演示文稿、报告、简历、信件等多种模板。
技术原理:
- 编辑器: 基于CodeMirror 6,使用自定义的LaTeX语法解析器、自动补全和主题系统。通过标签页管理多个文件,并与本地文件系统和内存中的Git工作树同步内容。
- 编译器: 使用编译为WebAssembly的pdfTeX引擎。编译在内存文件系统中进行,当引擎请求文件时,服务工作者会按顺序从缓存、应用内置宏包子集或TeX Live镜像中获取,并将结果存入浏览器缓存。
- Git: 所有操作由纯JavaScript实现的
isomorphic-git库完成。仓库位于由IndexedDB支持的内存文件系统中。远程操作通过CORS代理进行。 - PDF查看器: 使用Mozilla的pdf.js库进行渲染,支持文本选择和搜索。
- 文件系统: 优先使用文件系统访问API(需要Chromium内核浏览器),其他浏览器则回退到源私有文件系统。
- 前端: 使用SvelteKit(静态适配器)构建,部署为静态HTML/CSS/JS,无服务器端渲染或API路由。
已知限制:
- 仅支持pdfTeX,不支持XeTeX或LuaTeX,因此
fontspec、polyglossia等宏包无法使用。 - 不支持bibtex或biber。使用
biblatex的文档会从.bib文件生成简单的thebibliography环境,但会忽略引文样式。经典bibtex工作流需要在项目中包含.bbl文件。 - 宏包版本锁定在TeX Live 2020时代。
- Git远程操作需要CORS代理。
- 直接访问文件夹功能仅限Chromium内核浏览器。
安全与隐私:
- 所有操作均在浏览器内完成,文件不会离开您的机器,除非您主动推送到远程仓库。
- 无遥测、无分析、无追踪、无账户、无Cookie、无数据收集。
- Git认证令牌存储在浏览器的localStorage中,不会发送到作者控制的服务器。
- LaTeX编译在WebAssembly沙箱中运行,不执行任何shell命令。
- Git操作使用JavaScript库,不存在命令注入风险。
- 未内置的宏包从公共TeX Live镜像按需获取,仅发送文件名,不发送文档内容。
技术栈: Svelte 5 + SvelteKit、CodeMirror 6、pdfTeX (WebAssembly)、isomorphic-git + LightningFS、pdf.js、Tailwind CSS 4、TypeScript。部署于GitHub Pages。
浏览器支持: 完整功能(本地文件系统访问)需要Chromium内核浏览器(Chrome, Edge, Arc, Brave, Opera)。Firefox和Safari可使用虚拟文件系统回退方案,但无法直接读写本地文件夹。
许可: MIT
作者: Braian Plaku
评论
根据评论内容,总结如下:
主要观点与论据:
积极评价(高认可度)
- 用户赞赏项目使用WASM技术,认为“super cool”(评论2),并称赞“Well done!”(评论1)。
- 评论9指出项目“非常有趣”,能直接上传.tex文件生成PDF预览,且按需加载依赖的设计优于本地安装(“下载一堆不需要的依赖”)。
兼容性问题(中等认可度)
- 评论3反映Firefox/Safari无法正常使用,点击“New Project”后提示需使用Chrome/Edge,质疑“fallback”机制未生效。
- 评论4报告编译错误:旧文档出现“Bad metric (TFM) file”和“TeX capacity exceeded”错误,且错误定位不清晰(“line 13017”来自包文件)。
功能询问与建议(低认可度)
- 评论5询问是否支持TikZ。
- 评论6对比Typst,表示“从未真正掌握LaTeX但喜欢Typst”。
- 评论7指出类似项目“latexy.web.app”。
- 评论8(TeX Live团队成员)询问为何基于2020版,并邀请贡献者将WASM加入官方支持平台。
平衡性总结:
项目获得技术认可(WASM应用、按需加载),但存在浏览器兼容性缺陷(Firefox/Safari)和编译错误(旧文档、包依赖问题)。部分用户提出功能扩展需求(TikZ)和替代方案(Typst、latexy)。