TeXpresso — 边输入边渲染的 LaTeX

发布于 2026-11-11 00:05:20

节选自:https://zhuanlan.zhihu.com/p/2102699647554920741

你可能听说过 TeXpresso,它是 Emacs,TeXStudio,Vim,Vs Code,Zed的实时预览工具(https://github.com/let-def/texpresso):PDF会在你输入时实时更新,无需等待完全重新编译。开发者已将其改造为一个可在浏览器中运行的完整编辑器,目前正处于公开测试阶段:https://texpresso.app

TeXpresso 在您的浏览器中运行真正的 TeX 引擎(XeTeX 或 [LuaTeX] (DVI),经过插桩并编译为 WebAssembly)。它不会在每次更改后重新编译整个文档,而是保留编译快照,并在您编辑的位置之前继续执行,因此即使是长文档也能保持页面同步。

如果你用过原版:它沿用了相同的理念和引擎,只是增加了一些编辑器插件所不具备的功能:无需安装、精确的光标定位(“所见即所得”体验)、实时协作、与 Dropbox 或 [GitHub] 同步,以及同时支持 LuaLaTeX 和 XeLaTeX。Emacs 和 Vim 的原生预览器不会消失。

如今行之有效的方法:

  • XeLaTeX 和 LuaLaTeX 均支持 TeX Live 2026;文档需要时才会获取宏包,然后缓存以供离线使用。
  • 光标会显示在预览中,点击预览会将光标移动到源文件中。
  • 通过共享链接进行实时协作,端到端加密(点对点;服务器仅转发加密消息)
  • 将项目与磁盘上的文件夹(Chrome/Edge)、Dropbox 或 GitHub 存储库同步
  • 支持 BibTeX、Beamer 和 PDF 导出;可打开文件夹、.zip 文件或 arXiv 源文件。
  • 无需注册账号;项目存储在浏览器中,可离线使用。

当前状态:

  • 这是测试版,可能会有一些瑕疵和漏洞。由于项目文件存储在浏览器的存储空间中,请务必备份所有重要文件(下载为 .zip 文件,或同步到文件夹或 Dropbox)。
  • 该网页应用的源代码尚未公开。引擎和 Emacs/Vim 预览器已在 GitHub 上开源(MIT 许可),但网页应用的代码将在 beta 版稳定后发布。应该很快就能稳定下来;开发者不想发布半成品。
  • 限制:不支持 pdfLaTeX(仅支持带 DVI 输出的 XeLaTeX 和 LuaLaTeX),不支持 Biber,不支持 shell 转义。在电脑上的 Chrome 或 Edge 浏览器上运行效果最佳;其他浏览器和手机上的功能较少。
  • 这是一个由几个人共同开发的个人项目,并非公司项目:免费、无广告、无追踪。隐私页面详细说明了数据的发送和接收方式:https://texpresso.app/privacy

计划推出桌面应用程序(macOS,Windows,Linux)。

开发者非常希望得到反馈:您的文档在哪些方面存在问题?缺少哪些功能?什么样的功能会让您更愿意使用它?编辑器里有反馈按钮,或者您也可以直接在这里回复。

TeXpresso是如何保护您的隐私

您的文档会保留在您的浏览器中。TeXpresso会在您的设备上编译它们;除非您以无法读取的加密形式分享项目,否则不会收到任何原始文档。不设账户,不投放广告,也不会设置任何 Cookie。

TeXpresso 由一小群人开发,并非公司所有。本页面说明了edit.texpresso.app和本网站的编辑器会保存哪些内容、保存在哪里以及发送哪些内容。

设备上会保留哪些内容

  • 您的项目:它们的文件,以及您选择保留的 TeX 输出文件。
  • 您的设置,以及您向合作者显示的名称和颜色。
  • 您创建的指向 Dropbox 或 GitHub 的链接,以及它们的访问令牌。
  • 文档使用的 TeX Live 文件,保存起来以便离线编译。

这些文件保存在您浏览器的 edit.texpresso.app 存储空间中。删除项目会将其移除;清除浏览器中的网站数据会移除所有内容。网站没有备份:请自行保存,方法是点击 _“项目”▸“下载为 .zip 文件_”或同步文件。

到达网站服务器的内容

  • 下载 TeX Live。编辑器会从 data0.texpresso.app 获取文档所需的宏包和字体。请求中会指定文件(宏包或字体),而不会指定文档名称。
  • 您发送的反馈。编辑器的反馈面板会发送您撰写的内容、您选择提供的姓名和电子邮件地址(均为可选)、编辑器版本、项目的 TeX Live 版本、您的国家/地区(根据您的 IP 地址,由主机报告)以及您浏览器的随机标识符,以便将不同浏览器之间的消息视为对话。绝不会发送您的文档。
  • 崩溃报告。当编辑器出现故障时,它会发送错误信息以及错误在代码中发生的位置、编辑器版本、TeX Live 版本和项目引擎、浏览器名称和版本(用户代理)、您的国家/地区以及浏览器标识符。绝不会发送您的文档。此功能默认开启;您可以在设置中将其关闭(_发送崩溃报告_)。

网站会保留反馈和崩溃报告,只要它们有助于改进 TeXpresso,开发者会阅读它们,并且不会与任何人分享它们。

共享项目

当您共享项目时,其链接中包含一个密钥,该密钥保留在浏览器中(位于浏览器永远不会发送的地址部分)。编辑该项目的浏览器直接相互连接,并使用该密钥加密交换更改;为了找到彼此,它们通过服务器传递同样加密的消息,服务器转发这些消息但不保留它们。通过直接连接,协作者的浏览器可以获知彼此的 IP 地址。Cloudflare 的 STUN 服务器帮助它们通过路由器建立连接。

为了方便后续人员查看他们离开期间所做的更改,服务器会将共享项目的最新更改保存下来,并使用相同的密钥进行加密:开发者无法读取这些更改。这些更改会在最后一次更改后的 7 天被删除。

Dropbox 和 GitHub

只有当您将它们关联起来时,TeXpresso 才会执行此操作。关联后,您的浏览器将直接与 Dropbox 或 GitHub 通信:关联文件夹或仓库的文件直接在您的浏览器和 Dropbox 服务之间传输,无需经过服务器,访问令牌也保留在您的浏览器中。对于 Dropbox,TeXpresso 会列出您的文件夹供您选择,然后仅读取和写入您链接到项目的文件夹;它会显示您的帐户名称。取消关联即可停止此操作;您也可以在 Dropbox 或 GitHub 帐户的设置中移除 TeXpresso 的访问权限。他们各自保留的内容适用其自身的隐私政策。

使用的服务

  • Cloudflare为本网站、编辑器、TeX Live 文件以及服务器提供存储空间。与其他主机商一样,它可以看到请求的 IP 地址。
  • Google Fonts为本网站页面(而非编辑器)提供字体:您的浏览器从 Google 获取这些字体。

电子邮件地址

开发者仅使用您在反馈面板中提供的电子邮件地址回复您。您在本网站之前的上线等候名单中留下的地址将被保留,仅用于在您注册时告知您 TeXpresso 的上线信息,并会在您要求时删除。

您的请求

如需询问开发者掌握了哪些关于您的信息,或要求删除这些信息,请发送邮件至 contact@texpresso.app。如果您需要反馈或提交崩溃报告,通过编辑器的反馈面板(_发送反馈_)发送邮件会更方便:您的邮件会包含浏览器标识符,方便开发者查找。如需加入候补名单,请提供相应的地址。

变化

当此隐私页面更改时,上方的日期也会更改。

(说明:本文来源于TeXpresso的网站及开发者的介绍)

  1. 试用网址:https://texpresso.app
  2. [TeXpresso手册] 链接:https://pan.quark.cn/s/f341c74ccaf8
0 条评论

发布
问题