Py2Math Live - Python to LaTeX Real-time Preview
Py2Math Live 是一款专为科学家、工程师和学生打造的 VS Code 插件。它能将你编写的 Python 代码逻辑实时转换为优雅的 LaTeX 数学公式,让公式推导变得像写代码一样简单高效。
(建议此处替换为你的实际演示动图)
✨ 核心特性
- 实时转换:无需编译,光标移动或输入时即刻在侧边栏显示数学公式。
- 直观语法:支持标准 Python 算术运算符 (
*, /, **) 自动转为 LaTeX 符号。
- 高级算子支持:内置
limit (极限), sum (求和), integrate (积分), diff (导数) 等数学算子。
- 矩阵渲染:使用 Python 嵌套列表
[[1,2],[3,4]] 快速生成 LaTeX 矩阵。
- 希腊字母自识别:输入
alpha, beta, Delta 等自动转义。
- 语义化下标:支持中文下标映射(如
v_速度)及双下划线下标 (x__max)。
- 全文/单行切换:支持仅渲染当前行或渲染整个 Python 文件的逻辑推导。
🚀 快速开始
安装环境:确保你的系统已安装 Python 3 并添加至系统环境变量。
启动插件:在 VS Code 活动栏(Activity Bar)点击 Py2Math 图标。
编写代码:在 .py 文件中输入数学逻辑,例如:
E == m * c**2
delta = sqrt(b**2 - 4*a*c)
查看预览:侧边栏将立即显示对应的 LaTeX 渲染效果。
📖 常用语法示例
| 功能 |
Python 写法 |
LaTeX 预览 |
| 极限 |
limit(sin(x)/x, x, 0) |
$\lim_{x \to 0} \frac{\sin(x)}{x}$ |
| 求和 |
sum(1/n**2, n=1, inf) |
$\sum_{n=1}^{\infty} \frac{1}{n^2}$ |
| 矩阵 |
M = [[cos(theta), -sin(theta)], [sin(theta), cos(theta)]] |
$\begin{bmatrix} \cos(\theta) & -\sin(\theta) \ \sin(\theta) & \cos(\theta) \end{bmatrix}$ |
附录:插件发布指南
如果你希望将 Py2Math-Live 分享给其他开发者使用,可以参考以下流程:
方案一:生成离线安装包 (.vsix)
这是最简单的方式,适合在团队内部或通过社交媒体直接分享。
- 安装打包工具: 在终端运行:
npm install -g vsce
- 执行打包: 在项目根目录下运行:
vsce package
- 分发文件: 运行后会生成一个
py2math-live-0.0.1.vsix 文件。他人只需在 VS Code 扩展面板点击“三个点”图标,选择 "Install from VSIX..." 即可安装。
方案二:发布到 VS Code 市场 (Marketplace)
适合公开给全球用户搜索和安装。
- 创建账号: 前往 Azure DevOps 创建账号并获取 Personal Access Token (PAT)。
- 创建发布者: 在 Visual Studio Marketplace 创建一个 Publisher ID。
- 登录并发布:
- 登录:
vsce login <publisher_id>
- 发布:
vsce publish
发布前的检查清单
README.md:确保项目说明文档包含动态演示图或清晰的使用说明。
图标 (icon):在 package.json 中配置 icon 路径,让插件在市场中更具辨识度。
依赖声明:告知用户系统需要安装 Python 环境。
版本号:每次更新发布前,需增加 package.json 中的 version 字段。
🛠️ 发布与打包指南 (针对开发者)
如果你在运行 vsce package 时遇到 Extension entrypoint(s) missing 错误,请按以下步骤操作:
执行编译: 插件的源码在 src 目录(TypeScript),但运行需要 out 目录(JavaScript)。运行命令生成它:
npm run compile
执行后请确认项目根目录下出现了 out/extension.js。
检查 .vscodeignore: 确保你的 .vscodeignore 文件中没有包含 out/ 或 out/**。该文件决定了哪些文件不被打包进插件,out 目录必须包含在内。
补充仓库信息: vsce 要求 package.json 中包含 repository 字段。我已经为你更新了该配置。
重新打包:
vsce package
🤝 贡献与反馈
如果你在使用过程中遇到任何问题或有功能建议,欢迎在 GitHub Issues 提交反馈。
Py2Math Team 出品
| |