TeXML 是 LaTeX 的 XML 序列化。getfo 程序可以将 TeXML 转换为 LaTeX。有什么方法可以将 LaTeX 转换为 XML 吗?
不必要的详细背景
我想使用用户输入以编程方式生成 PDF 文档。我可以用多种方法来实现这一点,但每种方法的难度程度各不相同。
使用 TCPDF,这是一个直接用 PHP 编写 PDF 的库。这是我目前正在做的事情,但它有点麻烦,而且肯定不会生成好看的文档。
直接从 PHP 编写 TeX 或 LaTeX(或类似代码)。我尝试过这种方法,但转义所有特殊字符看起来非常棘手。我担心会引入微妙的安全漏洞和/或造成无法维护的混乱。
使用 SILE 而不是 LaTeX。SILE 有两种格式 — 一种类似于 LaTeX,用于手写文档;另一种是 XML,用于编程生成的文档。这两种格式都可以,但很难找到有关 SILE 文档的帮助。
使用 TeXML。如果我早知道这一点,我可能会跳过前面的大部分步骤。TeXML 是一种 XML 方言,可以表示 LaTeX 中的所有内容。任何 LaTeX 文档都有一个等效的 TeXML 文档,反之亦然。由于 TeXML 是 XML,因此很容易从 PHP 程序生成。然后可以通过 getfo 处理 TeXML 文档以生成 LaTeX,然后可以处理该文档以生成 PDF。
太棒了。但这是否意味着我现在需要学习 TeXML?用 LaTeX 手写一个示例文档,然后自动将其转换为 TeXML,然后我可以将其用作未来文档的模板,这样会简单得多。getfo 可以反向运行以将 LaTeX 转换为 TeXML 吗?