在我的Python程序中,我创建了一系列数学对象的层次结构来表示数学公式。例如,有一个
我需要向用户显示进行某些任务的数学操作步骤,例如获取未知变量等。目前,我以纯文本形式生成这个“指南”,就像...
Collection
,它是一系列Equations
,这些方程式包含两个Sums
、Products
、Quotients
、Exponants
或Logarithms
,这些都建立在Figures
之上,这些数字或变量可以是数字或变量。我需要向用户显示进行某些任务的数学操作步骤,例如获取未知变量等。目前,我以纯文本形式生成这个“指南”,就像...
F = (m)(a)
m = (F)/(a)
a = 2, F = 3
m = (3)/(2) = 1.5
然而,用纯文本表示复杂公式(例如:log[2](n)=(m)((a)^(2))
)是不美观的,并且违背了程序的一个目标,即为用户保持最大的清晰度。
我目前正在使用PyQt4编写GUI,并需要制作一个公式(每个步骤)的表示,可以在Qt应用程序中显示。这些公式不需要是文本。由于对象结构,将对象转换为所需的标记文本非常容易。实际显示方法可以是任何形式,只要我可以将其干净地嵌入我的GUI中,例如SVG、图像等。
- 起初,我考虑使用MathML,但是发现当显示HTML时,PyQt会忽略MathML标签,而一种名为QMmlWidget的工具曾经存在过,专门用于此任务,但已被弃用。
- 后来我了解到,结合
sympy
、svgmath
和QSvgWidget
的组合可以正常工作,将公式显示为Svgs,但我需要能够分发我的代码,设置svgmath中的字体配置问题。 - 我发现Display LaTeX Equations in-line with terminal 看起来很有前途,但是视频总长近4个小时,我没有这么耐心。
我几乎想自己编写代码,使用PIL或类似的工具将我的数学对象直接转换为图像,但我不想认为有人已经完成了这项工作并做得更好。
非常感谢任何和所有的帮助!
谢谢!
matplotlib
,它具有出色的LaTeX
支持(http://matplotlib.org/gallery.html)。 您可以使用它来生成图像,或查看它们是如何实现的。 - tacaswell