Text2Math

approved

by ArronHC

Convert natural language into LaTeX math formulas. - This plugin has not been manually reviewed by Obsidian staff.

10 downloadsUpdated 8d agoMIT

Text2Math

一款 Obsidian 插件:将中文或英文自然语言转换为 LaTeX 数学公式。

选中一段文字,执行命令,预览公式,确认替换 —— 三步完成公式输入,无需记忆 LaTeX 语法。

输入:当x趋近于0时,sin x除以x的极限等于1
输出:$\lim_{x\to 0}\frac{\sin x}{x}=1$

功能特性

  • 选中转换:选中自然语言,通过命令面板转换为公式并替换原文(桌面端和移动端均可用)
  • 桌面右键菜单:选中文字后右键,直接点击“转换成数学公式”
  • 弹窗输入:未选中文字时弹出输入框,公式插入光标位置;可强制变量字母全部大写/小写
  • 大小写语义:描述里说“大X”表示大写 X,“小x”表示小写 x
  • 三种输出模式:行内公式($...$)、块级公式($$...$$)、自动判断(矩阵/分段函数/多行推导自动使用块级)
  • 转换预览:替换前实时渲染公式,支持手动编辑 Markdown、切换行内/块级、重新生成、复制到剪贴板;桌面端可用 Ctrl/Cmd+Enter 快速确认
  • 自定义转换要求:可在设置中追加转换偏好(如"矩阵统一用 bmatrix")
  • 渲染校验:公式无法渲染时给出警告,不会替换原文
  • 自定义 API:支持任何 OpenAI 兼容接口(官方 API、中转服务、自建服务、本地模型如 Ollama/LM Studio 等),API 地址、Key、模型均可自定义
  • 模型列表:一键从接口拉取可用模型,下拉选择
  • 安全可控:转换失败不修改原文,替换支持 Ctrl+Z 撤销;只发送选中的文字,不上传笔记其他内容;API Key 仅保存在本地

安装

Text2Math 0.2.1 起同时支持 Obsidian 电脑端和手机端。

电脑端安装

使用 BRAT(推荐)

  1. 安装并启用 BRAT
  2. 打开命令面板(Ctrl/Cmd + P),执行 BRAT: Add a beta plugin for testing
  3. 输入仓库地址:https://github.com/ArronHC/Text2Math
  4. 安装完成后,前往 设置 → 第三方插件,启用 Text2Math

手动安装

  1. Releases 下载 main.jsmanifest.jsonstyles.css
  2. 在 Obsidian 库中创建目录 .obsidian/plugins/text2math/,将三个文件放入
  3. 重启 Obsidian,前往 设置 → 第三方插件,启用 Text2Math

手机端安装

使用 BRAT(推荐)

  1. 在 Obsidian 手机端打开 设置 → 第三方插件,关闭安全模式并安装、启用 BRAT
  2. 从侧边栏打开命令面板,执行 BRAT: Add a beta plugin for testing
  3. 输入仓库地址:https://github.com/ArronHC/Text2Math
  4. 等待 BRAT 下载完成,前往 设置 → 第三方插件,启用 Text2Math

Text2Math 0.2.1 已声明支持移动端,无需在 BRAT 中开启“允许不兼容插件”。BRAT 会从最新 Release 下载根目录下的 main.jsmanifest.jsonstyles.css

手机端手动安装

  1. Releases 下载 main.jsmanifest.jsonstyles.css
  2. 使用系统文件管理器或同步工具,将三个文件放入库目录 .obsidian/plugins/text2math/
  3. 完全退出并重新打开 Obsidian,前往 设置 → 第三方插件,启用 Text2Math

Android 上若看不到 .obsidian,请在文件管理器中开启“显示隐藏文件”。iOS 对库内部目录的直接访问限制较多,建议优先使用 BRAT。

从源码构建(开发者)

git clone https://github.com/ArronHC/Text2Math.git
cd Text2Math
npm install
npm run build   # 生成 main.js

快速配置

  1. 打开 设置 → Text2Math
  2. 填写 API Base URL(例如 https://api.openai.com/v1
  3. 填写 API Key
  4. 点击 获取模型列表 选择模型,或手动填写模型名
  5. 点击 测试连接 确认配置可用

详细使用说明见 教程

命令

命令功能
Text2Math: Convert selected text转换选中的自然语言(未选中时打开输入弹窗)
Text2Math: Insert math formula打开输入弹窗,公式插入光标位置
Text2Math: Open settings打开插件设置

插件不预设快捷键。桌面端可在 设置 → 快捷键 中搜索 Text2Math 自行绑定,推荐 Ctrl + Shift + M。移动端可从命令面板执行命令,也可以在 设置 → 移动端 → 管理工具栏选项 中将 Text2Math 命令加入移动工具栏。

移动端说明

  • 命令面板和移动工具栏是推荐入口;右键菜单仅作为桌面端便捷操作。
  • 预览窗口中直接点击 替换原文复制 等按钮,无需外接键盘。
  • 手机上配置的 localhost 指手机本身。如果 Ollama 或 LM Studio 运行在电脑上,请填写手机能够访问的局域网、VPN 或 HTTPS 地址,并确认服务监听非回环地址、防火墙允许连接。
  • 不要把无鉴权的本地模型接口直接暴露到公网。

开发

npm install
npm run dev     # watch 模式
npm run build   # 类型检查 + 生产构建
node t2m-test.mjs        # 运行单元测试
node mock-server.mjs     # 启动模拟 OpenAI 接口(端口 8787,Key: test-key)

网络与隐私

Text2Math 需要联网才能将公式描述发送至你在设置中自行配置的 OpenAI 兼容 API。网络请求仅用于:

  • 将你选中的文字(或在弹窗中输入的内容)发送到该 API,生成 LaTeX 公式;
  • 在你主动点击“获取模型列表”或“测试连接”时,向同一 API 发起对应请求。

插件不预设、不运营任何远程服务;不读取选区之外的笔记内容,不上传完整笔记,也不包含遥测、分析或广告。API Key 仅保存在本地库的 .obsidian/plugins/text2math/data.json 中,并且只会随请求发送给你配置的 API。

License

MIT

For plugin developers

Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.