2013-05-16 147 views
0

我一直在试图确定将某些计算机代数系统的输出转换为某种可见格式(mathml,latex)的最佳方法,那么最好的方法是什么?将平原ascii数学或ascii艺术转换为mathml/latex

我试过使用普通的ascii表示法,并转换为mathml,但结果并不总是正确的,我一直在考虑获得二维ascii艺术表示并将其更改为mathml,有没有库这可以做到这一点(IM与Python工作) 我试过onetwo,但他们只能用简单的ascii而不是2-ascii。

         %pi 
            3 %e  3 
(%o1)        ------- - - 
            5  5 

(%o3) 3*%e^%pi/5-3/5 

上述两种都是非常根据最大值是相同的,但将它们转换为 MATHML产量不完善的结果,因为的“%”的优先顺序被弄乱和pi结束而乘以ë比superscipt。用'%pi'代替'pi'是否足够?

+0

你见过http://www.hippasus.com/resources/symmath/maximatypeset.html? – katrielalex

+0

@katrielalex是的,我知道maxima能够做到这一点,可以很好地处理自己简单的ascii输入,但不适用于二维ascii艺术。此外,因为即时通过编程访问它(即时通过使用Python),它会变得有点笨拙(更不用说提示什么时候这样做)在每次评估后运行tex(%),而这一切都不是我尝试使用其他CAS如公理/单数/减少。 – mike

回答

2

应该很容易将该线性的%窗体转换为asciimath,基本上只需删除%并用反引号包围即可。

使用Asciimath的MathJax版本

<!DOCTYPE html> 
<html> 
<head> 
<script type="text/javascript" 
    src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-MML-AM_HTMLorMML"> 
</script> 
<title></title> 
</head> 
<body> 

`3*e^pi/5-3/5` 


</body> 
</html> 

主要生产

enter image description here

+0

谢谢,我已经决定把它作为一个停止差距的措施,我不知道这是多么强大和未来的证明,但它的工作原理。 – mike

+0

未来的注意事项:cdn.mathjax.org即将结束其生命周期,请查看https://www.mathjax.org/cdn-shutting-down获取迁移提示(也许可以为未来的读者更新您的文章)。 –

+0

@PeterKrautzberger谢谢你的ping(你可以编辑它:-)我会修复,谢谢。 –