使用 Java 渲染 PDF 校样(通过 LaTex?)
目前我正在用 Java 开发一个自动定理证明器。
我希望能够以 PDF 形式呈现这些校样。 最好,这将通过类似 LaTeX 的东西,使用 证明.sty 或 qtree.sty。 然而,我读到从 Java 渲染 LaTeX 代码可能会有点有问题。
在 Java 中,证明由简单的树表示,其灵感来自于 Haskell 树,例如:
class Tree<A> {
A value;
List<A> subForest;
}
有人对如何最好地做到这一点有任何想法吗?
相关说明(即“all-else-fails”解决方案)从 Java 调用 pdflatex
可执行文件的最佳实践是什么? (至于定位它,弄清楚它是否存在等等......)
Currently I am working on a automated theorem prover in Java.
I would like to be able to render these proofs, as PDF.
Preferrably, this will go though something like LaTeX, using proof.sty or qtree.sty.
However, I've read that rendering LaTeX code from Java can be a bit problematic.
In Java, the proofs are represented by simple trees, inspired on the Haskell trees, as:
class Tree<A> {
A value;
List<A> subForest;
}
Has anybody got any ideas on how to best do this?
On a related note (i.e. the all-else-fails solution) what are the best practices for calling a pdflatex
executable from Java? (As for locating it, figuring out whether or not it exists, etc...)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以使用 jproc 来运行 pdflatex。它允许您指定超时并负责处理 stdout 和 stderr 以及解释返回代码。
确保使用 -interaction=batchmode 参数启动 pdflatex,这样它就不会在每次错误时停止。
此外,我建议使用像 Velocity 或 stringtemplate 这样的模板引擎来生成乳胶的输入。
或者,您可能想看看 jlatexmath,它旨在为 Latex 公式提供 java api。
You could use jproc to run pdflatex. It let's you specify a timeout and takes care of processing stdout and stderr as well as interpreting the return code.
Make sure that you launch pdflatex with -interaction=batchmode parameter, so it doesn't stop at every error.
Furthermore I would recommend to use a templating engine like velocity or stringtemplate to produce the input for latex.
Alternatively you might want to look at jlatexmath which aims at offering a java api to latex formulas.