npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

math-formula-classifier

v1.2.3

Published

A JavaScript library for classifying mathematical LaTeX formulas

Readme

数学公式分类器

一个用于分类 LaTeX 数学公式的 JavaScript 库。

安装

使用 npm 安装:math-formula-classifier

使用方法

导入 classifyFormula 函数,传入 LaTeX 格式的数学公式,即可获得分类结果。

支持的公式类型

算术运算

  • 整数运算

    • 基本四则运算
    • 带括号的复合运算
    • 竖式加减乘除
  • 小数运算

    • 小数四则运算
    • 小数混合运算
    • 小数竖式运算
  • 分数运算

    • LaTeX分数形式
    • 普通分数形式
    • 分数四则运算
    • 分数与整数混合运算
    • 分数与小数混合运算
  • 根式运算

    • 平方根
    • n次根
    • 根式四则运算
    • 根式与分数混合运算
    • 根式与小数混合运算
  • 混合运算

    • 分数与根式组合
    • 小数与分数组合
    • 小数与根式组合
    • 复合混合运算
  • 竖式运算

    • 整数竖式
    • 小数竖式
    • 加减法竖式
    • 乘除法竖式
  • 绝对值运算

    • 绝对值四则运算
    • 绝对值与分数混合运算
    • 绝对值与小数混合运算

方程

  • 一元一次方程
  • 一元二次方程
  • 方程组
  • 其他类型方程

其他类型

  • 复数运算
  • 三角函数
  • 函数表达式
  • 序列和级数
  • 排列组合

API 说明

classifyFormula 函数

输入:LaTeX 格式的数学公式字符串 返回:包含以下信息的对象

  • 类别:公式的主要分类
  • 子类型:具体的公式类型
  • 详细信息:额外的分析信息(如果有)
  • 得分:分类的置信度分数
  • 耗时:处理时间(毫秒)

更新日志

[v1.2.3] - 2025-01-19

修复

  • 修复了绝对值运算被错误识别为无效算术的问题
    • 移除了 ArithmeticClassifier 中对减号的特殊检查
    • 确保 |2| + |-3| 等表达式能被正确识别为绝对值运算
    • 保留了对真正中文破折号的检测

[v1.2.2] - 2025-01-16

修复

  • 修复了数学减号被误识别为中文破折号的问题
    • 改进了中文破折号的检测规则
    • 现在只匹配连续两个减号(--)或 CJK 破折号(—)
    • 单个减号不再被识别为中文文本
    • 确保数学减号能被正确识别为算术运算

[v1.2.1] - 2025-01-16

改进

  • 优化了分类器的中文文本处理
    • 将中文文本检测移至 UnsupportedClassifier
    • 提高了中文文本的基础分数和权重
    • 改进了中文破折号的识别逻辑
    • 确保中文文本始终获得足够高的分数
  • 优化了分类器的优先级处理
    • 调整了 UnsupportedClassifier 对特殊内容的评分机制
    • 确保特殊内容不会被错误地归类为其他类型
    • 完善了分类器间的权重平衡

[v1.2.0] - 2025-01-15

改进

  • 增强了 UnsupportedClassifier 的物理化学公式识别能力
    • 添加了全面的物理量单位支持:
      • 温度 (°C, K, °F)
      • 压力 (Pa, atm, bar, mmHg)
      • 体积 (m³, L, mL)
      • 质量 (kg, g, mg)
      • 速度 (m/s, km/h)
      • 能量 (J, kJ, cal)
      • 功率 (W, kW)
      • 电学量 (V, A, Ω)
      • 频率 (Hz, kHz)
      • 浓度 (mol/L, M, mM)
    • 改进了化学表达式识别:
      • 化学方程式 (→, ⇌)
      • 化学式
      • pH值和平衡常数
    • 增强了物理表达式识别:
      • 向量表达式
      • 量子力学表达式
      • 热力学表达式
    • 优化了单位识别逻辑:
      • 优先识别复合单位
      • 准确区分相似单位
      • 支持标准的 \mathrm{} 格式
    • 完善了测试用例覆盖

[v1.0.19] - 2024-11-30

改进

  • 优化了 ExpressionClassifier 的英文文本处理
    • 添加了 _isEnglishSentence 方法用于检测英文句子
      • 支持检测常见英文单词(如 the, a, an 等)
      • 支持检测连续的3个或更多字母
      • 支持检测典型的英文句子结构
    • 在分类过程中优先进行英文句子检查
    • 避免将英文文本误识别为数学表达式
    • 提高了分类器对非数学内容的鲁棒性

[v1.0.17] - 2024-11-30

改进

  • 优化了变量分析工具 (VariableAnalyzer)
    • 改进了乘号 'x' 的识别逻辑
      • 添加了 isMultiplicationX 函数进行精确判断
      • 支持检测独立的 x(前后有空格)
      • 支持检测数字之间的 x
      • 支持检测乘法运算符形式的 x
    • 优化了变量过滤机制
      • 检查每个 x 的具体位置和上下文
      • 更准确地区分变量 x 和乘号 x
    • 改进了正则表达式方案
      • 使用相同的乘号判断逻辑
      • 优化了科学计数法中 e 的处理
    • 移除了冗余的字符串预处理步骤
    • 提高了变量检测的准确性和可靠性

[v1.0.16] - 2024-11-30

改进

  • 优化了 ExpressionClassifier 的变量检测逻辑
    • 改进了乘号 'x' 的处理,避免将其误识别为变量
    • 优化了分数运算的检测逻辑
    • 重构了分类器的检查顺序和优先级
    • 调整了特征权重系数
    • 增强了对混合运算的支持
    • 改进了基本算术运算的识别准确性

[v1.0.15] - 2024-11-30

改进

  • 优化了 ExpressionClassifier 的分类逻辑
    • 添加了 -Infinity 评分机制,确保基本运算被正确分类
    • 改进了基本算术运算的检测
    • 增强了对 LaTeX 运算符的支持
    • 优化了分类器的优先级顺序

[v1.0.14] - 2024-11-30

  • 初始文档创建
  • 添加了 Jest 与 ESM 项目的基础配置说明
  • 记录了常见问题及解决方案
  • 提供了配置文件示例和最佳实践指南

[1.0.13] - 2024年11月29日

  • 优化了分类器的权重系统:
    • 提高了算术分类器的基础权重(3.5)
    • 调整了方程分类器的权重(3.0)
    • 降低了表达式分类器的权重(2.0)
  • 改进了分类器的得分计算:
    • 增加了纯数字等式的算术得分
    • 降低了纯数字等式的方程得分
    • 优化了混合运算的权重分配
  • 完善了测试系统:
    • 添加了分类器权重比较测试
    • 增加了数字等式的测试用例
    • 添加了分类器得分调试信息

[1.0.12] - 2024年11月29日

  • 改进了竖式运算的识别:
    • 支持更多除号形式(\div 和 /)
    • 添加了小数竖式的识别
    • 完善了竖式的详细信息:
      • 添加了小数标记
      • 添加了横线标记
      • 改进了运算符识别
  • 优化了测试用例:
    • 添加了更多竖式测试用例
    • 增加了小数竖式测试
    • 完善了运算符检查

[1.0.11] - 2024年11月28日

  • 改进了根式运算的分类能力:
    • 支持根式之间的四则运算
    • 支持根式与数字的混合运算
    • 支持根式与分数的混合运算
  • 优化了分类器的检查顺序:
    • 根式运算优先于分数运算
    • 混合运算优先于单一类型运算
  • 完善了根式运算的详细信息:
    • 添加了运算符类型识别
    • 添加了多重根式检测
    • 添加了分数形式标记

[1.0.9] - 2024年11月27日

  • 改进了二元二次方程的识别:
    • 支持平方项识别
    • 支持交叉项(xy)识别
    • 添加了更详细的方程特征信息

[1.0.8] - 2024年11月27日

  • 增强了竖式运算的识别:
    • 支持除号的多种形式(/ 和 \div)
    • 改进了竖式格式的检测
    • 完善了运算符提取

[1.0.7] - 2024年11月27日

  • 增强了绝对值运算的分类能力
  • 添加了新的算术子类型:
    • absolute_value_arithmetic:绝对值运算
  • 改进了分数运算的识别:
    • 支持 / 符号作为分数运算符
    • 添加了绝对值分数运算的识别
  • 完善了分类器的详细信息:
    • 添加了运算符类型识别
    • 添加了多重绝对值检测
    • 改进了混合运算的判断

[1.0.6] - 2024年11月26日

  • 增强了算术运算的分类能力
  • 添加了更多算术子类型:
    • integer_arithmetic:整数运算
    • decimal_arithmetic:小数运算
    • fraction_arithmetic:分数运算
    • radical_arithmetic:根式运算
    • mixed_arithmetic:混合运算
    • vertical_arithmetic:竖式运算
    • absolute_value_arithmetic:绝对值运算
  • 为每种子类型添加了详细的特征信息

[1.0.5] - 2024年11月26日

  • 添加了算术公式的子类型
  • 增强了竖式运算的检测

[1.0.4] - 2024年11月25日

  • 添加了环境变量支持
  • 修复了服务器配置问题

[1.0.3] - 2024年11月24日

  • 添加了导出配置
  • 改进了模块兼容性

[1.0.2] - 2024年11月23日

  • 首次公开发布
  • 支持基本的公式分类功能

Test

npm run test:equation npm run test:examples npm run test:integration npm run test:all

开源协议

MIT 协议