ProgrammerBook.ru: Обратите внимание, что
Элемент <MATH> используется для включения математических выражений в текущую строку. HTML math является достаточно мощным инструментом для описания диапазона математических выражений, которые вы можете создать в обычных пакетах обработки текста, а также HTML math пригоден для речевого представления математических выражений. Когда медиа представляет только текст с фиксированным шагом, для математических символов, таких как знак интеграла может быть использована простая текстовая графика, в то время как другие символы могут быть представлены с помощью их имён сущностей. Возможность SGML SHORTREF используется с целью обеспечения сокращения для скрытых скобок, верхних и нижних индексов.
Разработка HTML math во многом обязана математическому режиму LaTeX, который был признан эффективным для самых разнообразных вариантов математической вёрстки. Куда практичнее, HTML math использует имена тегов, соответствующие LaTeX командам, например, ATOP, CHOOSE и SQRT действуют таким же образом как и их LaTeX тёзки. Конечно, SGML и LaTeX имеют совершенно разные синтаксические соглашения. В результате, HTML math для символов использует ISO имена сущностей, а не TeX имена. В LaTeX, символ команды «^» указывает, что следующий символ является показателем степени, в то время как символ команды «_» указывает, что следующий символ является индексом. Если показатель степени или индекс содержит более одного символа, то группа символов должна быть заключена в фигурные скобки «{ }». Этот синтаксис не подходит для SGML, поэтому HTML math вместо обработки «_ и «^» как shortref символов вводит SUB и SUP элементы, которые используются для индексов и показателей степени, соответственно.
Я не могу найти ISO имена сущностей для «_» и «^» символов!
HTML math разрабатывался как краткий и сравнительно легко читаемый. На практике формулы будут немного больше, чем в LaTeX, но гораздо короче, чем в других предложениях математической разметки для SGML, например таких как EuroMath или ISO 12083. Такое упрощение было достигнуто благодаря мощному элементу BOX, который заменяет многие элементы в других предложениях, а также простым соглашениям для связывания SUB и SUP элементов и их использования в качестве универсального способа смещения операторов вверх и вниз. HTML math различает термины, например, бинарные операторы, переменные, константы, интегральные знаки, разделители и т.д. Это упрощает представление и отражает допущения, принятые в LaTeX. Кроме того, HTML math позволяет такое же смещение операторов вверх и вниз, которые будут использоваться для множества различных ролей в зависимости от условий их применения. HTML math не обеспечивает прямую поддержку многострочных уравнений, так как они могут быть эффективно созданы путём сочетая математической разметки с TABLE элементами.
Пример - интеграл от a до b из f(x) над 1+x
<MATH>∫_a_^b^{f(x)<over>1+x} dx</MATH>
который может быть представлен средой выводящей только текст с фиксированным шагом как:
b / f(x) | ------- dx / 1 + x a
В этом примере используются { и } как shortrefs для <BOX> и </BOX> соответственно. Они используются для невидимых скобок, эластичных разделителей и интегральных знаков, а также размещения одного над другим. Shortref символы «_» и «^» используются как подстрочные и надстрочные индексы соответственно.
HTML math следует общей практике вариантов математической вёрстки по представлению функций, чисел и других констант в виде вертикального шрифта, в то время как переменные представляются курсивом. Вы можете установить определённые термины жирным вариантом, а для химических формул, вы можете принудительно использовать вертикальный шрифт. Пределы для символов, таких как знаки интеграла и суммирования размещаются непосредственно над (под) символом или непосредственно справа в зависимости от символа.
Расстояние между константами, переменными и операторами
определяется автоматически. Дополнительное расстояние может быть вставлено
с помощью сущностей, таких как  , &sp; и
&quadsp;. Пробельное пространство в разметке используется
только для разделения соседних переменных или констант. Вам не нужны пробелы
до или после бинарных операторов или других специальных символов, поскольку
они распознаются HTML math токенизатором. Пробельное пространство может быть
полезно, для улучшения читаемости в процессе создания.
Мне нужно
проверить ISO имена сущностей для пробелов!
Следующие элементы допустимы в пределах MATH элементов:
Документы обозначенные следующими ссылками находятся в стадии разработки ...
Выражение, представляется в три этапа:
Примечание: На практике, подходит только ограниченный диапазон размеров шрифтов, в результате (как результат), глубоко вложенные выражения, как непрерывные дроби не могут использовать всё более мелкие шрифты. Это просто обрабатывается параметром ParseExpression процедуры, который устанавливает размер шрифта, используемого для данного выражения. ParseExpression вызывается рекурсивно для вложенных выражений и использует всё более мелкий шрифт, пока он не достигнет нижнего предела наименьшего доступного шрифта. Параметр size соответствует нумерации доступных размеров шрифта.
Для элемента MATH, CLASS может быть использован для описания разновидности сложного математического выражения. Он может быть использован для изменения способа представления формулы и поддержки экспорта выражения в программу математических символов. Класс «chem» полезен для химических формул, которые используют вертикальный шрифт для переменных, а не курсивный шрифт, используемый по умолчанию. Например:
<math class=chem> Fe_2_^2+^Cr_2_O_4_</math>
2+ который будет представлен как Fe Cr O 2 2 4
В противном случае, соглашения по выбору имён классов выходят за рамки данной спецификации.