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>&PlusMinus;</mo>
      <msqrt>
        <mrow>
          <msup>
            <mi>b</mi>
            <mn>2</mn>
          </msup>
          <mo>-</mo>
          <mrow>
            <mn>4</mn>
            <mo>&InvisibleTimes;</mo>
            <mi>a</mi>
            <mo>&InvisibleTimes;</mo>
            <mi>c</mi>
          </mrow>
        </mrow>
      </msqrt>
    </mrow>
    <mrow>
      <mn>2</mn>
      <mo>&InvisibleTimes;</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?