Mathematical
Markup Language
|
Редактор формул
Редактор
формул —
компьютерная программа, предназначенная для создания и
редактирования математических формул.
Технологии
создания и редактирования формул:
-
Применение специального языка разметки (TeX, MathML,
OpenOffice.org Math)
-
Составление формул из составных элементов, предоставляемых
программой с помощью графического интерфейса (Microsoft
Equation, KFormula, MathType)
-
Символьные вычисления (Mathematica).
|
Формулы
для Web
Существует
несколько распространенных средств: |
Microsoft Equation |
входит в MS Office. Это очень быстрый и простой способ, но готовую
формулу можно изменять только в приложениях MS Office, в HTML
экспортируется только в виде картинки.
|
MathType |
работает
вместе с любым текстовым редактором и в разных операционных
системах. Платная. |
MathML |
мощный и универсальный язык разметки формул. Правда, редактировать
формулы (да и просто читать) довольно тяжело. Это признанный
стандарт, поэтому надеюсь, что его будет поддерживать большее
количество программ, упрощая работу с формулами |
LaTeX (или TeX) |
формулы записываются в строчку с добавлениес специальных управляющих
последовательностей. Пример: предел h→0 от дроби a/b — $\lim_{h\to
0}\frac{a}{b}$ |
Текстовое представление формулы (ASCII) |
формулы очень просто писать и читать, легко передавать по почте. В
отличии от LaTeX, написать и прочитать их может даже
неподготовленный человек. Пример: a^2 + b^2 + c = 0, H_2 O,
предыдущий пример: lim_(h->0) a/b |
MathML
MathML (Mathematical
Markup Language, язык математической разметки) — это приложение XML,
используемое для представления математических символов и формул в
документах WWW и обмена данными между приложениями, обрабатывающими
математические представления в том или ином виде.
MathML
рекомендован математической группой W3C (
http://www.w3.org/Math/). Разрабатывается с 1999 года.
Тим Бернерс-Ли
(директор W3C):
-
Язык математической разметки сделает Сеть гораздо лучше для
образовательных, научных и технических материалов.
-
MathML также имеет потенциал сделать математическую информацию
доступной людям с нарушениями зрения. Кроме того, он позволит
математической информации передаваться и повторно использоваться
в компьютерных системах.
21.10.2010
Консорциум
World Wide Web утвердил третью версию
MathML.
MathML 3.0:
-
позволяет записывать формулы со
сложением, умножением и делением "в столбик", причем для
некоторых операций в стандарте описывается несколько стилей
записи, использующихся в разных странах мира.
-
поддерживает
специальные символы для заёма и переноса при сложении и
вычитании. , предназначенный для создания текстов,
-
приспособлен (благодаря включению
MathML в стандарт DAISY)
для чтения программами-синтезаторами голоса, математические
тексты становятся доступными для людей с плохим зрением.
-
поддерживает MathML большее число
национальных языков (том
числе с направлением письма справа налево).
|
Достоинства
MathML
Достоинства
MathML:
-
удобное
для учебного и научного обмена информацией на всех уровнях кодирование
математического материала,
-
представление как математической нотации, так и
математической сути,
-
легкое преобразование в другие математические форматы и
из других математических форматов, как разметочных, так и семантических,
-
возможность передачи информации, предназначенной для
специальных приложений,
-
поддержка эффективного отображения длинных выражений,
-
расширяемость,
-
по сравнению с существующими методами, основанным на
включении изображений в веб-страницы, MathML относительно быстро передается и
обрабатывается.
-
понятность для человека (несмотря на свою избыточность) и
простоту для программного создания и обработки.
Избыточность
MathML
следует из использования синтаксиса XML для стандартизации, доступности
инструментария и основной тенденции сетевых приложений к использованию XML в
качестве формата передачи данных.
|
Разметка
MathML
Любой код MathML открывается тегом
<math xmlns="http://www.w3.org/1998/Math/MathML">
и закрывается тегом </math>.
Большинство элементов MathML определяются открывающим и закрывающим тегами, которые ограничивают содержание элемента. Некоторые элементы, например, знаки операций (<plus/>) определяются одиночным тегом.
Все элементы MathML делятся на три группы:
-
элементы представления,
-
элементы содержания
-
интерфейсные элементы.
Элементы представления описывают визуально ориентированную двухмерную структуру математической нотации.
Например, элемент
mrow обычно применяется для обозначения горизонтального ряда частей выражения, и элемент
msup, который отмечает верхний индекс.
Токены (token elements) представляют индивидуальные символы, названия, числа, обозначения и т. д. В основном в качестве содержания токены могут иметь только символы.
|
Представления формул с помощью
MathML
Представления формулы
с помощью
MathML:
<mrow>
<mi>x</mi>
<mo>=</mo>
<mfrac>
<mrow>
<mrow>
<mo>-</mo>
<mi>b</mi>
</mrow>
<mo>±</mo>
<msqrt>
<mrow>
<msup>
<mi>b</mi>
<mn>2</mn>
</msup>
<mo>-</mo>
<mrow>
<mn>4</mn>
<mo>⁢</mo>
<mi>a</mi>
<mo>⁢</mo>
<mi>c</mi>
</mrow>
</mrow>
</msqrt>
</mrow>
<mrow>
<mn>2</mn>
<mo>⁢</mo>
<mi>a</mi>
</mrow>
</mfrac>
</mrow>
|
Проверка
MathML-кода
Для проверки HTML/MathML-кода
его нужно снабдить
заголовками:
<html xmlns:v="urn:schemas-microsoft-com:vml"
xmlns:o="urn:schemas-microsoft-com:office:office"
xmlns:w="urn:schemas-microsoft-com:office:word"
xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882"
xmlns="http://www.w3.org/TR/REC-html40"
xmlns:m="http://www.w3.org/1998/Math/MathML">
<head>
<meta
http-equiv=Content-Type content="text/html; charset=utf-8">
<object
id="MathPlayer"
classid="clsid:32F66A20-7614-11D4-BD11-00104BD3F987"></object>
<?import
namespace="m" implementation="#MathPlayer" ?>
</head>
<body>
<!-- здесь
нужно вставить созданный вами HTML/MathML –код -->
</body>
</html>
|
Программная поддержка
MathML
-
Существуют утилиты преобразования математических выражений в MathML,
включая конвертеры между TeX и MathML.
-
Основными браузерами,
частично
поддерживающими MathML, являются последние версии Mozilla
Firefox (поддерживает
MathML 2), Opera (профиль
MathML for CSS) и Google Chrome.
-
В Internet Explorer для поддержики MathML используется
плагин
MathPlayer
с поддержкой MathML 3 (http://www.dessci.com/en/dl/MathPlayerSetup.asp).
-
MathML поддерживается Microsoft Word и OpenOffice.org, а
также математическими пакетами Mathematica, Maple.
-
В Windows 7 реализована поддержка рукописного ввода
формул. Результат распознавания представлен в виде выражения MathML.
|
Всё будет XML?
|