Skip to content

扩展可视化编辑、多文件工作区及 LaTeX / PostScript PDF 编译 - #2

Merged
Escap1ng merged 7 commits into
Escap1ng:mainfrom
nisconder:contrib/visual-workspace
Nov 8, 2026
Merged

Escap1ng merged 7 commits into
Escap1ng:mainfrom
nisconder:contrib/visual-workspace

Conversation

@nisconder

Copy link
Copy Markdown
Contributor

延续 VisualLaTeX“导入现有 LaTeX → 可视化修改 → 导出”的主流程,补齐多文件项目、公式与引用的直接编辑,以及真实排版预览和 PDF 导出。本 PR 提议加入完整的 Studio 工作区,已基于最新 main 整理提交,并保留原项目 v2.0.3 及此前的版本历史。此前已合并的 #1 修复保留在基线中。

主要变化

  • 完整 LaTeX 默认可视化编辑,支持直接修改文字、标题和格式;公式、引用和标签可点击编辑。保留未编辑源码及公式环境、逐行标签和注释,复杂结构仍可用完整源码编辑。
  • 多文件项目、BibTeX、查找替换、每文件独立撤销/重做、项目草稿,以及 ZIP/文件夹导入导出;二进制资源保留原始字节。
  • 本地 Node.js 服务接入 Tectonic/XeLaTeX 编译和 Ghostscript PS/EPS 渲染,提供编译目标、取消、超时、诊断日志、分页预览和 PDF 下载。编辑后标记旧结果,导出时编译当前内容,避免下载过期 PDF。
  • 更新文稿工作台、工具栏及公式/引用弹窗;保留无需构建的静态编辑模式。本地打包 MathLive 0.111.1、字体、MIT 许可和完整性清单,不依赖 CDN。
  • 增加 Windows 便携工具安装/启动脚本,下载固定版本并校验发布文件 SHA-256;同步更新文档、CI、打包与 Pages 资源列表。

界面

文稿工作台

公式直接编辑

验证

  • 整理后的上游分支重新执行:12 个运行时脚本 node --check、node tests/smoke.mjs、node --test,291 项通过,0 失败/跳过。
  • Windows Chromium 内嵌浏览器实际完成可视化编辑、公式/引用/标签修改、源码切换、撤销重做、ZIP 往返、刷新、编译错误和取消、预览及 PDF 下载。读取实际下载的 TeX/PDF 验证修改、编号与文献;原有用户项目 4 个文件在验收前后逐字节一致。
  • Tectonic 0.17.0 / Ghostscript 10.08.0 实测多文件 input、编号引用、BibTeX、中文、多页 PostScript、相对资源、文本/二进制 EPS、超时清理及 HTTP → PDF 流程。
  • 本次整理与已验收功能分支的文件差异仅为两份 README;运行时代码、资源与测试保持一致。可复现浏览器步骤见 验收清单。

范围与限制

本地编译需要 Node.js 22+ 和工具链;Tectonic 首次获取宏包需要联网。GitHub Pages/file:// 提供静态编辑。PostScript 当前为源码编辑与渲染;复杂 TeX、自定义宏和章节片段仍有源码兜底。服务绑定 loopback 并检查 Host/Origin/令牌,但不是操作系统沙箱,仅面向可信本机项目。图片预览最多显示前 100 页,完整 PDF 导出不受此限制。

尚未实测真实 XeLaTeX 发行版、Safari/Firefox、移动设备或 file:// UI。Tectonic 的默认 ctex/Fandol 字体在测试中中文可见但复制映射异常;Windows 显式 fontset=windows 的样例通过,文档已记录,应用不会自动修改用户字体设置。

@Escap1ng
Escap1ng merged commit d353a91 into Escap1ng:main Nov 8, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants