Разметка математических документов

Математический язык
Markup (MathMl) является XML прикладной программой, позволяющей описывать
математические структуры и выражения. Цель MathMl состоит в том, чтобы дать
возможность осуществлять специфические математические проекты в Web-
сети. Отличие
математики от других наук состоит в использовании комплекса высоко развитой
системы символических записей. Математические идеи и записи, с помощью которых
они излагаются, существуют независимо друг от друга. Действительно, многие
положения элементарной математики можно записать, используя обычные слова.
Однако умение представлять идеи в символьной форме является основным при анализе
и оперировании данными в математике. В математике соглашения о форме записей
носят комплексный характер. Арифметические выражения, например, записываются с
использованием цифр, переменных и стандартного набора знаков для обозначения
арифметических операций. Тем не менее трудности возникают при попытках облечь
в письменную форму даже наиболее простые из математических выражений. Отсюда
следует необходимость создания системы символьных записей, которая могла бы
использоваться во всем мире. В развитие форм математической записи
существенный вклад внесла технология связи. В своем развитии она прошла путь от
глиняных планшетов и папирусов до печатного способа представления информации, а
математические записи велись с использованием возможностей, предоставляемых
технологией связи на различных временных этапах. В настоящее время возникла
новая среда связи, представленная ЭВМ с сетевой структурой. Это открывает новые
возможности для передачи и представления математической информации. Первоначально WWW
предназначалась для ученых. Но в ходе использования WWW выяснилось, что
информация, передаваемая по ее каналам, представляет интерес не только для
специалистов. Но возможности включения математических выражений в HTML
оказались очень ограниченными. Статьи записывались в закодированной форме,
основу которой составляли наборы символов ASCII. Сегодня HTML позволяет
передавать математические сообщения, однако механизмы их создания и последующей
обработки настолько сложны, что попытки пользователей включить в сообщение даже
самые простые формулы заканчиваются неудачей. Несмотря на широкое
распространение Web, недостаток поддержки научной связи ограничивает сферу ее
применения. Проблемы, возникающие при записи математических
выражений, можно разделить на две группы : проблемы кодирования и проблемы
реализации. Проблемы, связанные с включением в документ математических записей
как иллюстрационного материала, относятся к проблемам реализации. Поэтому решение проблемы кодирования математических записей
для Web важнее, чем разрешение проблемы реализации, но и ее нельзя
игнорировать. Цель проекта состоит в
разработке прикладных программ, подходящих как для обучения, так и для поддержки
научной связи, с чьей помощью можно работать с матрицами, последовательностями и
рядами, осуществлять редактирование математических выражений. Предусматривается
поддержка просмотра длинных выражений, предоставление возможностей использования
макрокоманд, новых схем исполнения, новых символов. Итак, цель проекта MathML - разрешение проблемы кодирования
математической информации. *Печать MathML уравнений должна
осуществляться на принтерах с высокой разрешающей способностью. *Связь MathML записей с
прикладными программами осуществляется через окно просмотра. Осуществление
целей реализации может обеспечить расширение области использования HTML
документов. Пользователи получат возможность просматривать их в интерактивном
режиме, делать распечатки и пр. Однако для наиболее полной реализации
возможностей электронных документов необходимо обеспечить взаимодействие между
ними иHTML математическими документами. Спрос на эффективные средства электронной
научной связи высок. Количество людей, пользующихся услугами электронной связи,
постоянно растет. В настоящее время идет активный
процесс включения интерактивных материалов в учебную программу. Однако строгие
временные и технические ограничения создают трудности при использовании
интерактивных материалов на занятиях по математическим дисциплинам. Например,
осуществить проверку экзаменационных ответов на ПК невозможно без умения
записывать математические выражения на языке, понятном машине. Следующим шагом
использования новых технологий в области образования является создание
интерактивных учебников. На сегодняшний
день существует около дюжины электронных математических изданий. В них
содержится большое количество математических записей, выполненных на TeX. Следующая проблема электронной связи и
сопутствующих ей приложений - несовместимость различных систем. Например,
статьи, выполненные в Tex, несовместимы со статьями, набранными в Word.
Результатами подобной несовместимости являются трудности в передаче и
использовании информации. До недавнего времени
электронные журналы не пользовались популярностью из-за указанных выше причин,
однако с развитием markup языков ситуация начинает меняться. Математические записи более, чем текст, трудны
для обработки. Но, опираясь на существующие markup схемы и функциональные
возможности HTML, MathML обеспечивает поддержку связи при работе с
математическими объектами на Web. TeX является одним из наиболее влиятельных
математических markup языков 2-х последних десятилетий. TeX ,без сомнения,
оказал существенное влияние на MathML. Однако есть несколько аспектов, которые
не позволяют использовать TeX для работы в Web.
Вторым markup языком, оказавшим существенное влияние на развитие MathML,
является ISO 12083. В основе ISO 12083 лежит TeX, что означает наличие у ISO
12083 недостатков Tex, однако ISO 12083 более подходит для автоматической
обработки данных. Одним из способов
согласования является развитие XML - упрощенного варианта SGML, разработанного
для Web. XML позволяет вводить и использовать новые отметки. В то же время XML
синтаксис тщательно определяет структуру документа, что облегчает автоматическую
обработку и сопровождение больших массивов данных. XML подходит для разметки
сложных и специализированных данных. В силу вышесказанного MathML можно
определить как XML прикладную программу. XML
предоставляет способ определения структуры и синтаксиса. Механизмы обработки и
представления информации MathML требуют детальной разработки. 1.5.1 Кодирование информации Математическая запись,
выполненная с соблюдением правил, исключает двоякое толкование. В некоторых
случаях символическая и математическая структура записи эквивалентны. В подобных
ситуациях MathML предлагает использовать отметки типа <MSUP>,<MFRAC>
и <MROW>. <MROW> </MRO
W> В дополнение к отметкам представления MathML содержит еще примерно
50 различных отметок. Используя эти отметки, предыдущий пример можно
закодировать так: </EXPR> Для увеличения пользовательской аудитории необходимо расширение
возможностей MathML. К ним относятся и задачи по усовершенствованию механизма
интерфейса. В этом разделе
представлен краткий обзор принципов работы MathML. Отметки представления MathML используются для
описания структуры математической записи. Рассмотрим пример :
<MN>2</MN> <MO>&InvisibleTimes;</MO>
<MO>=</MO> Здесь стоит обратить внимание на два аспекта: во-первых, в
примере присутствуют отметки типа MI, MN, MO и "вложенные" отметки типа MSUP и
MROW, а во-вторых, отметки типа MROW используются для обозначения условия, в
данном случае представленного операндом "=". Отметки, содержащие данные,
указывают на их тип. Например, отметка MI указывает на идентификатор или
переменную, а отметка MN - на номер. Другие отметки обозначают схему размещения.
Каждая схема размещения содержит определенное число подвыражений в строгом
порядке. Например, MSUP схема должна содержать в точности два
подвыражения. <MO>=</MO> <MO>&PlusMinus&
lt;/MO>
<MO>-
</MO> <MO>&InvisibleTimes;</MO
> <MN>2</MN> <
;/MROW> В этом примере следует обратить внимание на то, что знак
"плюс/минус" - специальный поименованный объект. MathML предоставляет большой
список имен математических объектов. <MF>[</MF> <MTD><MI>y</MI></M
TD> <MTD><MI>w</MI></MTD> 2.2
Использование MathML согласных отметок
<POWER/> <MI>x</MI> </EXPR> В MathML имеются
также и пустые отметки. В XML пустые отметки имеют вид При
помощи отметок содержания MathML можно описать основные математические объекты,
однако часто возникают ситуации, когда используются как отметки содержания, так
и отметки представления. <EXPR> <MO>&PlusMinus&
lt;/MO> </EXPR>
<MI>c</MI>
<MN>2</MN> Рассмотрим пример использования отметки
SEMANTICS : <MN>0</MN> <MI>x<
;/MI> <LOWLIMIT>
<EXPR> </INT> 3.1.1
Элементы представления Элементы представления соответствуют конструкциям
традиционной математической записи и позволяют описывать синтаксическую
структуру математического выражения. Например, структура This улучшает качество
математической записи и в тех случаях, когда не известна, например, разрешающая
способность монитора. Элементы
представления можно разделить на два класса : лексемы и схемы размещения.
Существует также набор пустых элементов, используемых вместе с конкретной схемой
размещения. Все лексемы (в синтаксическом смысле),включенные в математическое
выражение, должны быть помечены MathML отметками лексем. Типы MathML лексем :
идентификаторы (переменные, имена функций и т.д.),числа, операторы, заграждающие
метки (например, круглые скобки) и строковые литералы. Для представления текста
нематематического характера используются элементы лексем. Согласно проекту XML атрибуты должны иметь вид : attr = "..."
.Атрибуты, чье значение определено как числовое, могут быть целыми числами или
числами с плавающей запятой. Существуют атрибуты со значениями , связанными с
определенным шрифтом. По умолчанию XML процессоры
удаляют конечные пробелы, символы "новой строки", вкладки (позиции табуляции) и
сокращают любое внутреннее незаполненное пространство до одиночного пробела ("
").В случае необходимости использование выше перечисленных символов возможно
после их кодирования и указания для них ссылки объекта. Большинство из описанных элементов требуют определенного числа
параметров (1,2 или 3). 3.1.6 Пустые
элементы Единственным пустым элементом лексемы является
<MSPACE/>.Пустые элементы <MPRESCRIPTS/> и <NONE/> могут быть
включены только в определенную схему размещения. 3.1.8 Резюме <MF>
заграждающая метка <MSTYLE> изменение
стиля <MPHANTOM> при сохранении размера содержание становится
невидимым <MFRAC>формирование дроби из двух
подвыражений <MROOT>формирование радикала с определенным
индексом <MTD>одно вхождение в
таблицу или матрицу использовать лексемы без
содержания. Идентификаторы включают
в себя переменные, имена функций и символьные константы. bold in herited
font slant plain Идентификаторы символа Single по умолчанию
выводятся в курсивном шрифте, символьные идентификаторы выводятся в ненаклонном
шрифте. <MROW> Текст, который нужно обработать как символ, должен быть представлен в
виде :
<MO>+</MO> <MN> лексемы, в отличии от <MI>,обычно
представлены в ненаклонном
шрифте. <MN>2.1e10</MN> <MO>+</MO> <MO>.NOT.</MO> Согласованные пары заграждающих
меток должны быть включены в качестве первого и последнего элементов в схему
<MROW>. <ME>(</MF> <MF
>)</MF> <MO>,</MO> Механизмы исполнения операторов и заграждающих меток идентичны и
более сложны по сравнению с другими маркерами. Многие математические символы
типа интегрального символа, знака "+",круглых скобок и т.д. имеют заданные по
умолчанию атрибуты, которые могут включаться в <MO> и <MF> схемы.
Многие операторы в каждой конкретной форме могут использоваться по-разному. Знак
"+",например, в зависимости от ситуации может быть как префиксом, так и
инфиксом. Если оператор является первым подвыражением в <MROW> и его
длина превышает единицу, то используется префиксная форма; если же оператор
является последним подвыражением в <MROW>,то правилами предусматривается
использование постфиксной формы. Инфиксная форма для операторов, включенных в
схему типа <MROW>, не используется. Если возникает ситуация выбора
одной из нескольких форм и не дано никаких дополнительных указаний, то право ее
остается за пользователем. Существуют четыре атрибута, регулирующие
соотношениями между размерами операторов, заграждающих меток и других элементов
: stretchy, symmetric, maxsize и minsize. Например, если для символа
maxsize="3", это означает, что его размеры могут превысить стандартные не более,
чем в три раза. <MF
maxsize="1">(</MF> </MROW> Лексема <MTEXT> используется для представления текста
нематематического характера. Этот элемент часто используется для включения в
документ "невидимых символов". Элементы, входящие в схемы типа <MTEXT>,
могут быть включены в схему типа <MROW>. </M
ROW> <MTEXT>&thinspace;</MTEXT>
3.2.6 <MSPACE/> - пробелы 3.2.7 <MS> - строковый литерал <MS> используется
для включения в выражения "строковых литералов".<MS> сокращает пробелы по
умолчанию. Как правило, тексты, которые необходимо внедрить в математический
документ, чаще включаются в схемы типа <MTEXT>,<MO>,<MI>,а не
в схемы типа <MS>. Строковые литералы отображаются заключенными в двойные
кавычки. <MO> there exists
</MO> <MN>
0</MN> <MO&
gt;&af;</MO> </MROW> 3.3Общая схема размещения Помимо лексем существует
несколько семейств элементов представления MathML. Одно из таких семейств
связано с различными схемами создания сценариев, другое - с таблицами и
матрицами. Существуют элементы, с чьей помощью описываются основные схемы записи
дробей, радикалов и т.д., происходит поиск и обработка ошибок и пр. Пример изменения размеров круглой скобки, записанный с
использованием <MO> и <MF>, можно переписать с <MSTYLE>
следующим образом: <MFRAC><MI>
;a</MI><MI>b</MI></MFRAC> 3.3.2 <MERROR> - включение сообщения об
ошибках Сообщение о синтаксической ошибке может быть произведено путем
изменения фонового цвета, высвечивания изображения или подчеркивания ошибки
красным цветом. Задача этого элемента состоит в обеспечении механизма
сообщения о синтаксических ошибках при совместной работе MathML с другими
прикладными программами. <MPHANTOM>
может использоваться для выравнивания частей выражения и изменения позиций
символов. Несколько операторов могут быть включены в схему типа
<MROW> только в том случае, когда они принадлежат к одному типу.
Группировка преследует следующие цели: улучшение визуального представления и
упрощение обработки информации различными средствами, предназначенными для этой
цели. <MROW> <MO>+</MO> 3.3.5 <MFRAC> -
формирование дроби из двух подвыражений 3.3.6 <MSQRT> и
<MROOT> - формирование радикалов Схема <MSQRT> используется
для вывода квадратных корней, а схема <MROOT> - для вывода радикалов с
индексами. Для лучшей фиксации абстрактной структуры записи
MathML обеспечивает специализированную схему создания сценария. <Изображение:
[Graphics:presentationgr12.gif]> может быть представлено в следующем
виде: <MO>+</MO> &l
t;/MSUP> <MSUP> basesuperscript
</MSUP> Интеграл при помощи <MSUBSUP>
можно записать следующим образом
: <MN>1</MN> </MSUP> </MROW> <MUNDEROVER> base
underscriptoverscript </MUNDEROVER>