Курсовая работа: Отображение математических формул в формате LaTeX на форуме PHPBB3
1. базируется на принципе разделения представления и содержания документа.
2. основан на разметке текстов логического уровня.
3. использует для представления документов открытые широко признанные стандарты.
4. удобен для автоматической обработки, распространения и хранения информации.
5. предоставляет возможность конверсии текстов, представленных в каноническом формате, в другие распространенные форматы представления естественнонаучной информации и обратно.
6. допускает трансляцию в различные (поли) графические представления, как электронные, так и бумажные.
7. допускает богатую «интеллектуальную» обработку документа достаточно легкими онлайновыми программными средствами.
Базой для создания такого формата служит расширяемый язык разметки XML. Очень существенным шагом в этой области является появление диалекта XML – языка MathML, ориентированного на описание математических формул. MathML интересен по многим причинам. Во-первых, формат MathML основан на языке разметки XML, что позволяет использовать большое количество наработанных компонент и библиотек. Во-вторых, формат MathML реализует два вида представления: презентационное и содержательное. В-третьих, формат MathML является открытым стандартом, поддерживаемым консорциумом W3, что очень важно для построения сложных систем, ориентированных на использование широкими массами пользователей. В своей «презентационной» части MathML идеологически весьма близок TeX-формату.
С учетом вышеперечисленных плюсов, оптимальным решением является принятие формата MathML в качестве канонического формата обработки и представления математических формул. Вообще, когда говорят об обработке математических формул, то подразумевают всю цепочку: ввод формул пользователем, хранение формул, обработка формул, отображение формул.
Когда речь идет о вводе формул пользователем, то можно рассматривать две основные ситуации: создание, редактирование и представление математических текстов, и ввод формул в различных прикладных приложениях и Web-сервисах, в частности, электронных форумах и учебных программных комплексах. Решение задач обработки естественнонаучной информации является самостоятельной и весьма объемной проблемой.
TeX
TE Χ (обычным текстом – TeX) – система компьютерной вёрстки, разработанная американским профессором информатики Дональдом Кнутом в целях создания компьютерной типографии. В неё входят средства для секционирования документов, для работы с перекрёстными ссылками и для набора сложных математических формул.
Название произносится как «тех» (от греч. τέχνη– «искусство», «мастерство»). В написании буква E опущена ниже T и X.
Документы набираются на собственном языке разметки в виде обычных ASCII-файлов, содержащих информацию о форматировании текста или выводе изображений. Эти файлы (обычно имеющие расширение «.tex») транслируются специальной программой в файлы «.dvi» (d ev ice i ndependent – «независимые от устройства»), которые могут быть отображены на экране или напечатаны. DVI-файлы можно специальными программами преобразовать в PostScript, PDF, или другой электронный формат.
Ядро TeX’а представляет собой язык низкоуровневой разметки, содержащий команды отступа и смены шрифта. Огромные возможности в TeX’е предоставляют готовые наборы макросов и расширений. Наиболее распространённые расширения стандартного ТеХ’а (наборы шаблонов, стилей и т.д.): LaTeX (произносится «лате́х») и AMS-TeX . При использовании пакета расширения LaTeX можно превратить разросшуюся статью в книгу изменением одного слова в исходнике, вставлять оглавление одной командой, не задумываться о нумерации разделов, теорем, рисунков. Есть много пакетов для оформления химических формул (например, пакет XymTeX), диаграмм (xypic), создания презентаций и визитных карточек и тому подобного.
Распространённые комплекты вёрстки на основе ТеХ’а: для Windows – TeX Live или MikTeX, для UNIX-подобных систем – TeX Live или teTeX.
Для создания шрифтов совместно с TeX’ом используется специально разработанная система METAFONT, в которой шрифты описываются программами на специализированном языке Meta. Могут также использоваться векторные шрифты в формате PostScript Type 1, TrueType и OpenType.
TE Χ применяется в исходных текстах Википедии для набора математических формул.
История
Первый том книги «Искусство программирования» Д. Кнута был опубликован в 1969 году и печатался методом монотипии, технологии XIX века, которая давала на выходе издание в «хорошем классическом стиле», что нравилось Кнуту. Когда в 1976 году публиковалось второе издание второго тома, всю книгу пришлось набирать вновь, поскольку монотипия почти повсеместно была замещена фотографической техникой, и оригинальные шрифты больше не использовались. Однако, когда 30 марта 1977 года Кнут получил новые оттиски, он увидел что они выглядят ужасно. Примерно в это же время Кнут впервые увидел результат работы высококачественной цифровой типографической системы, и заинтересовался возможностями цифровой типографии. Не оправдавшие ожиданий оттиски дали ему дополнительный толчок к тому чтобы решить проблему раз и навсегда, разработав свою типографическую систему. 13 мая 1977 года он написал заметку самому себе, описывающую базовые возможности TeX.
Он планировал завершить систему в свой творческих отпуск 1978 года, но получилось так что язык был зафиксирован лишь в 1989 году, более 10-ти лет спустя. Летом 1978 года, когда Кнут писал первую версию TeX, Guy Steele был в Стэнфорде; осенью того же года он вернулся в МТИ и переписал систему ввода / вывода TeX под операционную систему ITS. Первая версия TeX была написана на языке программирования SAIL и работала на PDP-10 под операционной системой WAITS. Для следующих версий Кнут изобрёл концепцию «грамотного программирования» (англ. literate programming ), способ получения совместимого исходного кода и документации к нему (в виде текста на TeX, конечно) из одного и того же оригинального файла. Этот язык был назван WEB и производил программы на Паскале.
Новая, переписанная с нуля версия TeX была издана в 1982 году и названа TeX82. Помимо других изменений, первоначальный алгоритм переносов был заменён новым, написанным Frank Liang . TeX82 также использовал арифметику с фиксированной запятой вместо арифметики с плавающей запятой, с тем чтобы обеспечить воспроизводимость результата на различном оборудовании. Помимо этого, под нажимом Guy Steele , в TeX82 появился настоящий, тьюринг-полный язык программирования.
В 1989 году Дональд Кнут выпустил новую версию TeX и METAFONT.
MathML
MathML (отангл. Mathematical Markup Language , язык математической разметки) – это приложение XML, используемое для представления математических символов и формул в документах WWW. MathML рекомендован математической группой W3C.
Спецификация MathML версии 1.01 вышла в июле 1999, в феврале 2001 появилась версия 2.0. В октябре 2003 была опубликована вторая редакция MathML версии 2.0, которая является на настоящий момент последней спецификацией, выпущенной математической группой W3C.
MathML рассматривает не только представление , но и смысл элементов формулы. Также разрабатывается система разметки математической семантики, призванная дополнить MathML. Она называется OpenMath.
MathML имеет 2 версии– Presentation MathML и Content MathML.
Пример:
В TeX описание
x = \frac {-b\pm \sqrt {b^2 ? 4ac}} {2a}используется для представления формулы