Pergunta

Eu não estou perguntando sobre como converter um documento LaTeX para html.

O que eu gostaria de ser capaz de fazer é ter alguma forma de comandos de matemática uso LaTeX em um documento HTML, e tê-lo aparecer corretamente em um navegador. Esta poderia ser do lado do servidor ou do cliente fazer.

Foi útil?

Solução

MediaWiki pode fazer o que você está procurando. Ele usa texvc ( http://en.wikipedia.org/wiki/Texvc ) que "valida (AMS) LaTeX expressões matemáticas e os converte em HTML, MathML, ou PNG." Parece que o que você está procurando.

Confira o artigo da Wikipédia sobre a forma como eles lidam com equações matemáticas aqui: http: //en.wikipedia. org / wiki / Help: Fórmula . Eles também têm uma extensa referência em LaTeX e vantagens / desvantagens dos diferentes tipos de renderização (PNG / MathML / HTML).

MediaWiki usa um subconjunto de TeX marcação, incluindo algumas extensões de LaTeX e AMS-LaTeX, para matemática fórmulas. Ele gera tanto PNG imagens ou marcação HTML simples, dependendo das preferências do usuário e do complexidade da expressão. No futuro, à medida que mais navegadores são mais espertos, ele vai ser capaz de gerar reforçada HTML ou mesmo MathML em muitos casos. (Veja blahtex para obter informações sobre atual trabalho sobre a adição de MathML apoio.)

Mais precisamente, MediaWiki filtra o marcação através texvc, que por sua vez passa os comandos em Tex para o processamento real. Assim, apenas um limitado parte da linguagem cheia TeX é suportado; veja abaixo para mais detalhes. ...

Pros de HTML

  • Na linha de fórmulas HTML sempre alinhar corretamente com o resto do HTML texto.
  • O fundo do fórmula, tamanho da fonte e rosto combinar com o resto do HTML conteúdo e os aspectos de aparência configurações de CSS e navegador.
  • páginas usando HTML irá carregar mais rápido.

Pros de TeX

  • TeX é semanticamente superior ao HTML. Em Tex, "x" significa "Variável matemática x", enquanto que em HTML "x" pode significar qualquer coisa. Informação foi irremediavelmente perdida. Isto tem várias vantagens:
    1. TeX pode ser transformado em HTML, mas não vice-versa. Isso significa que em o lado do servidor que pode sempre transformar uma fórmula, com base na sua complexidade e localização dentro do texto, as preferências do usuário, tipo de navegador, etc. Portanto, onde possíveis, todos os benefícios da lata HTML ser retido, em conjunto com o benefícios do Texas. É verdade que o situação atual não é o ideal, mas isso não é uma boa razão para queda informações / conteúdos. É mais um razão para ajudar a melhorar a situação.
    2. TeX pode ser convertido para MathML para navegadores que a apoiam, assim, manter a sua semântica e permitindo que para ser processado como um vetor.
  • TeX foi projetado especificamente para fórmulas de composição, por isso entrada é mais fácil e mais natural, ea saída é esteticamente mais agradável.
  • Ao escrever em TeX, os editores não precisa se preocupar com o suporte ao navegador, uma vez ele é processado em uma imagem pelo servidor. fórmulas HTML, por outro lado, pode acabar por ser renderizado inconsistente das intenções do editor (Ou não em todos), por alguns navegadores ou versões mais antigas do navegador.

Outras dicas

Eu prefiro MathJax sobre soluções que escolher para renderizar imagens (que causa aliasing problemas).

MathJax é uma fonte aberta Javascript mecanismo de renderização para a matemática. Ele usa CSS e Webfonts em vez de imagens ou flash e pode render LaTeX ou MathML. Dessa forma, você não tem problemas com zoom e é ainda leitor de tela compatível.

Uma vez eu desenvolveu um plugin jQuery que faz na verdade isso: jsLaTeX

Aqui está o exemplo mais simples de como ele pode ser usado:

$(".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>

O código acima irá gerar a seguinte equação LaTeX em sua página:

Equação

O página de demonstração do plugin contém mais exemplos de código e demos.

Se você deseja incorporar a matemática como imagens, você pode dar uma olhada em MathTran .

Se você preferir ter a matemática inserido na página principalmente como texto (usando imagens somente quando necessário), jsMath pode ser o que você está procurando.

Historicamente, tornando o LaTeX e extrair uma imagem tem sido a sua melhor aposta para multi-plataforma, o material de matemática cross-browser. Mais e mais, MathML está se tornando uma alternativa razoável. Aqui está um conversor online que irá emitir MathML de Tex marcação, o que você pode então incorporar em sua página web. Eu sei navegadores baseados no Gecko como Firefox e Camino jogo agradável com MathML, assim como o Opera. IE não funcionam fora da caixa, mas existem plugins disponíveis (como esta ) .

texvc é um grande achado! A saída HTML baunilha deve funcionar bem se você estiver interessado principalmente em sobrescrito / subscrito / itálico / símbolos comuns, mas para coisas mais complexas, estar ciente de que os mais populares sites de orientada a matemática lá fora (por exemplo, Wolfram ) gerar imagens, portanto, pode haver tanta coisa que você pode fazer se você estiver interessado em compatibilidade cross-browser: - (

Eu li todas as respostas aqui, e eu estou surpreso que ninguém mencionou a conversão de PDF para HTML. Se você usar pdf2htmlEX ele irá criar páginas web perfeitas a partir de um pdf . Você só precisa compilar o látex para pdf (pdflatex).

Por padrão, ele gera um único arquivo HTML, com o conteúdo do seu PDF feitas de CSS, JavaScript e HTML. Eu tentei um monte de ferramentas ao látex Converte para HTML e este é de longe o melhor e mais fácil solução que eu encontrei .

Você poderia tentar LaTexRenderer . Eu não sei se é o melhor, mas ela não funciona.

Eu estou começando a olhar para isso mesmo e parece que as coisas evoluíram. Eu vim através de esta comparação demonstração de Katex e MathJax .


Para encurtar a história (como desta escrita) :

  • As fracções dentro de um prazo de matriz em si, em Katex, mas não MathJax (ver "produto cruzado")
  • Dentro do quadrado (ou enésimo) símbolo de raiz, expoentes e raízes quadradas aninhados parecem correr contra a linha superior horizontal (ver "Repetindo Frações" e "raiz enésima".)
  • MathJax tem fonte um pouco mais ousado e maior, Katex é um pouco mais magro.

Mas talvez o mais decisivo de tudo, eu achei que o total de processamento MathJax para a página média de 1674 ms para três corridas. Em contraste, Katex média 128 ms , que é uma ordem de magnitude melhor!


Há alguns outros pontos de comparação para considerar quando olhando através de seus respectivos sites:

  • Os Katex site principal reivindicações para apoiar a maioria, mas não todos, LaTeX. Eles listam suas funções suportadas aqui . MathJax expressa algumas de suas limitações também. Embora seja difícil saber a partir de um skim rápida desses que, no final, tem "melhor" de apoio. Alguns blogs que eu atravessam digamos Katex tem menos apoio, mas outros disseram que Katex tem significativamente suporte melhorado nos últimos anos.
  • O MathJax anuncia o site de suporte da MathML para entrada e saída. Algumas questões Katex em sua local github aqui e aqui indicam que eles suportam MathML para a saída, mas não para entrada (eu não sei muito sobre MathML, mas pelo menos parece importante se você quiser para ajudar os usuários com deficiência visual).
  • Katex torna sincronicamente , para que ele não refluir da página (parte do que torna mais rápido). Mas em troca ele bloqueia temporariamente o navegador.
  • StackOverflow é um parceiro de MathJax (ver aqui ). É usado na alguns sites Stackexchange , embora não em si StackOverflow devido à página desempenho tempo de carregamento. Em contraste, Katex foi desenvolvido por Kahn Academy.

Eu definitivamente encorajar-vos a olhar para MathML se que se encaixa o que você está procurando, mas um pouco de trabalho com JsTeX poderia dar-lhe tudo o que precisa.

Você pode usar tex2gif . É preciso um trecho de LaTeX, corre LaTeX e produz um PNG (ou GIF). Fácil de inserir, fácil de script. Ele funciona para mim.

Você também pode verificar tex2png .

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top