开发者生态
morning
Show HN:TeXbrain,一个通过 WASM 在浏览器中运行 pdfTeX 的 LaTeX 编辑器
摘要
A free, open-source LaTeX editor that runs entirely in your browser. No accounts. No installs. No servers. Just open a tab and write. Try it now → tex.swimmingbrain.dev I built this because I was tire...
the
your
and
LaTeX
browser
PDF
files
editor
that
tex
2026-08-26
1 阅读
约7分钟阅读
swimmingbrain
字号:
完全在浏览器中运行的免费开源 LaTeX 编辑器。没有账户。没有安装。没有服务器。只需打开一个选项卡并写入即可。现在就试试 → tex.swimmingbrain.dev 我构建这个是因为我厌倦了为应该免费的功能付费。我去年用 LaTeX 写了论文,花在与工具斗争上的时间比实际写作的时间还多。在线解决方案将 git 同步锁定在付费墙后面。本地设置在机器之间中断。我想要一些有用的东西。打开浏览器,编写 LaTeX,获取 PDF。所以我建造了它。 texbrain 是一个完整的 LaTeX 编辑器,可直接在浏览器中将 .tex 文件编译为 PDF。没有后端。没有服务器处理您的文件。一切(编辑器、编译器、git 客户端)都在客户端运行。您可以打开本地项目文件夹、编辑文件、查看 PDF 更新、提交更改并推送到 GitHub。全部来自一个选项卡。在浏览器中进行 LaTeX 编译。使用 pdfTeX (SwiftLaTeX) 的 WebAssembly 端口。您的 .tex 文件无需离开您的机器即可编译为 PDF。包按需加载并缓存在本地,因此第一次编译仅下载文档实际使用的内容。重新编译需要 1 到 5 秒,具体取决于项目的复杂性。大多数 CTAN,按需加载。常见软件包随应用程序一起提供。其他任何内容( memoir 、 abntex2 、 KOMA-Script ,凡是你能想到的)都会在文档第一次需要时从 TeX Live 镜像中自动解析,然后在本地缓存以供离线使用。实时 PDF 预览。使用 pdf.js 渲染。多页、可缩放、带有文本选择。完整的 git 集成。克隆存储库、创建分支、暂存文件、提交、推送、拉取、合并。全部由在浏览器中运行的 isomorphic-git 提供支持。无需 CLI。本地文件系统访问。使用文件系统访问 API 直接读取和写入磁盘上的项目文件夹 (Chrome/Edge)。多文件项目。文件树、选项卡、拖放。支持 .tex 、 .bib 、 .sty 、 .cls 等。 CodeMirror 6 编辑器。语法突出显示、70 多个 LaTeX 命令的自动完成、括号匹配、代码折叠、片段、深色/浅色主题。命令调色板。通过键盘快捷键快速访问操作。片段选择器。数学环境、文档结构、希腊字母、常用命令。可搜索和分类。离线工作。加载后,该应用程序无需互联网连接即可运行。编译是本地的,编辑是本地的。你之前编译过的包会被缓存;只有您从未使用过的软件包才需要一次网络。项目模板。从头开始或选择一个模板(文章、论文、投影仪、报告、简历、信件、最小)。它的幕后工作原理没有魔法,也没有后端。编辑。基于 CodeMirror 6 构建,具有自定义 LaTeX 语法(Lezer 解析器)、自动完成提供程序和主题系统。该编辑器支持通过选项卡打开多个文件,并将内容与本地文件系统和内存中的 git 工作树同步。编译器。 LaTeX 编译使用 SwiftLaTeX 的 pdfTeX 引擎编译为 WebAssembly。该引擎在内存文件系统(MEMFS)中运行,您的项目文件在每次编译之前写入其中。当引擎请求一个它没有的文件(类、包、字体……)时,服务工作线程会通过一条链来解析它:首先是之前缓存的文件,然后是与应用程序捆绑的包子集,然后是 TeX Live 镜像(jsDelivr 上的 texmf-dist 镜像,以及社区 SwiftLaTeX 服务器作为后备)。每个解析的文件都存储在浏览器的缓存存储中,因此每个包最多下载一次。第一次成功编译后,捆绑的子集也会在后台预取,以便核心包集离线工作。吉特。所有 git 操作都使用 isomorphic-git ,它是 git 的纯 JavaScript 实现。该存储库位于 IndexedDB 支持的内存文件系统 (LightningFS) 中。您的项目文件在本地文件系统和 git 工作树之间同步。远程操作(推/拉/克隆)通过 CORS 代理,因为浏览器无法直接使用 git 协议。 PDF 查看器。使用 Mozilla 的 PDF 渲染库 pdf.js 进行渲染。支持多页面渲染,带有文本层以供选择和搜索。文件系统。该应用程序使用文件系统访问 API 来读取/写入磁盘上的实际文件。这需要基于 Chromium 的浏览器(Chrome、Edge、Arc、Brave)。对于其他浏览器,可以使用 Origin 私有文件系统 (OPFS) 进行回退。前端。带有静态适配器的 SvelteKit。整个应用程序预先构建为静态 HTML/CSS/JS 并部署到 GitHub Pages。没有 SSR、没有 API 路由、没有服务器。 Tailwind CSS 处理样式。仅限 pdfTeX。没有 XeTeX 或 LuaTeX,因此 fontspec 、 polyglossia 和其他任何需要它们的东西都无法编译。没有 bibtex 或 biber。发动机也不发货。使用 biblatex 的文档会从 .bib 文件生成一个简单的参考书目,因此会显示参考文献,但会忽略引用样式。经典的 bibtex 工作流程需要项目中的 .bbl。 WASM 中的真正 bibtex 是列表中的下一个。 TeX Live 2020 版本
这篇文章对您有帮助吗?
订阅66必读
每日精选科技资讯,直达你的邮箱