Език за маркиране на математически текстове MathML

С разпространението на глобалните компютърни мрежи (в частност Интернет) се наложи поставянето в тях, вкл. и текстове по математика.

Общият принцип на използване на MathML е, че математическите конструкции са вградени в обикновен HTML документ и (ако браузърът или специалната програма поддържа тази спецификация) се възпроизвеждат адекватно, когато документът се зарежда от мрежата.

Първото нещо, с което трябва да се справите в MathML и това, което отличава този език за маркиране от неговите аналози, е използването на два начина за кодиране на изрази. Единият от тях се основава на директното прехвърляне на синтаксиса на формулата (представяне), а другият, напротив, отразява семантиката на израза (съдържание). Презентационното маркиране описва математически символизъм с изрази, които са изградени с помощта на някои схеми за извод, указващи начини за поставяне на подизрази, като дроби, горни и долни индекси. Семантичното маркиране описва математически обекти и функции, където за всеки възел се конструира дърво на изрази според някаква специфична схема, а клоновете на това дърво съответстват на подизрази.

Всички елементи на MathML са разделени на три групи: елементи за представяне, елементи за съдържание и елементи за интерфейс.

Елементите на изгледа описват визуално ориентирана двуизмерна структура на математическа нотация. Например елементът mrow обикновено се използва за обозначаване на хоризонтален ред от части на израз, а елементът msup, който маркира горния индекс. Обикновено всеки елемент на изглед съответства на един тип нотационна схема, като ред, горен индекс, долен индекс и т.н. Всяка формула се състои от части, които могат да се състоят от най-простите елементи, като числа, букви или други символи.

Повечетоважните елементи за представяне са mi, mn и mo, използвани съответно за представяне на идентификатори, числа и оператори. Обикновено тези елементи се показват в различни стилове: числата са в латински шрифт, идентификаторите са в курсив, а около операторите е оставено допълнително бяло пространство.

) се определят от един таг.

Нека разгледаме по-подробно някои от елементите, необходими за оформлението на математически формули, като използваме презентационното маркиране като пример.

Елементите на токените представляват отделни знаци, имена, числа, обозначения и т.н. По принцип токените могат да имат само знаци като съдържание.

MathML игнорира празните знаци, които се срещат извън токените. Тук не се допускат знаци, които не са интервали. Белите знаци, които се срещат в съдържанието на токените, се премахват в краищата, т.е. всички празни знаци в началото и края на съдържанието се премахват. Белите интервали в съдържанието на елементите на MathML се свиват канонично, т.е. всяка последователност от 1 или повече такива знака се заменя с 1 (понякога наричан нулев знак).

Пример за дефиниция на етикетmimnmomtextms
идентификатора
номер2008 г
оператор (оператор), разделител (ограда) или разделител (разделител)+
текст (текст)Примерен текст
текстов низ (низов литерал)абракадабра

Примерен резултат за дефиниция на етикетmrowmfracкоренmpaddedmphantommfenced
групира произволен брой подизрази в низ (подобно на операторните скоби)
образува дроб от два подизраза
образува радикалнякаква степен
регулира подложката около съдържанието
прави съдържанието невидимо, но запазва неговия размер
огражда съдържанието с чифт скоби(x+y)

Примерен резултат за дефиниция на етикетmsubmsupmsubsupmunderover
добавя долен индекс към основатаx1
добавя горен индекс към основатаxy
добавя горен и долен индекс към основата
добавя знаци както над, така и под основата

Нека да разгледаме някои примери за формули в MathML.

Гръцката буква α се получава с помощта на кода x03B1.

Вижте резултата (в нов прозорец) (ако примерът не се появи, запазете файла на диска и го отворете)

Също така напомняме, че за да работите с MathML в Internet Explorer, трябва да инсталирате MathPlayer. Всеки файл, съдържащ MathML маркиране, трябва да има редовете преди заглавката на документа

Освен това всеки MathML код започва с таг и затваря с .

Преглед на резултата (в нов прозорец) (ако примерът не се показва в IE, запазете файла на диска, изберете Свойства с помощта на контекстното меню, отключете файла и го отворете)

Преглед на резултата (в нов прозорец) (ако примерът не се показва в IE, запазете файла на диска, изберете Свойства с помощта на контекстното меню, отключете файла и го отворете)

Обмислете елементите за оформлението на таблици и матрици.

Дефиниция на етикетmtablemtrmtd
маса или матрица
ред в таблица или матрица
една клетка в таблицатаили матрица

текстове

Преглед на резултата (в нов прозорец) (ако примерът не се показва в IE, запазете файла на диска, изберете Свойства с помощта на контекстното меню, отключете файла и го отворете)

Преглед на резултата (в нов прозорец) (ако примерът не се показва в IE, запазете файла на диска, изберете Свойства с помощта на контекстното меню, отключете файла и го отворете)

Различни математически символи, ако е необходимо, трябва да се търсят в таблицата за кодиране на Unicode.

Преглед на резултата (в нов прозорец) (ако примерът не се показва в IE, запазете файла на диска, изберете Свойства с помощта на контекстното меню, отключете файла и го отворете)

Разбира се, въвеждането на формули в MathML е доста дълга задача и изисква известно усилие. Въпреки това, тези, които са работили достатъчно дълго в LaTeX, няма да забележат голяма разлика. По-често обаче потребителят предпочита да използва различни инструменти. Нека назовем няколко.

Първо, математическите пакети, да речем Mathematica или Maple, ви позволяват да запазвате въведените в тях формули във формат MathML.

Очакваме, че запознаването на читателя със средствата за оформление на математически текстове не свършва дотук и тогава той ще може самостоятелно да избере инструмента, който го интересува, и може би дори да приложи описаните технологии на практика.