Skip to content

Acknowledgements and Development

zhangxh edited this page Aug 16, 2026 · 1 revision

致谢与联合开发

TeXLeaf 并不是在真空中出现的。它的片段输入、活动公式预览和 Zotero 参考文献工作流,都受到了开源 LaTeX 工具生态中既有项目的启发。本页用于更完整地记录这些来源、说明项目如何由人和 Codex 协作完成,并区分“产品灵感”“运行时组件”和“源码许可”这三件不同的事情。

这个项目如何开发

TeXLeaf 由项目发起人 zhangxh-mathOpenAI Codex 联合开发。

zhangxh-math 在开始这个项目时并不懂如何编写 VS Code 插件,也不把自己描述成专业的扩展开发者。项目从真实的 LaTeX 写作需要出发:希望在 VS Code 里获得快速片段、活动公式预览和 Zotero 引用体验,又能随时修改默认片段并在不同工作区复用。项目发起人主要负责:

  • 提出实际写作场景、期望行为和使用优先级;
  • 提供真实输入样例、截图、日志与故障复现;
  • 在日常 .tex.bib、中文输入法、Zotero 和不同扩展组合中安装测试;
  • 判断交互是否符合写作习惯,并持续反馈修改;
  • 决定产品取舍、发布范围和最终是否接受某项变更。

Codex 在这套联合开发流程中协助完成:

  • 调研 VS Code 扩展 API、上游项目公开文档和兼容性边界;
  • 设计 TypeScript 核心、VS Code 适配层、存储与迁移机制;
  • 编写和修改实现代码、测试、Schema、README 与 Wiki;
  • 根据扩展宿主日志、真实按键行为和打包产物定位问题;
  • 建立单元测试、Bundle 冒烟、Extension Host 和 VSIX 归档检查;
  • 在每轮修改后说明风险、限制、迁移步骤和仍需人工确认的部分。

“与 Codex 协作开发”不表示代码天然正确,也不把发布责任交给 AI。每个版本仍应以可审阅的源码、实际测试结果、最终 VSIX 内容和维护者的人工验收为准。发现错误、遗漏致谢或许可证问题时,欢迎通过项目 Issues 指出。

片段系统的灵感来源

Gilles Castel 基于 Vim、UltiSnips 与 VimTeX 展示了一套非常高效的 LaTeX 输入工作流。它把数学上下文、自动与正则触发、占位符、Visual 选区和常用数学结构组合起来,说明片段不仅是“输入缩写再按 Tab”,还可以成为贴合数学写作节奏的输入系统。

这个项目为 TeXLeaf 通过短触发词、上下文判断和占位符减少重复输入的整体方向提供了重要的早期灵感。TeXLeaf 面向的是 VS Code 扩展 API,不把自己描述成该 Vim 配置的官方移植版,也不宣称与 UltiSnips 完全兼容。

Obsidian Latex Suite 以片段、快捷方式和文本展开提高 LaTeX 数学输入效率。它公开展示的 triggerreplacementoptions 模型,以及文本模式、行内/行间数学、自动展开、正则、Visual、词边界和 tabstop 等概念,为 TeXLeaf 的可编辑片段格式提供了重要参考。

自动分式、矩阵快捷键、Tabout、Visual 包裹和自动放大括号等交互,也帮助项目发起人明确了希望在 VS Code 中得到怎样的写作体验。Obsidian 与 VS Code 的编辑器能力并不相同,因此致谢不意味着两个插件功能逐项等价。

Snippetleaf 把 Obsidian Latex Suite 的快速片段体验适配到了 Overleaf。它展示了如何把相似的输入理念带到另一种编辑器宿主,并公开了 trigger/replacement/options、正则与 Visual 片段、@0/@1 占位符、语法版本、自动分式、矩阵、Tabout 和括号辅助等设计。

TeXLeaf 最初的核心目标正是“在 VS Code 中实现这类体验”。因此,Snippetleaf 对跨编辑器适配、片段表示、占位符版本以及旧格式导入与迁移提供了直接参考。这里使用“参考”而不是“VS Code 官方移植”或“完全兼容”,因为 TeXLeaf 还必须处理 VS Code 原生 Snippet、IME、Completion Provider、Extension Host、安全 JSONC 和多工作区存储等不同边界。

该项目记录了把 Gilles Castel 的 Linux/Vim 工作流适配到 macOS 与 VS Code 的实践,其中 HyperSnips、数学 scope 判断、动态片段和高效 LaTeX 输入部分,为 TeXLeaf 如何在 VS Code 中组织快速输入体验提供了参考。

这里致谢的是它的 VS Code LaTeX/片段工作流。TeXLeaf 并不因此声称包含该项目的 Inkscape 图形管理、SymPy/Mathematica 或整套快捷键配置。

Math Preview 的灵感来源

Ultra Math Preview 为 LaTeX 与 Markdown 提供实时数学公式预览,并支持 MathJax 与 KaTeX。它展示了在源码编辑过程中围绕当前公式提供即时视觉反馈的产品价值,对 TeXLeaf 的“活动公式预览”、光标驱动显示和公式编辑反馈有直接启发。

TeXLeaf 当前把 MathJax Worker、公式区域扫描、布局、主题卡片、缓存和 SVG 安全处理组织在自己的 VSIX 中。这里记录的是公开功能、产品构思和使用体验的来源;具体实现和发行组件以 TeXLeaf 当前源码、package.json 与第三方许可清单为准。

hscopes-booster 是面向其他 VS Code 扩展的 token 与 TextMate scope 查询元扩展,并由 HyperScopes 的思路重构而来。Ultra Math Preview 也使用它取得文本作用域信息。它帮助本项目理解了数学上下文、token/scope 与预览或片段功能之间的关系。

TeXLeaf 后续选择什么扫描和上下文策略,应由当前实现、VS Code API 稳定性和测试结果决定;本节主要是对这一技术方向和开源探索的感谢。

Zotero 与参考文献工作流的灵感来源

Overleaf Community Edition 是开源的在线实时协作 LaTeX 编辑器。它围绕 LaTeX 项目、bibliography 和协作写作形成的完整使用体验,为 TeXLeaf 思考“在写作位置直接查找并插入参考文献”提供了产品参考。

这里并不把 TeXLeaf 的 Zotero 功能描述成 Overleaf 某个模块的移植;致谢的是广义的 LaTeX 项目编辑和参考文献使用体验。

VSCode Zotero 提供从本地 Zotero 文献库选择引用,并把相应 Bib(La)TeX 条目加入项目 .bib 文件的工作流,还包含打开 Zotero 条目、PDF、DOI 和整理 bibliography 等能力。

从编辑器内搜索本地 Zotero、选择文献、写入项目 bibliography 并插入 citation key 的整体流程,为 TeXLeaf 的原生 Suggest 引用体验提供了重要参考。TeXLeaf 当前的具体连接方式、去重规则、WorkspaceEdit 和安全边界仍以 文献与 Zotero 页面及当前源码为准。

“致谢”具体表示什么

本页的“感谢、启发与参考”主要描述:

  • 学习公开 README、文档、功能演示和用户交互;
  • 参考开源社区已经验证过的写作痛点与产品方向;
  • 诚实记录需求和设计不是凭空产生的;
  • 向原项目作者、维护者和贡献者表达感谢。

它不表示上述项目或作者对 TeXLeaf 的官方认可,也不表示项目之间存在隶属关系、功能完全等价或兼容承诺。若未来实际复制、修改或分发某个项目具有版权性的源码、片段或其他实质内容,必须按对应许可证保留版权与许可,而不能只用本页的口头致谢代替。

许可证与发行组件

灵感来源与真正打进 VSIX 的第三方组件不是同一概念。TeXLeaf 当前随发行包提供的第三方代码、字体资产、版权通知和许可证,以仓库中的 THIRD_PARTY_NOTICES.mdlicenses/、锁文件和最终 VSIX 清单为准。

本页提到的项目许可证包括 MIT 和 AGPL-3.0 等不同类型。仅仅在功能或产品思路层面受到启发,不等同于把对应源码打进发行包;反过来,如果确实复用了源码,也不能因为写了“受到启发”就省略许可证义务。对来源有疑问时,应优先做源码和发行归档审计,再更新通知。

相关页面

Clone this wiki locally