logo
MathML (Mathematical Markup Language)

1.3.1 Существующие языки математической разметки

Возможно, наиболее значимое влияние на языки математической разметки последних двух десятилетий оказала система верстки TEX, разработанная Дональдом Кнутом (Donald Knuth). TEX является стандартом de facto в математическом сообществе, и вообще широко распространен среди ученых. TEX устанавливает стандарт качества для визуализации документов, и много усилий было приложено, чтобы MathML мог обеспечить такое же качество. Более того, так как существует множество документов в формате TEX, и много людей, работающих с ней, основной при создании MathML была возможность конвертации документов из формата TEX в формат MathML. Возможность такой конвертации была продемонстрирована экспериментальными программами.

Обширная работа по кодированию математического материала была также выполнена в сообществе SGML, и основанные на SGML схемы кодирования широко используются коммерческими издателями. ISO 12083 - важный язык разметки, содержащий фрагмент DTD первоначально предназначенный для описания визуального представления математической нотации. Так как математическая нотация ISO 12083 и ее производные имеют много общего с TEX, и так как SGML более регулярен и структурирован, чем TEX, многое из того, что сделано для совместимости MathML с TEX, также хорошо применимо к ISO 12083.

MathML также уделяет большое внимание совместимости с другими математическими программами и, в частности, с системами компьютерной алгебры. Много элементов представления MathML частично основаны на механизме печатных боксов (typesetting boxes). Элементы содержания MathML во многом заимствованы из проекта OpenMath и работы Stilo Technologies по созданию математического DTD. Проект OpenMath был тесно связан с сообществами SGML и компьютерной алгебры. В этом проекте были предложены SGML и XML-основанные способы взаимодействия между пакетами математических программ. Возможность создания и интерпретации MathML в системах компьютерной алгебры была продемонстрирована экспериментальными программами.