<mo>+</mo>
<msup>
<mo class="MathClass-op">sin</mo>
<mn>2</mn>
</msup>
<mfenced separators="" open="(" close=")">
<mi>x</mi><mo>+</mo><mi>y</mi></mfenced>
</mrow>
<mrow>
<mn>2</mn>
<mo>+</mo>
<mfenced separators="" open="|" close="|">
<mrow>
<mi>x</mi>
<mo>-</mo>
<mfrac>
<mrow><mn>2</mn><mi>x</mi></mrow>
<mrow>
<mn>1</mn>
<mo>+</mo>
<msup><mi>x</mi><mn>2</mn></msup>
<msup><mi>y</mi><mn>2</mn></msup>
</mrow>
</mfrac>
</mrow>
</mfenced>
</mrow>
</mfrac>
<mo>+</mo>
<mi>x</mi>
Посмотреть результат (в новом окне) (если пример не отображется в IE, сохраните файл на диске, с помощью контекстного меню выберите Свойства, разблокируйте файл и откройте его)
Рассмотрим элементы для верстки таблиц и матриц.
Тег | Определение |
mtable | таблица или матрица |
mtr | строка в таблице или матрице |
mtd | одна ячейка в таблице или матрице |
<mfenced separators="" open="(" close=")">
<mtable>
<mtr>
<mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd>
</mtr>
<mtr>
<mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd>
</mtr>
<mtr>
<mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd>
</mtr>
<mtr>
<mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd>
</mtr>
<mtr>
<mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd>
</mtr>
</mtable>
</mfenced>
Посмотреть результат (в новом окне) (если пример не отображется в IE, сохраните файл на диске, с помощью контекстного меню выберите Свойства, разблокируйте файл и откройте его)
<mfenced separators="" open="{" close="">
<mtable>
<mtr>
<mtd>
<mi>a</mi><mi>x</mi><mo>+</mo><mi>b</mi><mi>y</mi>
<mo>=</mo><mi>c</mi>
</mtd>
</mtr>
<mtr>
<mtd>
<msub><mi>a</mi><mn>1</mn></msub><mi>x</mi><mo>+</mo>
<msub><mi>b</mi><mn>1</mn></msub><mi>y</mi><mo>=</mo>
<msub><mi>c</mi><mn>1</mn></msub>
</mtd>
</mtr>
</mtable>
</mfenced>
Посмотреть результат (в новом окне) (если пример не отображется в IE, сохраните файл на диске, с помощью контекстного меню выберите Свойства, разблокируйте файл и откройте его)
Различные математические символы, при необходимости, нужно отыскивать в кодировочной таблице Unicode.
<mi>S</mi>
<mo>=</mo>
<mn>1</mn>
<mo>-</mo>
<mfrac>
<mn>1</mn>
<mn>2</mn>
</mfrac>
<mo>+</mo>
<mfrac>
<mn>1</mn>
<mn>4</mn>
</mfrac>
<mo>-</mo>
<mfrac>
<mn>1</mn>
<mn>8</mn>
</mfrac>
<mo>+</mo>
<mi>…</mi>
<mo>+</mo>
<msup>
<mrow>
<mfenced separators="" open="(" close=")">
<mn>-1</mn>
</mfenced>
</mrow>
<mi>n</mi>
</msup>
<mfrac>
<mn>1</mn>
<msup>
<mn>2</mn>
<mi>n</mi>
</msup>
</mfrac>
<mo>=</mo>
<munderover>
<mi>Σ</mi>
<mrow><mi>i</mi><mo>=</mo><mn>0</mn></mrow>
<mi>n</mi>
</munderover>
<msup>
<mrow>
<mfenced separators="" open="(" close=")">
<mn>-1</mn>
</mfenced>
</mrow>
<mi>i</mi>
</msup>
<mfrac>
<mn>1</mn>
<msup>
<mn>2</mn>
<mi>i</mi>
</msup>
</mfrac>
Посмотреть результат (в новом окне) (если пример не отображется в IE, сохраните файл на диске, с помощью контекстного меню выберите Свойства, разблокируйте файл и откройте его)
Довольно значительное количество примеров с интегралами можно найти на http://beshenov.ru/mh/, поэтому не будем здесь на них останавливаться, рекомендуем читателю ознакомиться с примерами на указанном ресурсе.
Конечно, набор формул в MathML — занятие довольно длительное и требует определенных усилий. Впрочем, кто работал достаточно долго в LaTeX, особой разницы не заметит. Тем не менее, чаще пользователь предпочитает применять различные инструменты. Назовем некоторые.
Во-первых, математические пакеты, скажем, Mathematica или Maple, позволяют сохранять набранные в них формулы в формате MathML.
Amaya (http://www.w3.org/Amaya/) – это веб-редактор, то есть программа, предназначенная для создания и редактирования документов непосредственно в сети. В этой программе предусмотрены возможности просмотра документов и их локального и удаленного редактирования. Работа над этой программой была начата консорциумом W3C в 1996 году с целью продемонстрировать, что инструменты создания веб-документов, использующие различные веб-технологии, можно организовать в одном окружении веб-клиента. Вначале Amaya был редактором HTML + CSS, но потом была добавлена поддержка XML и различных форматов, основанных на XML, в частности, MathML. Мы не будем описывать возможности данного программного продукта, предлагаем читателю ознакомиться с ними самостоятельно. На странице http://www.w3.org/Amaya/User/BinDist.html можно найти дистрибутив Amaya для операционных систем Windows NT/2000/XP/Vista, для основных дистрибутивов Linux и MacOS. Также доступны исходники программы. Установка программы описана на той же странице.
Текстовый редактор Open Office Writer, входящий в пакет Open Office, позволяет вставлять в текст математические формулы, подготовленные с помощью редактора формул, входящего в тот же пакет. Если навести указатель мыши на формулу и нажать правую кнопку, то появится меню, в котором есть пункт «Сохранить копию как». При выборе этого пункта открывается диалоговое окно, где надо выбрать тип файла MathML. Будет создан файл с расширением mml, содержащий разметку, адаптированную для IE+MathPlayer. Тем не менее, Firefox и Mozilla правильно отображают этот файл без всякого плагина, если этот файл сохранен с расширением xml.
В заключение отметим, что MathML как средство разметки также неплохо подходит при генерации различных математических заданий. При этом для программирования можно использовать, например, JavaScript, тогда пользователь получит возможность генерировать произвольное количество вариантов заданий по своему усмотрению. Также можно предусмотреть и генерацию ответов ко всем заданиям, что весьма несложно.
Рассчитываем, что на этом знакомство читателя со средствами верстки математических текстов не завершается, и далее он сможет самостоятельно выбрать заинтересовавший его инструмент, а может быть, и применить на практике описанные технологии.
Список литературы
Информатика, 2008, № 12(565), 48 с.