Existe alguma ferramenta que possa converter documentos Latex em documentos HTML, para que toda a matemática seja apresentada comMathJax?
(Obviamente, é bastante fácil hackear um script Perl rápido que seja capaz de fazer uma conversão grosseira, mas estou interessado em soluções um pouco mais robustas - pelo menos ele deve acertar todas as referências cruzadas automaticamente.)
Responder1
Atualização 07/2020:
O código abaixo não é mais necessário. TeX4ht agora tem suporte completo para a saída MathJax. O equivalente ao código abaixo é este:
make4ht filename.tex "mathml,mathjax"
Se você quiser manter sua matemática LaTeX como texto simples, use apenas:
make4ht filename.tex "mathjax"
make4ht
é o substituto htlatex
que converte para HTML5 e UTF-8 por padrão, portanto, nenhuma configuração especial como na resposta antiga é necessária.
Resposta original:
Você pode usar TeX4ht
. Ele pode gerar matemática mathml
que pode ser exibida com mathjax
. Você também pode configurar html
o cabeçalho para carregar mathjax
o script de mathjax's cdn
:
\Preamble{xhtml,mathml}
\Configure{VERSION}{}
\Configure{DOCTYPE}{\HCode{<!DOCTYPE html>\Hnewline}}
\Configure{HTML}{\HCode{<html>\Hnewline}}{\HCode{\Hnewline</html>}}
\Configure{@HEAD}{}
\Configure{@HEAD}{\HCode{<meta charset="UTF-8" />\Hnewline}}
\Configure{@HEAD}{\HCode{<meta name="generator" content="TeX4ht
(http://www.cse.ohio-state.edu/\string~gurari/TeX4ht/)" />\Hnewline}}
\Configure{@HEAD}{\HCode{<link
rel="stylesheet" type="text/css"
href="\expandafter\csname aa:CssFile\endcsname" />\Hnewline}}
\Configure{@HEAD}{\HCode{<script type="text/javascript"\Hnewline
src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"\Hnewline
></script>\Hnewline}}
\Configure{@HEAD}{\HCode{<style type="text/css">\Hnewline
.MathJax_MathML {text-indent: 0;}\Hnewline
</style>\Hnewline}}
\begin{document}
\EndPreamble
Com este arquivo de configuração, solicitamos a saída matemática como e mathml
, em seguida, configuramos html
o cabeçalho para que o arquivo resultante seja html5
. Salve-o como por exemplo ht5mjlatex.cfg
e chame na linha de comando:
htlatex filename.tex "ht5mjlatex.cfg, charset=utf-8" " -cunihtf -utf8"
ou você pode usar o de William F. Hammondroteiro(no final da página)
Responder2
Eu pessoalmente preferiria usarpandoc
para esta tarefa, é uma solução de uma etapa e o resultado é muito melhor na minha opinião.
Para converter arquivos de um formato de marcação para outro, o pandoc é o seu canivete suíço.
Este comando deve atender à maioria dos propósitos:
pandoc document.tex --standalone --mathjax --output document.html
Ele criará um único arquivo HTML com uma referência javascript para mathjax.js. Pandoc está amplamente documentado eoutros métodos para exibir matemática em HTMLEstão disponíveis.