Pregunta

No estoy preguntando sobre la conversión de un documento LaTeX a html.

Lo que me gustaría poder hacer es tener alguna forma de usar comandos matemáticos de LaTeX en un documento html y que aparezca correctamente en un navegador.Esto podría hacerse del lado del servidor o del cliente.

¿Fue útil?

Solución

MediaWiki puede hacer lo que estás buscando.Utiliza Texvc (http://en.wikipedia.org/wiki/Texvc) que "valida (AMS) Expresiones matemáticas de látex y las convierte en gráficos HTML, MATHML o PNG". Suena como lo que estás buscando.

Consulte el artículo de Wikipedia sobre cómo manejan las ecuaciones matemáticas aquí: http://en.wikipedia.org/wiki/Help:Fórmula.También tienen una referencia extensa sobre LaTeX y los pros y los contras de los diferentes tipos de renderizado (PNG/MathML/HTML).

MediaWiki utiliza un subconjunto de marcado de Tex, incluidas algunas extensiones de látex y AMS-Latex, para fórmulas matemáticas.Genera imágenes PNG o un marcado HTML simple, dependiendo de las preferencias del usuario y la complejidad de la expresión.En el futuro, a medida que más navegadores son más inteligentes, podrá generar HTML mejorado o incluso MATHML en muchos casos.(Consulte Blahtex para obtener información sobre el trabajo actual sobre cómo agregar soporte MATHML).

Más precisamente, MediaWiki filtra el marcado a través de TEXVC, que a su vez pasa los comandos a Tex para la representación real.Por lo tanto, solo se admite una parte limitada del lenguaje TEX completo;consulte a continuación para obtener más detalles....

Ventajas de HTML

  • Las fórmulas HTML en línea siempre se alinean correctamente con el resto del texto HTML.
  • El fondo de la fórmula, el tamaño de fuente y la cara coinciden con el resto del contenido HTML y la apariencia respeta la configuración de CSS y del navegador.
  • Las páginas que usan HTML se cargarán más rápido.

Ventajas de TeX

  • TeX es semánticamente superior a HTML.En Tex, "x" significa "variable matemática x", mientras que en html "x" podría significar cualquier cosa.La información se ha perdido irremediablemente.Esto tiene múltiples beneficios:
    1. TeX se puede transformar en HTML, pero no al revés.Esto significa que en el lado del servidor siempre podemos transformar una fórmula, basada en su complejidad y ubicación dentro del texto, preferencias del usuario, tipo de navegador, etc.Por lo tanto, cuando sea posible, se pueden retener todos los beneficios de HTML, junto con los beneficios de Tex.Es cierto que la situación actual no es ideal, pero esa no es una buena razón para eliminar la información/contenido.Es más una razón para ayudar a mejorar la situación.
    2. Tex se puede convertir a MATHML para los navegadores que lo apoyan, manteniendo así su semántica y permitiendo que se convierta en un vector.
  • Tex ha sido diseñado específicamente para formar fórmulas tipográficas, por lo que la entrada es más fácil y más natural, y la salida es más estéticamente agradable.
  • Al escribir en Tex, los editores no necesitan preocuparse por el soporte del navegador, ya que el servidor lo representa en una imagen.Las fórmulas HTML, por otro lado, pueden terminar siendo inconsistentes de las intenciones del editor (o no en absoluto), por algunos navegadores o versiones anteriores de un navegador.

Otros consejos

yo prefiero MatemáticasJax sobre soluciones que eligen renderizar imágenes (lo que causa problemas de alias).

MathJax es un motor de renderizado Javascript de código abierto para matemáticas.Utiliza CSS y Webfonts en lugar de imágenes o flash y puede renderizar LaTeX o MathML.Así no tendrás problemas con el zoom e incluso es compatible con lectores de pantalla.

Una vez desarrollé un complemento jQuery que de hecho hace esto: jsLaTeX

Aquí está el ejemplo más simple de cómo se puede utilizar:

$(".latex").latex();


<div class="latex">  
    \int_{0}^{\pi}\frac{x^{4}\left(1-x\right)^{4}}{1+x^{2}}dx =\frac{22}{7}-\pi  
</div>

Lo anterior generará la siguiente ecuación LaTeX en su página:

Equation

El Página de demostración del complemento contiene más ejemplos de código y demostraciones.

Si desea incrustar las matemáticas como imágenes, puede echar un vistazo a MatemáticasTran.

Si prefiere que las matemáticas se inserten en la página principalmente como texto (usando imágenes solo cuando sea necesario), jsMatemáticas puede ser lo que estás buscando.

Históricamente, renderizar LaTeX y extraer una imagen ha sido la mejor opción para cuestiones matemáticas multiplataforma y entre navegadores.Cada vez más, MathML se está convirtiendo en una alternativa razonable. Aquí está un convertidor en línea que emitirá MathML a partir del marcado Tex, que luego podrá incrustar en su página web.Sé que los navegadores basados ​​en Gecko como Firefox y Camino funcionan bien con MathML, al igual que Opera.IE no funciona de fábrica, pero hay complementos disponibles (como Éste).

¡Texvc es un gran hallazgo!La salida HTML básica debería funcionar bien si lo que más le interesa son superíndices/subíndices/cursiva/símbolos comunes, pero para cosas más complejas, tenga en cuenta que los sitios orientados a matemáticas más populares que existen (p. ej. wolframio) generan imágenes, por lo que es posible que haya mucho que puedas hacer si estás interesado en la compatibilidad entre navegadores :-(

Leí todas las respuestas aquí y me sorprende que nadie haya mencionado la conversión de PDF a HTML.Si utiliza pdf2htmlEX va a crear páginas web perfectas desde un pdf.Sólo tienes que compilar tu látex en pdf (pdflatex).

De forma predeterminada, genera un único archivo html, con el contenido de su PDF compuesto de CSS, javascript y html.Probé muchas herramientas para convertir látex a html y esta es, con diferencia, la mejor. La mejor y más fácil solución que encontré..

Tu podrías intentar Renderizador LaTex.No sé si es lo mejor, pero funciona.

Estoy empezando a investigar esto yo mismo y parece que las cosas han evolucionado.He encontrado este demostración comparativa de KaTeX y MatemáticasJax.


Larga historia corta (al momento de escribir este artículo):

  • Las fracciones dentro de una matriz se cruzan entre sí en KaTeX, pero no en MathJax (ver "producto cruzado")
  • Dentro del símbolo de raíz cuadrada (o enésima), los exponentes y las raíces cuadradas anidadas parecen coincidir con la línea superior horizontal (consulte "Fracciones repetidas" y "raíz enésima").
  • MathJax tiene una fuente un poco más grande y en negrita, KaTeX es un poco más simple.

Pero quizás lo más decisivo de todo es que descubrí que el procesamiento total de MathJax para la página promedió 1674 ms durante tres carreras.Por el contrario, KaTeX promedió 128 ms, ¡que es un orden de magnitud mejor!


Hay algunos otros puntos de comparación a considerar al revisar sus respectivos sitios web:

  • El sitio web principal de KaTeX afirma ser compatible con la mayoría, pero no con todos, LaTeX.Enumeran sus funciones soportadas aquí.MathJax expresa algunos de sus limitaciones también.Aunque es difícil saber a partir de un rápido vistazo quién al final tiene "mejor" soporte.Algunos blogs que he encontrado dicen que KaTeX tiene menos soporte, pero otros han dicho que KaTeX ha mejorado significativamente el soporte en los últimos años.
  • El sitio web de MathJax anuncia compatibilidad con MathML tanto para entrada como para salida.Algunos problemas de KaTeX en su github sitio aquí y aquí indican que admiten MathML para la salida, pero no para la entrada (no sé mucho sobre MathML, pero al menos parece importante si quieres ayudar a los usuarios con discapacidades visuales).
  • Representaciones KaTeX sincrónicamente, por lo que no redistribuye la página (parte de lo que la hace más rápida).Pero a cambio bloquea temporalmente el navegador.
  • StackOverflow es socio de MathJax (consulte aquí).se usa en alguno Sitios de StackExchange, aunque no en StackOverflow debido al rendimiento del tiempo de carga de la página.Por el contrario, KaTeX fue desarrollado por Kahn Academy.

Definitivamente te animo a que mires MathML si se ajusta a lo que estás buscando, pero con un poco de trabajo. JsTeX Podría darte todo lo que necesitas.

Puedes usar tex2gif.Toma un fragmento de LaTeX, ejecuta LaTeX y produce un PNG (o GIF).Fácil de incrustar, fácil de escribir.Esto funciona para mi.

También puedes consultar texto2png.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top