Skip to content

@sciexpr/parser

LaTeX 和化学式解析器。

安装

bash
npm install @sciexpr/parser

ParserRegistry

typescript
import { ParserRegistry } from '@sciexpr/parser'

const registry = new ParserRegistry()

// 自动检测
registry.parse('\\frac{1}{2}')        // → math
registry.parse('H2SO4', { hint:'auto' }) // → molecule

// 手动指定
registry.parse('\\alpha', { hint: 'latex' })
registry.parse('NaCl', { hint: 'chemical' })

LatexParser

typescript
import { LatexParser } from '@sciexpr/parser'

new LatexParser().parse('\\sqrt{x^2 + y^2}')

支持的命令

\frac \sqrt ^{} _{} \alpha~\omega \infty \partial \text{}

自定义解析器

typescript
registry.register({
  id: 'my-parser',
  formats: ['custom'],
  canParse(input) { return input.startsWith('@@') },
  parse(input) { /* ... */ },
})

基于 MIT 协议发布