Мова розмітки математичних документів.
Математичний мова Markup (MathMl) є XML прикладною програмою, що дозволяє описувати математичні структури і вирази. Мета MathMl полягає в тому, щоб дати можливість здійснювати специфічні математичні проекти в Web-мережі.
1. Введення
1.1 Математичні ідеї та їх запис.
Відмінність математики від інших наук полягає у використанні комплексу високо
розвиненої системи символічних записів. Математичні ідеї і записи, за допомогою яких вони викладаються, існують незалежно один від одного. Дійсно, багато положень елементарної математики можна записати, використовуючи звичайні слова. Однак вміння представляти ідеї в символьної формі є основним при аналізі та оперування даними в математиці.
В математиці угоди про форму записів носять комплексний характер. Арифметичні вирази, наприклад, записуються з використанням цифр, змінних і стандартного набору знаків для позначення арифметичних операцій.
Проте труднощі виникають при спробах описати в письмову форму навіть найпростіші з математичних виразів. Звідси випливає необхідність створення системи символьних записів, яка могла б використовуватися в усьому світі.
У розвиток форм математичного запису істотний внесок внесла технологія зв'язку. У своєму розвитку вона пройшла шлях від глиняних планшетів і папірусів до друкованого способу подання інформації, а математичні записи велися з використанням можливостей, які надає технологією зв'язку на різних часових етапах.
В даний час виникла нова середу зв'язку, представлена ЕОМ з мережевою структурою. Це відкриває нові можливості для передачі та представлення математичної інформації.
1.2 Цілі проекту
1.2.1 Передумови створення MathMl
Спочатку WWW призначалася для вчених. Але в ході використання WWW з'ясувалося, що інформація, передана по її каналах, представляє інтерес не тільки для фахівців. Але можливості включення математичних виразів в HTML виявилися дуже обмеженими. Статті записувалися в закодованою формі, основу якої складали набори символів ASCII.
Сьогодні HTML дозволяє передавати математичні повідомлення, однак механізми їх створення і наступної обробки настільки складні, що спроби користувачів включити до повідомлення навіть найпростіші формули закінчуються невдачею. Незважаючи на широке розповсюдження Web, недолік підтримки наукової зв'язку обмежує сферу її застосування.
1.2.2
Проблеми, що виникають під час запису математичних виразів, можна розділити на дві групи: проблеми кодування і проблеми реалізації. Проблеми, пов'язані з включенням до документа математичних записів як ілюстративний матеріалу, ставляться до проблем реалізації.
Останнім часом першорядну важливість набувають різні способи автоматичної обробки даних.
Тому вирішення проблеми кодування математичних записів для Web важливіше, ніж вирішення проблеми реалізації, але і її не можна ігнорувати.
1.2.3 Цілі проекту MathML
Мета проекту полягає в розробці прикладних програм, що підходять як для навчання, так і для підтримки наукової зв'язку, з чиєю допомогою можна працювати з матрицями, послідовностями і рядами, здійснювати редагування математичних виразів. Передбачається підтримка перегляду довгих виразів, надання можливостей використання макрокоманд, нових схем виконання, нових символів.
1.2.4 Цілі реалізації
Отже, мета проекту MathML - вирішення проблеми кодування математичної інформації.
Цілі реалізації - це короткий опис функціональних можливостей MathML.
* Друк MathML рівнянь повинна здійснюватися на принтерах з високою роздільною здатністю.
* При роботі з математичними записами можливе використання миші.
* Зв'язок MathML записів з прикладними програмами здійснюється через вікно перегляду.
Здійснення цілей реалізації може забезпечити розширення області використання HTML документів. Користувачі отримають можливість переглядати їх в інтерактивному режимі, робити роздруку і пр. Однак для найбільш повної реалізації можливостей електронних документів необхідно забезпечити взаємодію між ними іHTML математичними документами.
1.3 Приклади застосування математичних структур на Web
Попит на ефективні засоби електронного наукової зв'язку високий. Кількість людей, що користуються послугами електронного зв'язку, постійно зростає.
1.3.1 Освіта
В даний час йде активний процес включення інтерактивних матеріалів у навчальну програму. Однак суворі часові та технічні обмеження створюють труднощі при використанні інтерактивних матеріалів на заняттях з математичних дисциплін.
Наприклад, здійснити перевірку екзаменаційних відповідей на ПК неможливо без уміння записувати математичні вирази мовою, зрозумілою машині. Наступним кроком використання нових технологій в галузі освіти є створення інтерактивних підручників.
1.3.2 Наукові дослідження
На сьогоднішній день існує близько дюжини математичних електронних видань. У них міститься велика кількість математичних записів, зроблених на TeX.
Існує версія "хімічного" markup мови - CML, основою якого також є XML.
1.3.3
Наступна проблема електронного зв'язку та супутніх їй програм - несумісність різних систем. Наприклад, статті, виконані в Tex, несумісні зі статтями, набраними в Word. Результатами такої несумісності є труднощі в передачі і використанні інформації.
1.3.4 Публікації
До недавнього часу електронні журнали не користувалися популярністю з-за зазначених вище причин, однак з розвитком markup мов ситуація починає змінюватися.
1.4 Web і математичний markup мову
Математичні запису більше, ніж текст, важкі для обробки. Але, спираючись на існуючі markup схеми та функціональні можливості HTML, MathML забезпечує підтримку зв'язку при роботі з математичними об'єктами на Web.
1.4.1 Зв'язок MathML c іншими математичними markup мовами
TeX є одним з найбільш впливових математичних markup мов 2-х останніх десятиліть.
TeX, без сумніву, справив істотний вплив на MathML. Однак є кілька аспектів, які не дозволяють використовувати TeX для роботи в Web.
Тим не менше, TeX встановив стандарти якості візуального виконання, яким відповідає MathML.
Другим markup мовою, що зробив істотний вплив на розвиток MathML, є ISO 12083.
В основі ISO 12083 лежить TeX, що означає наявність у ISO 12083 недоліків Tex, однак ISO 12083 більш підходить для автоматичної обробки даних.
1.4.2 XML
На додаток до вищесказаного, MathML має узгоджуватися і з існуючою HTML середовищем.
Одним із способів узгодження є розвиток XML - спрощеного варіанту SGML, розробленого для Web. XML дозволяє вводити і використовувати нові позначки. У той же час XML синтаксис ретельно визначає структуру документа, що полегшує автоматичну обробку та супровід великих масивів даних. XML підходить для розмітки складних і спеціалізованих даних. В силу вищесказаного MathML можна визначити як XML прикладну програму.
1.4.3 Реалізація
XML надає спосіб визначення структури та синтаксису. Механізми обробки та представлення інформації MathML вимагають детальної розробки.
Для обробки даних MathML необхідно розширити можливості вікон перегляду.
1.5 Загальні принципи MathML
1.5.1 Кодування інформації
Існує глибокий зв'язок між математичними ідеями та їх записом.
Математична запис, зроблений з дотриманням правил, виключає подвійне тлумачення.
У деяких випадках символічна і математична структура запису еквівалентні. У подібних ситуаціях MathML пропонує використовувати позначки типу , і .
Розглянемо приклад: <(x + 2) ^ 2>. Використовуючи позначки MathML, його можна записати так:
( MF>
x MI>
+ MO>
2 MN>
MROW>
) MF>
MROW>
2 MN>
MSUP>
На додаток до позначок подання MathML містить ще приблизно 50 різних оцінок. Використовуючи ці позначки, попередній приклад можна закодувати так:
x
2
EXPR>
EXPR>
2
EXPR>
1.5.2
Для збільшення користувача аудиторії необхідно розширення можливостей MathML. До них відносяться і завдання щодо вдосконалення механізму інтерфейсу.
2.Основи практичного використання MathML
У цьому розділі представлений короткий огляд принципів роботи MathML.
2.1 Використання відміток подання MathML
Відмітки подання MathML використовуються для опису структури математичного запису. Розглянемо приклад:
x MI>
2 MN>
MSUP>
+ MO>
4 MN>
& InvisibleTimes; MO>
x MI>
MROW>
+ MO>
4 MN>
MROW>
= MO>
0 MN>
MROW>
Тут варто звернути увагу на два аспекти: по-перше, у прикладі присутні позначки типу MI, MN, MO і "вкладені" відмітки типу MSUP і MROW, а по-друге, позначки типу MROW використовуються для позначення умови, в даному випадку представленого операндом "=".
Відмітки, що містять дані, які вказують на їх тип. Наприклад, позначка MI вказує на ідентифікатор або змінну, а відмітка MN - на номер. Інші відмітки позначають схему розміщення. Кожна схема розміщення містить певне число подвираженій в строгому порядку. Наприклад, MSUP схема повинна містити в точності два подвираженія.
x MI>
= MO>
- MO>
b MI>
MROW>
& PlusMinus MO>
b MI>
2 MN>
MSUP>
- MO>
4 MN>
& InvisibleTimes; MO>
a MI>
& InvisibleTimes; MO>
c MI>
MROW>
SQRT>
MROW>
2 MN>
& InvisibleTimes; MO>
a MI>
MROW>
MFRAC>
MROW>
У цьому прикладі слід звернути увагу на те, що знак "плюс/мінус" - спеціальний пойменований об'єкт. MathML надає великий список імен математичних об'єктів.
<Проста матриця>
A MI>
= MO>
[ MF>
x MI> MTD>
y MI> MTD>
MTR>
z MI> MTD>
w MI> MTD>
MTR>
MTABLE>
] MF>
MROW>
MROW>
2.2 Використання MathML приголосних відміток
x MI>
2 MN>
EXPR>
4 MN>
x MI>
EXPR>
4 MN>
EXPR>
0 MN>
EXPR>
Відмітки EXPR використовуються в тому випадку, коли зміст носить математичний характер.
У MathML є також і порожні позначки. У XML порожні позначки мають вигляд
<.../>.
За допомогою позначок змісту MathML можна описати основні математичні об'єкти, однак часто виникають ситуації, коли використовуються як офіційні свідоцтва змісту, так і оцінки подання.
x MI>
- MO>
b MI>
EXPR>
& PlusMinus MO>
b MI>
2 MN>
EXPR>
4 MN>
a MI>
c MI>
EXPR>
EXPR>
MSQRT>
EXPR>
2 MN>
a MI>
EXPR>
EXPR>
EXPR>
Розглянемо приклад використання позначки SEMANTICS:
<Інтеграл>
& int MO>
0 MN>
t MI>
MSUBSUP>
& dd MO>
x MI>
MROW>
x MI>
MFRAC>
MROW>
0 MN>
LOWLIMIT>
t MI>
UPLIMIT>
1 MN>