Категория: Руководства
Хотя Всемирная Паутина во многом создана усилиями физиков и математиков, путь математической формулы на ее страницы был весьма долог и тернист. Только в последние годы можно сказать, что математические формулы прочно обосновались в Сети.
Дело в том, что в языке HTML, с помощью которого создаются веб-страницы, нет средств для изображения формул. Создателям сайтов приходилось как-то выкручиваться: использовать таблицы, индексы и другие обходные пути. Список подобных приемов приведен здесь. и резюмировать его можно так — путь труден, а результат жалок.
Частичным выходом из положения стала вставка формул в виде рисунков. Для их создания существует немало инструментов. Можно использовать визуальный редактор (например, Equation Editor из Microsoft Office) или преобразовать формулу, набранную в LaTeX. с помощью онлайнового конвертера. Наконец, есть Google Docs. редактор формул которого реализует обе эти возможности. Но подбирать размеры и позиционировать рисунок приходилось веб-мастеру. А значит, об интерактивности сайта оставалось только мечтать. Для этого нужен был язык, который позволил бы посетителю сайта самому набирать формулы.
Таких языков на рубеже 2000-х годов существовало два: LaTeX — для визуального представления формул, и MathML — для описания их структуры. К тому времени LaTeX уже много лет использовался для подготовки математических текстов, поэтому неудивительно, что именно его стали использовать для сетевой математики. Одной из первых попыток такого рода стала программа LaTeXML. Написанная на Perl, она обрабатывает документ LaTeX и выводит результат в файл XML. Затем ее постпроцессор конвертирует полученный XML в другие текстовые форматы, например, в HTML и XHTML (а теперь — и в MathML) или в рисунки. Результаты работы LaTeXML можно посмотреть здесь.
Однако это не решало проблем с интерактивностью. Для этого программа-обработчик должна была выполняться непосредственно в браузере. Первым на сторону клиента перешел jsMath Дэвида Сервона (Davide Cervone). Он преобразовывал формулы, набранные пользователем на языке LaTeX, в изображения, выполненные средствами HTML и CSS. Так появилась возможность создавать по-настоящему интерактивные математические веб-страницы.
Первый шаг был сделан, но проблем оставалось еще много. Нужно было добиться, чтобы программа работала во всех браузерах (начиная с ветеранов, вроде Internet Explorer 6) и наладить экспорт формул в различные форматы, в первую очередь, в MathML. Решить эти задачи призван был проект MathJax, начатый в 2009 г. под руководством Американского математического общества при поддержке Американского института физики и портала Stack Exchange. Созданная в результате библиотека MathJax работает во всех браузерах и умеет сохранять формулы в HTML+CSS, SVG и MathML. Пользователю не нужно устанавливать плагины или шрифты — теперь он просто работает.
Если jsMath оживил математику в Интернете, то MathJax выпустил джинна из бутылки, позволив за короткое время реализовать массу замечательных идей. Хотите получить математическое образование в Сети? Загляните сюда и сюда. Нужно пообщаться с коллегами? Извольте. Создать публикации с «живыми» кодом и формулами? Вот и вот. Интересует система компьютерной алгебры на Android? Почему бы и нет. Чат с математической поддержкой? Легко. Создать блог, чтобы рассказать о своей работе? Пожалуйста. А еще MathJax использует Wikipedia. бесплатный архив электронных публикаций arXiv и Общероссийский математический портал. Так MathJax стал де-факто стандартом для отображения формул на веб-страницах.
Значит ли это, что все проблемы остались в прошлом? Нет, конечно. Так, Академия Ха?на. старающаяся сделать качественное образование доступным каждому, нуждается в быстром отображении формул на старых и слабых компьютерах. Для этого они разрабатывают собственную библиотеку KaTeX. которая в перспективе должна заменить MathJax. Пока KaTeX не может сравниться с MathJax по функциональности. предстоит еще решить проблемы с работой на старых браузерах, зато она существенно быстрее MathJax. Те же задачи решает библиотека jqMath. которая также занимает меньше места и работает быстрее MathJax, но хуже последней поддерживает MathML.
Мы не зря так часто упоминаем здесь о MathML. Он необходим для организации автоматической обработки формул. Например, если вам понадобится организовать поиск по формулам, то MathML — как раз то, что нужно.
Создавать формулы непосредственно с помощью MathML неудобно. Для этого есть визуальный редактор Firemath. выполненный в виде расширения браузера Firefox или конвертер из TeX в MathML — TeXZilla. также доступный в виде расширения Firefox. Ну, и MathJax, конечно.
В Википедии можно написать что-то вроде
и получить отрисованные формулы по правилам LaTex. [1]
Формулы поддерживаются различными проектами фонда Викимедиа (Википедия и другие), что легко проверить, зарядив в них вышеуказанную строку в тегах <math>..</math> .
[править ] Бесплатный викихостингФормулы поддерживают сервера Викии. Правда, отрисовывает их иначе:
Поддержка формул была также обнаружена на сайте http://babylon.wiki-wiki.ru
[править ] Установка поддержки формул на обычный хостингДля отрисовки формул необходима библиотека texvc. [2] Она входит в комплект MediaWiki в не откомпилированном виде в папке math. Предлагается его скомпилировать при помощи OCaml и GNU make. Также в системе должны быть установлены LaTeX + dvips, ImageMagick, Ghostscript.
Все эти компоненты в уже готовом виде были обнаружены у хостеров siteground.com [3] и komtet.ru [4]
В файле LocalSettings.php включается $wgUseTeX = true; а также могут потребоваться и другие настройки, которые указаны в описаниях у хостеров. [3]
Поскольку изображения формул кешируются в папке, а не отрисовываются всякий раз заново, может потребоваться создать и назначить пути и присвоить им права доступа 755. [3]
Есть альтернативные расширения для MediaWiki, которые используют другой пакет - Mimetex [5] или забирают формулы с внешнего хоста. [6]
[править ] Формулы в ЖЖТакую возможность для LiveJournal и других сайтов с поддержкой внешних картинок предоставляет внешний сервис www.codecogs.com. [7]
В этом случае в HTML-коде надо написать что-то вроде этого:
[править ] Решения на JavaScriptРисуют формулы в браузере при помощи картинок и таблиц. Формулы выглядят красиво (см. примеры на официальных сайтах). Недостаток — на клиентской машине требуется JavaScript.
Эти расширения просты в установке и не нагружают веб-сервер с вики. Но не позволяют отображать формулы при генерации PDF, DOC и ODT - файлов соответствующими расширениями.
[править ] Обмен с WordЭкспорт и импорт формул из TeX-представления в Microsoft Word обеспечивает платная программа GrindEQ http://www.grindeq.com/ у которой несколько первых запусков — бесплатные. Конвертирует хорошо.
[править ] СсылкиМатематические формулы в MediaWiki относится к теме «MediaWiki» ±
Mathematical Markup Language (MathML) разновидность языка разметки XML. предназначенная для построения математических выражений с сохранением их структуры и содержания. Здесь Вы найдёте ссылки к документации, примеры и инструменты, которые помогут Вам работать с этой мощной технологией. Для быстрого обзора - смотрите слайды для выставки инноваций на саммите Mozilla 2013 .
Справочные данные по MathMLСправка по элементам MathML Детальная информация по каждом элементе MathML, а также информация по совместимости для настольных и мобильных браузеров. Справка по аттрибутам MathML Информация по аттрибутам MathML, которые могут изменять внешний вид или поведение элементов. Примеры MathML Примеры и образцы работы технологии MathML, которые помогут Вам понять её принципы. Авторинг MathML Предложения и советы по написанию на MathML, включая рекомендации по редакторам MathML, а также информация о том как интегрировать результат в Web контент.
Получение помощи из сообщества Инструменты Похожие темыВ данном разделе описана установка и настройка Python Sphinx в операционной системе Windows.
На этом установка Python Sphinx закончена, можно переходить к сборке документации. Сборка осуществляется командой:
Сборка документации¶Перед началом сборки создайте папку docs. Для примера создадим на рабочем столе папку Руководство. а в ней папку docs. Затем откройте командную строку Пуск > cmd и перейдите в папку с руководством, выполнив команду:
Подробнее о работе с командной строкой Windows смотрите Руководство по командной строке Windows .
Выполните команду sphinx-quickstart. Программа задаст ряд вопросов. Все настройки можно будет позже изменить в файле conf.py .
После выполнения стартового скрипта в папке docs появится следующая структура:
Makefile — содержит инструкции для генерации результирующего документа командой make.
build — директория, в которую будут помещены файлы в определенном формате после того, как будет запущен процесс их генерации.
source — директория, в которой располагаются исходные файлы.
index.rst — это корень проекта. Он соединяет документацию воедино, если она разделена на несколько файлов.
_static — в эту директорию помещаются все файлы, не являющиеся исходным кодом (например, изображения). Позже создаются связи этих файлов с директорией build.
conf.py — содержит конфигурационные параметры Sphinx, включая те, которые были выбраны при запуске sphinx-quickstart в окне терминала.
Чтобы выполнить сборку документации, перейдите в папку docs и выполните команду:
Будет выполнена сборка документации, в терминале появится информация о ходе сборки:
Собранные html-файлы появятся в папаке build\html .
Для удобства можно создать bat-файл, содержащий строку sphinx-build -b html source build\html. Подробнее смотрите Руководство по командной строке Windows .
LaTeX — язык разметки и система верстки, предназначенная для набора научных текстов. Вы можете использовать язык разметки LaTeX везде на сайте, в том числе, в задачах и в комментариях (кроме комментариев, оставленных через форму VK). Чтобы вставить формулу в текст, нужно заключить ее между знаками доллара: например, строка $x^2+y^2=z^2$ будет заменена на $x^2+y^2=z^2$. Вы можете нажать правой кнопкой мыши на любую формулу, выбрать Show Math As > TeX Commands и увидеть, как она сделана. Вы всегда можете проверить, как будет выглядеть то или иное выражение, введя его на сайте и нажав кнопку «Предпросмотр».
Если вам нужен сам знак \$ (без перехода в LaTeX), то его можно набрать так: \$ .
Если вы хотите ввести в текст только число, то наберите его непосредственно, заключать в формулу не нужно. Например: фирма может произвести не более 100 единиц продукции, предельные издержки производства каждой равны 1,5.
Если вы хотите ввести дробное число внутри формулы. имейте в виду, что LaTeX воспринимает запятую в формулах не как десятичный разделитель, а как разделитель сущностей при их перечислении. Чтобы не создавалось лишнего пробела, желательно заключать десятичную запятую в фигурные скобки.
Сравните:
$1,2, 3$ > $1, 2, 3$
$1<,>2+2<,>5=3<,>7$ > $1<,>2+2<,>5=3<,>7$
Обратите внимание, что наличие или отсутствия пробелов в исходной записи формул не имеет значения — система сама подбирает все расстояния между символами.
Верхние и нижние индексы набираются с помощью знаков ^ и _ соответственно. Верхние индексы в основном используют для обозначения показателя степени:
$(a+b)^2=a^2+2ab+b^2$ > $(a+b)^2=a^2+2ab+b^2$
Нижние индексы используют для нумерации однотипных переменных. Например, $P_1$ — цена первого товара, $P_2$ — цена второго товара.
Если индекс состоит более чем из одного символа, то его надо заключать <в фигурные скобки>, иначе будет воспринят только первый символ:
$P_<крокодила>=1000$ > $P_<крокодила>=1000$
Сравните $Q_12$ > $Q_12$ и $Q_<12>$ > $Q_<12>$.
Если у одного символа есть как верхние, так и нижние индексы, то их можно указать в произвольном порядке:
$P_1^2=P^2_1$ > $P_1^2=P^2_1$
Дроби, обозначаемые косой чертой, набираются непосредственно:
$10/2=5$ > $10/2=5$
Дроби, в которых числитель расположен над знаменателем, набираются с помощью команды с двумя аргументами \frac<числитель><знаменатель> (сокращение от «fraction»):
$\frac<10><2>=5$ > $\frac<10><2>=5$.
Дроби, встречающиеся по ходу текста, предпочтительно вводить в первом варианте, оставив команду \frac для формул в отдельной строке (см. ниже).
НеравенстваСтрогие неравенства набираются непосредственно:
$0>x > $0>x $0 .
Знак «меньше либо равно» набирается командой \le (сокращение от «less or equal»), знак «больше либо равно» набирается командой \ge (сокращение от «greater or equal»):
$x\le y$. $y\ge x$ > $x\le y$, $y\ge x$
Корни набираются с помощью команды \sqrt[n]<выражение> (сокращение от «square root»), обязательным аргументом которой является подкоренное выражение (указывается в фигурных скобках). Кроме обязательного аргумента можно указать необязательный аргумент, заключаемый в квадратные скобки, который является показателем корня.
Греческие буквыГреческие буквы, не имеющие латинских эквивалентов, набираются командами, соответствующими их названиям. Заглавные буквы вводятся командами, начинающимися с заглавных букв
$\alpha, \beta, \gamma, \delta, \Delta, \pi$ > $\alpha, \beta, \gamma, \delta, \Delta, \pi$
Формулы на отдельной строкеЕсли заключить формулу в двойные знаки доллара, то она будет отображена по центру новой строки и более крупным шрифтом. Сравните:
$\frac$ > $\frac$
$$\frac$$ > $$\frac$$
В отдельную строку лучше помещать длинные и/или многоэтажные формулы.
Для автоматического выбора размера скобок используются команды \left и \right, помещаемые перед открывающей и перед закрывающей скобками соответственно. Сравните:
ИзлишестваНа сайте используется одна из лучших систем перевода LaTeX-кода в формулы, которая есть для веба. Однако всё же формулы выглядят не совсем идентично окружающему тексту из-за особенностей шрифта, а также требуют исполнения кода (то есть тратят ресурсы компьютера пользователя) для отображения. Поэтому лучше не использовать команды LaTeX там, где и без них всё хорошо.
Нежелательно: Если разделить пирог в пропорции $3:7$, то Иннокентий получит $30
\%$, а Агриппина — $7/10$ (то есть $0<,>7$) всего пирога.
Желательно: Если разделить пирог в пропорции 3. 7, то Иннокентий получит 30 %, а Агриппина — 7/10 (то есть 0,7) всего пирога.
Если вы хотите лучше изучить LaTeX или просто посмотреть, как сделать что-то не описанное выше, то можно воспользоваться следующими источниками.
Также вы можете в комментариях ниже спросить, как набрать то или иное выражение.