📜  括号方程乳胶 - TypeScript (1)

📅  最后修改于: 2023-12-03 15:25:52.416000             🧑  作者: Mango

括号方程乳胶 - TypeScript

简介

括号方程乳胶(Parens Latex)是一种数学公式转换工具,可以将括号方程式(PE)转换为 LaTeX 格式。它是使用 TypeScript 语言编写的。

特性
  • 支持转换多种操作符和函数。
  • 支持转换算术运算符、逻辑运算符、关系运算符和赋值运算符。
  • 支持转换常见的数学函数,例如:sin、cos、tan、ln、log、exp、sqrt 等。
  • 支持嵌套括号方程式的转换。
安装

使用 npm 在本地安装括号方程乳胶:

npm install parens-latex
使用
import { parensToLatex } from 'parens-latex';

console.log(parensToLatex('(x+y)*(z+2)')); // 输出 (x+y)\cdot (z+2)
示例

以下是几个示例:

转换加法
parensToLatex('1+2'); // 输出 1+2
parensToLatex('(1+2)+3'); // 输出 (1+2)+3
转换乘法
parensToLatex('2*3'); // 输出 2\cdot 3
parensToLatex('(2*3)*4'); // 输出 (2\cdot 3)\cdot 4
转换除法
parensToLatex('6/2'); // 输出 \frac{6}{2}
parensToLatex('(6/2)/3'); // 输出 \frac{\frac{6}{2}}{3}
转换幂运算
parensToLatex('2^3'); // 输出 2^{3}
parensToLatex('(2^3)^4'); // 输出 (2^{3})^{4}
转换函数
parensToLatex('sin(x)'); // 输出 \sin{x}
parensToLatex('log(x)'); // 输出 \log{x}
parensToLatex('ln(x)'); // 输出 \ln{x}
转换嵌套括号方程式
parensToLatex('(x+y)*(z+2)'); // 输出 (x+y)\cdot (z+2)
parensToLatex('((x+y)*z)+2'); // 输出 ((x+y)\cdot z)+2
代码结构

源代码文件结构如下:

src/
 |- parser/
 |   |- Lexer.ts
 |   |- Parser.ts
 |   `- Token.ts
 |- index.ts
 `- util.ts
  • Lexer.ts:将输入的字符串转换为 Token 序列的词法解析器。
  • Parser.ts:将 Token 序列转换为 LaTeX 格式的语法解析器。
  • Token.ts:Token 对象的定义。
  • index.ts:将输入字符串转换为 LaTeX 格式的函数。
  • util.ts:一些工具函数。