Pull to refresh

PhpMathPublisher — математические формулы в HTML

Reading time 2 min
Views 13K
В одном из проектов возникла необходимость использования сложных математических формул в тексте. Вариант использования редакторов формул наподобие Microsoft Equation с последующим сохранением в виде картинки не подходит, так как необходима возможность легкого редактирования существующих формул.
Решение нашлось в виде PhpMathPublisher.

image
PhpMathPublisher — система публикации математических формул в HTML, используя только средства PHP.
Каждая формула преобразуется в PNG-изображение скриптом, возвращающим соответствующий HTML-код.
Решение кроссбраузерно, конечному пользователю не требуется устанавливать у себя какие-либо дополнения или шрифты.
Для работы скрипта необходима библиотека GD и некоторые шрифты, содержащие математические символы (шрифты содержатся в комплекте).
Вот некоторые примеры формул, сгенерированных при помощи PhpMathPublisher:
PhpMathPublisher
PhpMathPublisher
PhpMathPublisher

Использование


1. Скачиваем архив
2. Распаковываем архив. В архиве уже содержатся все необходимые шрифты, а также примеры и документация.
Для использования математических выражений подключаем всего один файл:
include("mathpublisher.php");
* This source code was highlighted with Source Code Highlighter.

… и выводим формулы:
echo mathfilter($text,$size,$pathtoimg);

* This source code was highlighted with Source Code Highlighter.

где:
$text — текст со стандартными HTML-тегами и математическими выражениями, заключенными в теги <m>...</m> (подробнее ниже);
$size — размер шрифта;
$pathtoimg — относительный путь к директории для хранения изображений.

Парсер на лету преобразует выражения, содержащиеся в тегах <m>...</m>, в картинки с формулами и сохраняет их в директорию для изображений. Синтаксис выражений доступен в документации в архиве или онлайн.
Пример:
<m>pi=3/4 sqrt{3}+24 int{0}{1/4}{sqrt{x-x^2}dx}</m>

* This source code was highlighted with Source Code Highlighter.

Преобразованный вариант:
PhpMathPublisher

Существуют плагины PhpMathPublisher для Wordpress:
http://wordpress.org/extend/plugins/wpmathpub/
http://wordpress.org/extend/plugins/wpmathpublisher/

Первый пост на хабре, просьба не судить строго :)
Tags:
Hubs:
+77
Comments 33
Comments Comments 33

Articles