在Java中帮助jEuclid

时间:2011-05-05 22:33:03

标签: java math tex

我必须在Java应用程序中显示一些数学方程式。我已经下载了jEuclid,但我不知道如何使用它,似乎无法找到任何好的教程。我必须以

的形式显示分数
  

(P + R * SQRT(d))/ Q

目前我正在使用jTextArea,输出基本上是

  

P:num,R:num,D:num,Q:num

如何用jEuclid表示这个分数?我会做乳胶

\frac{...}{...}

但是如何用jEuclid做到这一点?

非常感谢你!

2 个答案:

答案 0 :(得分:2)

以下是将MathML转换为图像的Java程序:

import java.io.File;
import java.io.IOException;

import net.sourceforge.jeuclid.MutableLayoutContext;
import net.sourceforge.jeuclid.context.LayoutContextImpl;
import net.sourceforge.jeuclid.context.Parameter;
import net.sourceforge.jeuclid.converter.Converter;

public class MathMLToImage{
    public static void main(String[] args) throws IOException {
        Converter converter = Converter.getInstance();
        File inputFile = new File("D:\\TEMP\\mathml.xml");
        File outputFile = new File("D:\\TEMP\\image.jpg"); 
        //params to mention the size of image
        MutableLayoutContext params = new LayoutContextImpl(
                LayoutContextImpl.getDefaultLayoutContext());
        params.setParameter(Parameter.MATHSIZE, 50f);

        converter.convert(inputFile, outputFile , "image/jpeg", params);
    }

}

您可以使用此图像输出在应用程序中显示。

答案 1 :(得分:1)

据我所知(通过阅读网站),JEuclid是一个将presentional MathML转换为图形的程序。因此,您必须在MathML中以文本形式或某些XML API编写输入,然后将其提供给JEuclid。

对于您的示例,它看起来像这样(改编自维基数据中的示例):

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<math xmlns="http://www.w3.org/1998/Math/MathML">
  <mrow>
    <mi>x</mi>
    <mo>=</mo>
    <mfrac>
      <mrow>
        <mi>P</mi>
        <mo>+</mo>
        <mn>R</mn>
        <mo>⁢<!-- &InvisibleTimes; --></mo>
        <msqrt>
          <mi>Q</mi>
        </msqrt>
      </mrow>
      <mrow>
        <mn>Q</mn>
      </mrow>
    </mfrac>
  </mrow>
</math>

以下是JEuclids MathViewer中此MathML文档的屏幕截图:

screenshot