1个不稳定版本

0.1.0 2023年10月3日

#1629 in 文本处理

MIT/Apache

43KB
1K SLoC

在终端中渲染asciimath

使用Unicode字符将数学公式显示为纯文本。

这是一个正在进行中的项目,规格说明书的几个重要部分尚未支持。

示例

离散傅里叶变换定义为X^k=1/N sum_(n=0)^(N-1)x_n * e^(-ik (2pi)/N n) = 1/N sum_(n=0)^(N-1)x_n[cos(k (2pi)/N n) -i sin(k (2pi)/N n)]

-ik────n                                    
 k  1  N-1         N    1  N-1  ⎡   ⎛  2π  ⎞     ⎛  2π  ⎞⎤
X =───∑   x ⋅e        =───∑   x ⎥cos⎜k────n⎜-isin⎜k────n⎜⎥
    N  n=0 n            N  n=0 n⎣   ⎝   N  ⎠     ⎝   N  ⎠⎦

f(x)=sqrt x + 1/2x^2

1  2
f(x)=2╲╱x+───x 
           2   

sqrt x

  ▁
╲╱x

限制

  • 通用的cancel无法实现。对于文本字面量,可以将其替换为删除线(cancel x -> x̶ 或 x̷ 或 x̸),对于表达式则没有方法实现。
  • 我们不控制字体,因此花哨的文本效果也无法实现或非常有限(它们可以用于文本字面量)。

用法

cargo add asciimath-text-renderer

如果您已下载源代码,可以运行示例

cargo run --example render 'sqrt(2)'
  
╲╱2

依赖

~1.3–1.9MB
~36K SLoC