我写了small Java application来为我的数学修订创建可打印的抽认卡。
目前,我正在使用JLaTeXMath从LaTeX为每一面生成图像。
唯一的问题是,JLaTeXMath似乎仅限于LaTeX公式。我想使用相同的程序为其他主题创建抽认卡,例如生物学,其中问题和答案将基于文本(而不是基于方程式),而LaTeX公式则不适用于此。
是否有任何可以解析LaTeX的Java库? 或者有更好的方法吗?
答案 0 :(得分:7)
LaTeX是一种完整的编程语言。解析它意味着执行程序。
虽然在许多常见案例中似乎很简单 - \section
等等 - 但这远远不是微不足道的。事实上,它应该是完整的。有些部分甚至会有或多或少不同的语法。以TIKZ为例 - 一个优秀的LaTeX图形绘制库。它的语法有点像乳胶,但其他部分更多的是现代编程语言。很多就像样式表。
但是,您可能只能支持部分乳胶语法。看看Texlipse的作用。它在Java中。
答案 1 :(得分:2)
我会使用JLaTeXMath:
“ JLaTeXMath是显示LaTeX代码的最佳Java库。”
import org.scilab.forge.jlatexmath.TeXConstants;
import org.scilab.forge.jlatexmath.TeXFormula;
public class Example5 {
public static void main(String[] args) {
String latex = "\\begin{array}{|c|l|||r|c|}";
latex += "\\hline";
latex += "\\text{Matrix}&\\multicolumn{2}{|c|}{\\text{Multicolumns}}&\\text{Font sizes commands}\\cr";
latex += "\\hline";
latex += "\\begin{pmatrix}\\alpha_{11}&\\cdots&\\alpha_{1n}\\cr\\hdotsfor{3}\\cr\\alpha_{n1}&\\cdots&\\alpha_{nn}\\end{pmatrix}&\\Large \\text{Large Right}&\\small \\text{small Left}&\\tiny \\text{tiny Tiny}\\cr";
latex += "\\hline";
latex += "\\multicolumn{4}{|c|}{\\Huge \\text{Huge Multicolumns}}\\cr";
latex += "\\hline";
latex += "\\end{array}";
TeXFormula formula = new TeXFormula(latex);
formula.createPNG(TeXConstants.STYLE_DISPLAY, 20, "target/Example5.png", Color.white, Color.black);
}
}