功能:从Python函数生成LaTeX数学描述。
版本:Python 3.6
1.安装
pip install latexify-py
2.使用
import math
import latexify
示例
本文使用Overleaf查看输出公式的效果
https://www.overleaf.com/project
如果在Overleaf新建一个空的Project,需要在前面加上两个包amssymb
和mathtools
:
\usepackage{amssymb}
\usepackage{mathtools}
1.分段函数
@latexify.with_latex
def f_1(x):
if x==1:
return 1
elif x==2:
return 2
else:
return f_1(x-1) + f_1(x-2)
print(f_1)
2.分数、开根号
@latexify.with_latex
def f_2(a, b, c):
return (-b + math.sqrt(b**2 - 4*a*c)) / (2*a)
print(f_2)
3.特殊字母
@latexify.with_latex
def f_3(alpha, beta, gamma, Omega):
return alpha * beta + math.gamma(gamma) + Omega
print(f_3)
使用Latex行间公式,结果如下图所示
问题
经过我进一步的使用发现,并不是所有字母都能得到正确的转化,例如 π \pi π
## 2020.8.1
@latexify.with_latex
def f_4(x,y):
return A*cos(omega*math.pi*x) +B*sin(mu*math.pi*y)
print(f_4)
输出
\operatorname{f_4}(x, y) \triangleq A\operatorname{cos}\left({\omega}math.pix\right) + B\operatorname{sin}\left({\mu}math.piy\right)
latex显示
解决:实际上直接写pi而不是math.pi,就可以了:
@latexify.with_latex
def f_4(x,y):
return A*cos(omega*pi*x) +B*sin(mu*pi*y)
print(f_4)
参考
https://github.com/odashi/latexify_py
Github示例
分分钟甩Word几条街,Python编辑公式竟可以如此简单