我正在编写显示大量数学内容的软件。在windows窗体中,很难在标签中设置下标或希腊字母,我正在考虑切换到WPF。
目前,我正在寻找在我的图形用户界面中渲染数学表达式,公式或符号的最佳方法。它们必须以标签或绘制的图形/图片显示。没有实时/即时渲染但美丽的修复符号。
最好的方法是什么?我想,MathML应该得到很好的支持,但我找不到很多。我很乐意听到一些建议。
在这里,我可以从(或者我更喜欢的)获取符号:
SVG
(在Inkscape中渲染一些LaTeX并导出到XAML)xmcd
文件(Mathcad XML文档。不知道如何,但至少是XML)html
文件(由LaTeX-> html或Mathcad-> html 我个人不会考虑,但也许有很好的解决方案:
png
- 图标,pdf
,dvi
,eps
,svg
直接导入)我认为使用LaTeX,MathML或html会很棒,因为它们也可以用于文档。我也可以考虑将计算结果导出到*.tex
文件或用LaTeX完全内部生成图形(tikz,pgfplots ......)
答案 0 :(得分:1)
我会使用datatemplates进行纯xaml方法。不需要其他矢量格式或更新引擎。 您可以对表达式树中的每个表达式使用datatemplate。使用视图框可以实现拉伸,因此最顶层的表达式将比内部表达式大。您的datatemplates将从表达式树生成可视树。我的意思是在contentpresenter中会有contentpresenters。
最大的优点是表达式可视化可以是响应式和交互式的,就像MS Word或Excel中的数学表达一样。
我可以帮助你实现,因为如果你不熟悉wpf datatemplates那么这不是一件小事
答案 1 :(得分:1)
考虑使用开源WPF-Math库(免责声明:我是'当前的维护者'。
它可以帮助您在WPF窗口中显示LaTeX表达式。它还使用矢量图形而不是位图,因此公式将在现代显示器上很好地缩放。
答案 2 :(得分:0)
据我所知,最佳渲染(纸上)是通过矢量文件的延迟转换实现的。我更喜欢使用GDI +(System.Drawing)或WPF(System.Media)来渲染公式。如果我们可以就WPF解决方案进行合作,请告诉我。