代码之家  ›  专栏  ›  技术社区  ›  tipu

基于数学输入生成公式png文件

  •  9
  • tipu  · 技术社区  · 16 年前

    我想知道基于输入类型可以生成.png的选项是什么,一个提供图形计算器。所以

    (y^2+5x+3)/(3x+3+5y+18)

    会回来的

    到目前为止,我唯一发现的是Mediawiki中的Texvc,但为它的一个模块获取整个Mediawiki似乎有点过分。

    (y^2+5x+3)/(3x+3+5y+18)

    会回来

    alt text

    到目前为止,我发现的唯一一件事就是Mediawiki中的Texvc,但要将整个Mediawiki用于其中一个模块,似乎太过分了。

    6 回复  |  直到 16 年前
        2
  •  2
  •   John D. Cook    16 年前

    有 dvipng 它有很多参数需要处理。如果你想要这样的控制,那是好的,但是如果你想要更简单的使用,那是坏的。

        3
  •  2
  •   Andrew Moylan    16 年前

    使用Mathematica的一个选项是:

    Export["etc.png", 
     Rasterize[TraditionalForm[HoldForm[(y^2 + 5 x + 3)/((3 x + 3) + 5 y + 18)]]]]
    

    生成此图像文件:

    alt text http://i32.tinypic.com/2qtbekz.png

        4
  •  2
  •   Jouni K. Seppänen    16 年前

    Matplotlib mathtext engine 可以将tex的子集转换为图像。具体见 MathtextBackendBitmap 对于不需要其他Matplotlib后端的解决方案。

    如果这不起作用,matplotlib也有调用tex和dvipng的代码。

    Sage 还可以包含一些有用的代码。

        5
  •  1
  •   jsbueno    16 年前

    正如许多人所说,Tex可能是最直接的途径。- 搜索python-tex会产生一些可能性,其中一个更简单的可能是: http://pypi.python.org/pypi/tex/1.5

    它只是一个包装器,将tex称为子进程,并有一个“dvi”文件——您仍然需要运行dvi png(正如@johncook所说,它与tex一起提供)来获取PNG文件。

    缺点是必须设置完整的tex工具链(在大多数Linux发行版上不是问题)。

    另一种方法是获取MathML呈现库——但是随后,您必须为YUR方程式组装MathML标记。thre是一个很有前途的python mathml到svgmodule: http://sourceforge.net/projects/svgmath/ 它应该具有更少的库依赖性,并且根据您的目的,SVG可能比.png更适合用于方程式。否则,再次要求stackoverflow在python中从.svg转到.png:-)

        6
  •  0
  •   duffymo    16 年前

    有一个网站 EquationSheet.com 这允许您输入乳胶并返回生成图像的URL。也许你的网站可以使用它。