Как я могу написать фильтр Template.pm для генерации вывода PNG из исходного кода LaTeX? - PullRequest
4 голосов
/ 09 апреля 2010

Я ищу способ генерирования PNG-изображений уравнений из исходного кода L A T E X, встроенного в шаблоны. Например, дано:

[% 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>

, который в конечном итоге должен отображаться как:

Задача оптимизации потребителя http://mathurl.com/yakyyj3.png

Я использую ttree для создания документов в автономном режиме. Я знаю о Template :: Plugin :: Latex , но он предназначен для создания реальных документов из шаблонов L A T E X.

Есть предложения?

Обновление:

Я ценю предложения (и я их проголосовал). Тем не менее, они не совсем то, что мне нужно. Я был бы очень признателен за несколько советов по началу работы с плагином или фильтром для Template Toolkit.

Ответы [ 3 ]

2 голосов
/ 09 апреля 2010

Википедия делает что-то похожее на то, что вы хотите. Они используют программу под названием texcv. Тогда у вас также есть MathJAX , который больше нацелен на динамический математический рендеринг на веб-страницах.

texcv соответствует связанной странице, написанной на OCaml, однако, поскольку остальная часть Mediawiki написана на PHP, я не думаю, что у вас должны возникнуть проблемы с перепрофилированием программы для использования с Perl.

1 голос
/ 09 апреля 2010

Буду очень признателен за несколько советов по началу работы с плагином или фильтром для Template Toolkit

Эти документы на сайте Template Toolkit должны содержать всю необходимую информацию для установки плагина или фильтра:

Как только у вас будет преобразовано преобразование L A T E X в PNG, вам, вероятно, потребуется сохранить его в виде файла, используя redirect . Пример из POD:

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

Надеюсь, это поможет.

/ I3az /

1 голос
/ 09 апреля 2010

Вы должны взглянуть на jsMath , MathML или mathjax

...