快速开始
5 分钟上手 Scientific Expression Engine。
安装
bash
npm install @sciexpr/core @sciexpr/renderer katex
npm install @sciexpr/vue
npm install @sciexpr/ai @sciexpr/markdown markdown-it
npm install @sciexpr/chemistry @sciexpr/math @sciexpr/presets渲染第一个公式
typescript
import { ParserRegistry } from '@sciexpr/parser'
import { KatexRenderer } from '@sciexpr/renderer'
const ast = new ParserRegistry().parse('\\frac{1}{2}')
const html = new KatexRenderer().render(ast).value解析化学式
typescript
const ast = new ParserRegistry().parse('H2SO4', { hint: 'auto' })
// → type: 'molecule'Vue 组件
vue
<script setup>
import { Formula, Toolbar } from '@sciexpr/vue'
</script>
<template>
<Formula source="\frac{1}{2}" />
<Toolbar @insert="(latex) => console.log(latex)" />
</template>Markdown 集成
typescript
import MarkdownIt from 'markdown-it'
import { formulaPlugin } from '@sciexpr/markdown'
const md = new MarkdownIt().use(formulaPlugin)
md.render('E = $mc^2$')AI 集成
typescript
import { AIPipeline } from '@sciexpr/ai'
class MyProvider implements IAICompletionProvider {
async complete(ctx) { /* 调用你的 AI */ }
}
const pipeline = new AIPipeline({
completionProvider: new MyProvider(),
})化学工具
typescript
import { ELEMENT_MAP, FormulaValidator, ReactionBalancer } from '@sciexpr/chemistry'
// 查询铁元素
ELEMENT_MAP.get('fe') // { symbol:'Fe', nameCN:'铁', atomicNumber:26, ... }
// 验证化学式
new FormulaValidator().validateText('H2SO4') // { valid: true }
// 检查反应平衡
new ReactionBalancer().checkConservation(
['2NaOH', 'H2SO4'], ['Na2SO4', '2H2O']
) // { balanced: true }数学工具
typescript
import { searchSymbols, MatrixUtils } from '@sciexpr/math'
// 搜索符号
searchSymbols('alpha') // [{ latex:'\\alpha', unicode:'α', ... }]
// 矩阵乘法
new MatrixUtils().multiply([[1,2],[3,4]], [[5,6],[7,8]])
// → [[19,22],[43,50]]
// 生成 LaTeX 矩阵
new MatrixUtils().toLaTeX([['a','b'],['c','d']])
// → '\begin{pmatrix}\na & b \\\\\nc & d\n\\end{pmatrix}'