我必须在Java应用程序中显示一些数学方程式。我已经下载了jEuclid,但我不知道如何使用它,似乎无法找到任何好的教程。我必须以
的形式显示分数(P + R * SQRT(d))/ Q
目前我正在使用jTextArea
,输出基本上是
P:num,R:num,D:num,Q:num
如何用jEuclid表示这个分数?我会做乳胶
\frac{...}{...}
但是如何用jEuclid做到这一点?
非常感谢你!
答案 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><!-- ⁢ --></mo>
<msqrt>
<mi>Q</mi>
</msqrt>
</mrow>
<mrow>
<mn>Q</mn>
</mrow>
</mfrac>
</mrow>
</math>
以下是JEuclids MathViewer中此MathML文档的屏幕截图: