Есть ли причина отдавать предпочтение синтаксису MathML над TeX в MathJax? - PullRequest
9 голосов
/ 25 сентября 2011

MathJax , библиотека JavaScript с открытым исходным кодом для отображения математики, поддержка нескольких синтаксисов, включая MathML и LaTeX.Есть ли основания для предпочтения использования синтаксиса MathML для уравнений на странице по сравнению с синтаксисом TeX?Мне кажется, что MathML намного более многословен.

Ответы [ 3 ]

3 голосов
/ 21 февраля 2013

Что ж, если вы действительно внимательно посмотрите на кодирование, вы обнаружите, что MathJax, а также jsMath и другие подобные программы на javascript все делают почти одно и то же.Они преобразуют то, что является LaTeX в исходном коде веб-страницы, так как оно обслуживается сервером, в MathML на стороне клиента.Не стесняйтесь выделить ваш «LaTeX» и посмотреть, как выбранный исходный код на самом деле выглядит в браузере.Вы обнаружите, что это MathML (в большинстве случаев).

Если вы не используете сценарий или хостинг-сайт, который растеризует LaTeX в изображение GIF или PNG (что является еще одним жизнеспособным вариантом), то ваш LaTeX отображаетсякак MathML-Presentation.

В случае с MathJax, однако, он также предоставляет возможность рендеринга SVG и HTML-CSS.И то, и другое требует огромного количества клиентского исходного кода.SVG на самом деле не практичен (к сожалению, он даже не общепризнан), но, безусловно, это круто.HTML-CSS, хотя, возможно, выглядит лучше, не читается математическим парсером или XML-парсером ... это также MathJax по умолчанию, и это увеличивает нагрузку на клиентскую сторону.Поэтому, по-моему, лучше по умолчанию использовать их MathML-рендеринг.

Таким образом, если я правильно понимаю ваш вопрос, ваш вопрос на самом деле спорный.Вы уже имеете дело с MathML в обоих случаях.Разница в том, что вам легче писать и вставлять на страницу?Лично я предпочитаю писать на LaTeX, а не на MathML.

Я использовал jsMath и совсем недавно MathJax.Но в настоящее время я все еще использую Codecogs.com для конвертации латекса в GIF на лету.(Они имеют , и вы можете использовать прямые ссылки)

В том-то и дело, что у вас есть только два варианта (ну, четыре технически).У вас есть изображения MathML или GIF в качестве основных двух.Все эти скрипты и хостинговые сайты делают то, что они облегчают преобразование из LaTeX в GIF или MathML (или менее желательный SVG или HTML-CSS).Прямой текст на LaTeX так же трудно читать, как и исходный код MathML, - вам необходим какой-то процесс рендеринга.

Одним огромным преимуществом при кодировании вашего собственного MathML является то, что вы имеете полный контроль над грамматикой и структуройЯзык на основе XML (в случае, если вы сделаете его доступным для других математических программ и сайтов).Но есть и другие преимущества: вам не нужен javascript, и поэтому вашим посетителям не нужно включать javascript.

По совпадению, ASCIIMath является хорошим примером простого javascript, преобразующего LaTeX в Unicode и HTML-CSS в оченькрасивый и обтекаемый способ.

1 голос
/ 26 сентября 2011

Если вам не нужен человек для написания уравнений, MathML более надежен. Существует четкая интерпретация разметки (какой режим отображения будет использоваться по умолчанию во всех реализациях MathJax?), Есть больше шансов для поддержки преобразования текста в речь для MathML. С помощью XPath легко найти, где находятся ваши математические элементы и т. Д.

Другими недостатками подхода MathJax являются налог на время запуска и тот факт, что он заставляет ваш браузер использовать Javascript.

0 голосов
/ 27 сентября 2011

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

Что касается вопроса Элазара о том, «какой режим отображения будет использоваться по умолчанию во всех MathJaxреализации ", это строго зависит от вас, когда вы настраиваете страницу.Это делается с помощью тега <script>, как описано в документации MathJax .

...