原始地址:https://news.cnblogs.com/n/671205/
和latex对应的包为:handcalcs,使用pip下载即可
另外需要一些常用的数学包,首先在python本地将公式创建出来,如math包,scipy的积分生成包等
环境为jupyter notebook
以下代码生成了公式中的的预览图。其中%%render为实现的代码,分割线表示为两个ceil的分隔。
from math import sqrt
from math import asin
from math import sin
import handcalcs.render
a=1
b=2
c=3
d=4
===========================================
%%render
d=sqrt(a/b)+asin(sin(b/c))+(a/b)**(0.5)
使用#symbolic表示只生成过程,不计算结果。其中的a-d,已经在之前定义过。
%%render
#symbolic
d=sqrt(a/b)+asin(sin(b/c))+(a/b)**(0.5)
直接使用普通注释在原始公式后即可
%%render
#symbolic
d=sqrt(a/b)+asin(sin(b/c))+(a/b)**(0.5) #这里是注释
使用%%tex语法,即可生成对应的代码
%%tex
#symbolic
d=sqrt(a/b)+asin(sin(b/c))+(a/b)**(0.5)
在如下函数中,使用handcalc导入,并使用该注解。函数参数个数和注解中的参数个数保持一致。
@handcalc(1,1,1)
def my_calc(x,y,z):
a=2*x/y
b=3*a
c=(a+b)/z
return locals()
my_calc(2,3,4)
在调用了该函数后,会显示相应的信息