Подтвердить что ты не робот

Математические уравнения в Интернете

Как я могу отображать математические уравнения в Интернете? Я уже знаком с LaTeX Math mode.

4b9b3361

Ответ 1

Оказывается, это немного боль.

Вы можете использовать MathML, но поддержка браузеров все равно iffy. Если вы начинаете с латекса, у вас есть несколько вариантов конвертирования в html, но все они в конечном итоге окажут фактические уравнения для изображений и вставляют их.

Nothings все это красиво (если вы не прибегаете к PDF или чему-то). Что лучше всего будет зависеть от того, какой контент, сколько уравнений и насколько сложны уравнения.

Здесь - достойное резюме.

Ответ 2

Другие ответы устарели. Начиная с 2012 года, красивая математика легко писать и визуализировать. Эта технология называется MathJax. Вы можете видеть это в тихом действии на MathOverflow и сотнях математических журналов.

MathJax - это движок отображения JavaScript с открытым исходным кодом для математики, который работает во всех современных браузерах. Больше нет настроек для читателей. Больше плагинов для браузера. Больше нет установок шрифтов... Он просто работает.

Mathjax надежный и ненавязчивый, поэтому вам просто нужно написать математику. Вы делаете это в Tex (Latex), кратком синтаксисе, с которым знакомы большинство ученых и математиков (и поделились десятилетними хорошими учебниками). Для Mathjax вы просто пишете код Tex в своем тексте в формате HTML между знаками двойного доллара, например.

При $$ a\ne 0 $$ существуют два решения для $$ ax ^ 2 + bx + c = 0 $$ и они $$ x = {-b\pm\sqrt {b ^ 2- 4ac}\over 2a}. $$

Чтобы использовать Mathjax для рендеринга вашей математики, поместите строку Javascript в свой HTML-заголовок:

<script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>

Если вы публикуете на платформе, такой как Wordpress, Tumblr или Blogger, в своих галереях есть плагины (Wordpress).

Как Mathjax отображает математику? С Javascript он превращает вашу математику в красивый HTML и CSS (замечательно напоминающий латекс) за долю секунды. Если браузер поддерживает MathML, он также может отображать математику, но это не важно. Это популярный успех, потому что рабочий процесс конечного пользователя прост, а не из-за технологии позади него.

Вы можете использовать Mathjax (поверх png-изображений) в Википедии, если у вас есть учетная запись. Найдите Special:Preferences/Внешний вид.


MathML нелепо. Он не доступен для чтения и записи на человека (квадратное уравнение принимает 800 символов - это 50 в Tex). Это просто еще один бессмысленный XML-язык. К счастью, он устарел до того, как большинство браузеров его поддерживают. Это даже не так хорошо, как Tex или Mathjax HTML-CSS!

Ответ 3

Мои два любимых подхода:

  • Клиентская сторона: MathJax. См. несколько примеров здесь. Он очень прост в использовании и установке, а его разработка поддерживается AMS и SIAM среди других научных учреждений. Я ожидаю, что это станет стандартом defacto для отображения математики в Интернете.

  • Серверная сторона: LaTeXML. Это используется для создания NIST Digital Library of Mathematical Functions. Он имеет тенденцию к икоте, если у вас есть пользовательские макросы в ваших источниках TeX, но в целом он дает очень хорошие результаты.

Ответ 4

Пакет jsMath - это еще одна опция, использующая разметку LaTeX и собственные шрифты. Цитата с их веб-страницы http://www.math.union.edu/~dpvc/jsMath/:

Пакет jsMath предоставляет метод включая математику в HTML-страницах который работает в нескольких браузерах под Windows, Macintosh OS X, Linux и другие вкусы unix. Это преодолевает ряд недостатков традиционного метода использования изображения для представления математики: jsMath использует собственные шрифты, поэтому они измените размер, когда вы измените размер текст в вашем браузере, они печатаются на полное разрешение вашего принтера, и вам не нужно ждать десятков изображений, которые нужно загрузить, чтобы см. математику на веб-странице. Есть также преимущества для веб-страницы авторов, поскольку нет необходимости предварительная обработка ваших веб-страниц для генерации любые изображения и математика введен в форму TeX, поэтому легко создавать и поддерживать ваши веб-страницы.

См., например, эту страницу или этот.

Ответ 5

Вы можете делать больше математики непосредственно в HTML, чем большинство людей понимают. Смотрите примечания.

Единственный безопасный способ визуализации LaTeX - сохранить результат как изображение. Некоторые сайты пытаются использовать инструменты для этого на лету, и они никогда не работают надежно. Например, в некоторых блогах это работает, если вы посещаете веб-страницу напрямую, но не, если вы проходите через Feedburner/Google Reader.

У меня был ужасный опыт работы с поддержкой браузера MathML, как в Firefox, так и в IE. Даже не пытайтесь. Еще нет. Может быть, через несколько лет.

Здесь сайт Я использую для компиляции LaTeX в gif.

Если вы хотите использовать PDF вместо HTML, все становится намного проще. Просто создайте свой документ LaTeX и используйте pdflatex для его компиляции в PDF. Если вы перейдете по маршруту PDF, вам может быть интересен как включить свойства PDF, такие как автор, ключевые слова и т.д. В файл LaTeX, Кроме того, эта страница объясняет, как разметить LaTeX для создания ссылок в вашем PDF файле.

Ответ 6

Katex

Несколько разработчиков из Khan Academy выпустили пылающую быструю библиотеку, основанную на Tex, называемую Katex:

  • Fast
  • Высокое качество
  • Автономные; и,
  • Может отображаться на сервере

Похож на отличный современный вариант.

Katex sample

Ответ 7

texvc может преобразовывать математические уравнения LaTeX в png или HTML.

Ответ 8

LaTeX и MathML - единственные "правильные" способы сделать это. Однако каждый из них имеет серьезные ограничения. Другими параметрами являются изображения (не очень оптимальные, если вам нужно отредактировать уравнения позже) или сложный HTML (требуется некоторое обучение, но это может быть сделано).

Ответ 9

Я делаю формулы LaTeX "по запросу" в моей вики. В основном, я извлекаю латексный код из каждой секции вики и помещаю его в файл .tex(чье имя файла является md5sum латекса, поэтому, если один и тот же код используется снова, будет использоваться тот же текс и, следовательно, одно и то же изображение), Затем tex файл - это латекс, скомпилированный задачей cron каждую минуту, чтобы сначала создать .ps, затем с программой конвертации a.png(снова названной с оригинальным md5). Запись wiki заменяет текст латекса тегом img, относящимся к этому png (с оригинальным латексным кодом как alt, для текстовых считывателей).

Если вы хотите пройти этот путь, будьте очень осторожны, чтобы максимально очистить свой латекс. в латекс есть команды, такие как \input, которые вы определенно не хотите пропускать, так как любой, кто может их использовать, сможет включить любой читаемый файл на ваш серверный диск и включить его в полученный результат латекса.

Чтобы решить эту проблему, Mediawiki (из wikipedia fame) имеет специальный плагин, который санирует латексный вход, но я не хотел его использовать по двум причинам: сначала я не использовал медиавики, во-вторых, он написан в OCaml и Я не хотел связываться с языком, который я не знаю.

Ответ 10

Я использовал ASCIIMathML для этого в прошлом. Он по существу является библиотекой JavaScript и может использовать плагин в IE для оптимизации производительности, но также работает без него в IE и Firefox/Mozilla (хотя и немного медленнее). Синтаксис поддерживает подмножество LaTeX, но различия вызывают некоторую путаницу, поэтому он может запутать ваших пользователей в зависимости от того, откуда они происходят.

Вот некоторые ссылки, чтобы вы могли сами проверить:

Не совершенен и не работает во всех браузерах (Safari и т.д.), но это то, что работает сегодня, по крайней мере, хотя и в несколько избирательном подмножестве сети.

Ответ 11

Я написал модуль javascript с открытым исходным кодом для этого, названный jqmath. См. http://mathscribe.com/author/jqmath.html. Вы вводите уравнения в упрощенном синтаксисе типа TeX, а jqmath преобразует их в MathML или простой HTML и CSS, в зависимости от браузера. Это более эффективно и доступно, чем использование изображений.

Кстати, некоторые из резюме и заметок, упомянутых в других ответах, здесь довольно устарели. Кроме того, Firefox теперь поддерживает MathML, а webkit (Chrome и Safari) имеет его в своих ночных сборках, хотя они еще не выпустили его. Internet Explorer отображает MathML, если у вас есть плагин MathPlayer. Opera подделывает MathML со стилем. MathML является частью стандарта HTML 5, поэтому, предположительно, все эти браузеры будут поддерживать его раньше, чем позже. Это правда, что до тех пор выход jqmath не будет выглядеть так же хорошо, как TeX, но он, безусловно, читабельен и, безусловно, является лучшим решением для продвижения веб-страниц.

Ответ 12

Если вы используете изображения, читатель для слепого пользователя сможет прочитать уравнение? Некоторые могут захотеть.

Ответ 13

Существует небольшое приложение для Mac, которое называется LatexIt, что упрощает преобразование уравнений LaTeX в PDF, PNG и т.д.

(Я использую его для создания уравнений для своих слайдов в Keynote или PowerPoint.Это очень хорошо, с поддержкой drag-n drop, так что вы можете просто "перетащить" уравнения где угодно, чтобы вставить их.)

Ответ 14

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

Ответ 16

В настоящее время состояние клиентской части MathML-рендеринга не готово для широкого внедрения. Это означает, что вам действительно нужно отображать MathML в качестве изображения. Как вы это сделаете, это будет зависеть от вашей среды.

Есть ли у вас root-доступ к вашему собственному серверу? Вам удобнее устанавливать на нем программное обеспечение? В этом случае вы можете отображать собственные изображения. Если вы используете программное обеспечение для ведения блогов или вики, вы можете найти плагин, который будет использовать возможности ваших платформ. Обычно это идея, если вы планируете написать множество математических выражений.

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

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

Примеры других услуг (как указано в других комментариях) включают: * http://www.artofproblemsolving.com/LaTeX/AoPS_L_TeXer.php: alt text http://alt2.artofproblemsolving.com/Forum/latexrender/pictures/a/f/c/afc183343d84d030898f589bac12a8d9cf04558a.gif * http://www.forkosh.com/mimetex.html: mimetex.cgi http://www.forkosh.dreamhost.com/mimetex.cgi?c=%5Csqrt%7Ba%5E2+b%5E2%7D

Преимущество использования mimetex состоит в том, что можно легко изменить формулу и повторно отобразить ее.