如何编写Template.pm过滤器以从LaTeX源代码生成PNG输出?

时间:2010-04-08 21:07:02

标签: perl latex png template-toolkit

我正在寻找一种从嵌入模板中的L A T E X源代码生成方程的PNG图像的方法。例如,给定:

[% FILTER latex_display ]
\begin{eqnarray*}
\max && U(x,y) \\
\mathrm{s.t.} && p_x x + p_y y \leq I \\
&& x \geq 0, y \geq 0
\end{eqnarray*}
[% END %]

我想得到输出:

<div class="latex display"><img src="equation.png" width="x" height="y"></div>

最终应显示为:

  

Consumer's Optimization Problem http://mathurl.com/yakyyj3.png

我正在使用ttree离线生成文档。我知道Template::Plugin::Latex,但这是为了从L A T E X模板中生成实际文档。

有什么建议吗?

更新

我很欣赏这些建议(我已将它们投了票)。但是,它们并不是我所需要的。我真的很感激有一些关于开始使用Plugin或Filter for Template Toolkit的指示。

3 个答案:

答案 0 :(得分:2)

维基百科做了类似于你想要的事情。他们使用名为texcv的程序。然后你还有MathJAX,它更瞄准网页中的动态数学渲染。

texcv是根据OCaml编写的链接页面,但由于Mediawiki的其余部分是用PHP编写的,我认为重新利用Perl程序不会有任何问题。

答案 1 :(得分:1)

您应该查看jsMathMathMLmathjax

答案 2 :(得分:1)

  

我非常感谢有关开始使用插件或模板工具包过滤器的几点建议

Template Toolkit网站上的这些文档应该提供设置插件或过滤器的所有必要信息:

一旦你的L A T E X到PNG转换排序,你可能需要使用redirect将其保存为文件。来自POD的例子:

[% PROCESS my/png/generator 
    FILTER redirect("images/logo.png", binmode=1) %] 

希望有所帮助。

/ I3az /