рефераты бесплатно
 

МЕНЮ


Курсовая работа: Отображение математических формул в формате LaTeX на форуме PHPBB3

Новая, переписанная с нуля версия 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}

используется для представления формулы

x = \frac{-b \pm \sqrt{b^2 - 4ac}}{2a}

Ниже приведено описание этой формулы с помощью 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>

XML-структура MathML обеспечивает широкую область использования и позволяет быстро отображать формулы в приложениях, таких как браузеры, а также легко интерпретировать их значения в математических программных продуктах.

Поддержка программного обеспечения

Существует множество утилит для преобразования математических выражений в MathML, включая конвертеры между TeX и MathML.

Основными браузерами, непосредственно поддерживающими MathML, являются последние версии Mozilla и его разновидности. Начиная с бета-сборки 9656 (от 16 ноября 2007), этот язык поддерживает также Opera. Многие другие браузеры поддерживают этот формат при установке соответствующих плагинов. Например, в Internet Explorer для поддержики MathML используется плагин MathPlayer.

Кроме того, MathML поддерживается основными офисными программами, такими как Microsoft Word и OpenOffice.org, а также математическими программными продуктами, например, Mathematica, Maple.

Ряд решений

Рассмотрим 2 варианта решения проблемы отображения формул на конкретных примерах.

Википедия (http://ru.wikipedia.org)

Для математических формул MediaWiki использует разметку TeX'а. Но, в зависимости от пользовательских настроек и сложности выражения, они могут отображаться либо как PNG-рисунки, либо в обычной HTML-разметке.

Общие положения

·  Исходный код математической формулы записывается внутри тега <math>…</math>.

·  Шаблоны, переменные и параметры MediaWiki не функционируют внутри этого тега.

·  Пробелы игнорируются (ТеХ их сделает сам).

·  Пустые строки не разрешаются.

·  Буквы должны быть набраны только латинским шрифтом. В случае написания даже одной буквы кириллицей программа сообщает об ошибке.

·  Каждая буква считается переменной и воспроизводится курсивом, а цифры – прямым шрифтом (исключение – название функций и операций). Чтобы не допустить курсивного начертания для прочего текста, используйте команды \mbox или \mathrm. Например, запись <math>\mbox{abc}_\mathrm{def}</math> отображается как abcdef.

·  Символы записываются с помощью «команд»[2], которые начинаются с «обратного слэш» (\) и состоят либо из командного слова из латинских букв, либо из символа (не буквы). В первом случае после командного слова должен быть обязательно пробел или другая команда.

·  Команды могут иметь аргументы: {обязательные} и [необязательные].

·  Переводы строк внутри тега <math>…</math> не отображаются, поэтому, чтобы сделать код более читабельным, можно вставлять переводы строк после каждого выражения или строки матрицы.

·  Если в настройках пользователя не выбрана опция «Всегда генерировать PNG», то простые формулы будут отображаться как в HTML-разметке. Чтобы заставить их всегда отображаться как PNG-рисунки, следует в начале или в конце формулы вставить один из знаков принудительного пробела (~ \, \!). Cравните:

<math>a (1 + e^2 / 2)</math>  a (1 + e2 / 2)

<math>~a (1 + e^2 / 2)</math>                                                         ~a(1+e^2/2)

<math>df(x) = f'(x) dx</math> df(x) = f'(x) dx

<math>df(x) = f'(x) dx\,</math>

df(x) = f'(x)dx\,

·  Чтобы создать выражения вида A\stackrel{f}{\longrightarrow}B, используйте команду \stackrel{выражение1} {выражение2}, где выражение1 – то, что будет отображаться над строкой, выражение2 – то, что останется в строке. Код приведённой формулы:

<math>A\stackrel{f} {\longrightarrow} B</math>.

·  Десятичную запятую в десятичных дробях рекомендуется заключать в фигурные cкобки, чтобы избежать ненужного тонкого пробела после запятой. Сравните:

<math>~\pi=3,1415\dots</math>

~\pi=3,1415\dots

<math>~\pi=3 {,} 1415\dots</math>

~\pi=3{,}1415\dots

Исходные команды

Служебные значки

·  \ сигнальный символ (команд);

·  {начало группы;

·  } конец группы;

·  _ нижний индекс;

·  ^ верхний индекс;

·  ~ неразрывный пробел.

Шрифты

Буква

Команда

Буква

Команда

Буква

Команда

\Alpha~\alpha

\Alpha \alpha

\Iota~\iota

\Iota \iota

\Sigma~\sigma

\Sigma \sigma

\Beta~\beta

\Beta \beta

\Kappa~\kappa

\Kappa \kappa

~\varsigma

\varsigma

\Gamma~\gamma

\Gamma \gamma

\Lambda~\lambda

\Lambda \lambda

\Tau~\tau

\Tau \tau

\Delta~\delta

\Delta \delta

\Mu~\mu

\Mu \mu

\Upsilon~\upsilon

\Upsilon \upsilon

\Epsilon~\epsilon

\Epsilon \epsilon

\Nu~\nu

\Nu \nu

\Phi~\phi

\Phi \phi

~\varepsilon

\varepsilon

\Xi~\xi

\Xi \xi

\varphi

\varphi

\Zeta~\zeta

\Zeta \zeta

\Pi~\pi

\Pi \pi

\Chi~\chi

\Chi \chi

\Eta~\eta

\Eta \eta

\varpi

\varpi

\Psi~\psi

\Psi \psi

\Theta~\theta

\Theta \theta

\Rho~\rho

\Rho \rho

\Omega~\omega

\Omega \omega

\vartheta

\vartheta

\varrho

\varrho

Страницы: 1, 2, 3, 4, 5


ИНТЕРЕСНОЕ



© 2009 Все права защищены.