Язык представления математических текстов в Интернете
Authors: Вовк Анатолій Іванович , Гірник Денис Анатолійович 
Published: March 2022

В докладе представлен редактор MathTextView, реализующий язык представления математических текстов для работы в Интернете. Нотация языка максимально приближена к используемой в языках программирования нотации для представления математических выражений. Язык относится к классу натуральных и обладает рядом важных свойств: возможностью сохранения наряду с синтаксисом формулы ее семантики, преобразования нотации к бесскобочной польской записи, которая удобна для машинной обработки математических выражений; семантическим контролем нотации; динамическим вводом информации (форумы, чаты, система WYSIWYG и др.), конвертированием в другие системы нотации; лаконичностью, возможностью в некоторых случаях справлять ошибки нотации.Язык MathTextView близок по нотации к языку TеX, но в отличие от последнего является носителем не только синтаксиса формулы, но и ее семантики. Язык Content MathML позволяет также отображать семантику формул, но его нотация в силу большой громоздкости не позволяет пользователю непосредственно на этом языке кодировать и далека от естественной нотации математических формул. Поэтому MathML пригоден лишь для машинной обработки математических текстов. Таким образом, язык MathTextView объединяет простоту нотации, присущую языкам серии ТЕХ, с возможностью отображения семантики математических выражений, присущей языку MathML. При этом нотация MathTextView максимально приближена к языку общения специалистов на различных форумах по математике, физике и другим техническим дисциплинам. Эффект сохранения семантики математической формулы при ее естественной нотации достигается потому, что естественная нотация математических текстов, формировавшаяся столетиями, по своей природе строго структурирована, что выражает суть самой математики. Кроме представления формул в MathTextView имеется метаязык, с помощью которого можно описывать схематические рисунки и графики из множества элементарных функций.Разработан конвертер MathTextView в MathML. Для презентации возможностей применения редактора математических текстов создан сайт http://math.accent.kiev.ua. В настоящее время MathTextView позволяет описать более 250 математических объектов: например, математические функции, логические операции, операции над множествами. Представлены операции дифференцирования, интегрирования, суммирования, умножения. Есть возможность представления векторов, матриц, тензоров, определителей, многозначных функций, таблиц. Легко работать с греческими символами. Есть готические символы и ряд специальных символов. Имеется возможность корректно использовать кириллицу для представления размерности. Семантические возможности языка демонстрируются с помощью калькулятора символьного дифференцирования. В качестве примера использования языка представлена электронная книга по математической логике, набранная с помощью разработанного редактора электронных книг, в основу которого положен MathTextView. Cоздан форум для общения специалистов по техническим дисциплинам. Такими же возможностями обладает и гостевая книга на указанном сайте. В гостевой книге имеется возможность обмениваться математическими текстами по электронной почте.В настоящее время разработан вариант обработки математически структурированной информации на сервере. При этом окончательный вариант графического представления математических текстов может быть выполнен с помощью ставшего де-факто стандартом аппаратно-независимого формата DVI (DeVice Independent), что дает возможность представления математических текстов в форматах GIF, JPG, PNG, LaTeX, PDF, PostScript, SVG. Таким образом достигается эффект сохранения семантики математической формулы с возможностью ее презентации в современных издательских системах.В системах дистанционного обучения редактор MathTextView может быть использован по всем перечисленным выше направлениям. Особенно эффективно, на наш взгляд, его использование в системах тестирования по математическим и физическим дисциплинам, что позволит кардинально изменить сам принцип тестирования, имеющий в настоящее время ряд существенных недостатков. Тестирование продуктов, созданных на основе использования MathTextView в системе дистанционного обучения Moodle, показало, что интегрирование этого редактора в систему ДО не представляет никаких трудностей. На основе MathTextView разработан ряд встроенных программируемых калькуляторов, используемых в автоматизированных системах расчета смет.