Converter LaTeX em HTML

converte a sua fonte LaTeX em HTML, ideal para publicar os seus artigos, equações e documentos académicos na web

O que é LaTeX?

LaTeX é um sistema de composição de documentos muito utilizado nos meios científicos, académicos e técnicos. Inventado por Leslie Lamport no início dos anos 1980, assenta no motor tipográfico TeX de Donald Knuth. Em vez de escrever um documento com um editor WYSIWYG (como o Word), o autor descreve a estrutura lógica do conteúdo através de comandos: \section{Introduction}, \textbf{importante}, \begin{itemize}... O compilador produz então um PDF de qualidade tipográfica notável, particularmente adequado a fórmulas matemáticas, artigos científicos e obras longas.

Se o LaTeX é imbatível na produção de PDF académico, é em contrapartida pouco compatível com a web: um navegador não lê LaTeX, lê HTML. A nossa ferramenta LaTeX para HTML responde precisamente a esta necessidade: pegar num fragmento de fonte LaTeX e restituí-lo em HTML diretamente integrável num blogue, num CMS, numa página de site ou num e-mail.

O inverso do nosso HTML para LaTeX

A nossa caixa de ferramentas já oferece um conversor HTML para LaTeX que recebe HTML e produz um PDF através de pdflatex. A presente ferramenta é a operação inversa: de LaTeX para HTML. As duas ferramentas usam-se em conjunto em cadeias editoriais:

  • Redige um artigo científico em LaTeX, quer publicar a versão web: LaTeX para HTML.
  • Recupera um texto HTML de um CMS, quer fazer um PDF académico limpo: HTML para LaTeX.
  • Quer manter uma única fonte LaTeX e declíná-la em PDF + página web: combine as duas ferramentas ou utilize LaTeX para HTML para gerar a versão web.

Mapeamento LaTeX para HTML

O nosso conversor reconhece os comandos LaTeX comuns e aplica o seguinte mapeamento:

  • \section{Titre} e \section*{Titre} -> <h1>Titre</h1>
  • \subsection{Titre} -> <h2>Titre</h2>
  • \subsubsection{Titre} -> <h3>Titre</h3>
  • \paragraph{Titre} -> <h4>Titre</h4>
  • \textbf{x} -> <strong>x</strong>
  • \textit{x} e \emph{x} -> <em>x</em>
  • \underline{x} -> <u>x</u>
  • \texttt{x} -> <code>x</code>
  • \begin{itemize} \item ... \end{itemize} -> <ul><li>...</li></ul>
  • \begin{enumerate} \item ... \end{enumerate} -> <ol><li>...</li></ol>
  • \begin{quote} ... \end{quote} -> <blockquote>...</blockquote>
  • Linhas vazias a separar parágrafos -> <p>...</p>
  • \\ e \newline -> <br>
  • Escapamentos \&, \%, \$, \#, \_, \{, \} -> caracteres correspondentes
  • Preâmbulo (\documentclass, \usepackage, \begin{document}, \end{document}) -> removido silenciosamente

Exemplo de utilização

Fonte LaTeX:

\section*{Introduction}
Voici un \textbf{exemple} de document avec une liste :

\begin{itemize}
\item premier point
\item deuxième point
\end{itemize}

Et une \textit{citation} pour finir.

Resultado HTML:

<h1>Introduction</h1>
<p>Voici un <strong>exemple</strong> de document avec une liste :</p>
<ul><li>premier point</li><li>deuxième point</li></ul>
<p>Et une <em>citation</em> pour finir.</p>

Casos de uso

  • Migração de uma tese para um blogue: redigiu a sua tese em LaTeX, quer publicar capítulos no seu blogue ou no seu site pessoal. O conversor faz o grosso do trabalho, só tem de cuidar a paginação final.
  • Extração de conteúdo de um artigo científico: retomar a introdução, o abstract ou a conclusão de um artigo LaTeX existente para republicar na web (página de projeto, comunicação de laboratório).
  • Preparação de material pedagógico: um curso redigido em LaTeX pode ser passado para HTML para alimentar um Moodle, um wiki ou uma plataforma de e-learning.
  • Documentação técnica: passar uma nota técnica LaTeX para HTML para a difundir no Confluence, GitHub Pages ou numa intranet.
  • Pré-visualização rápida: visualizar como ficaria um fragmento LaTeX em HTML, sem lançar uma compilação pdflatex completa.

Limitações

O nosso conversor é voluntariamente pragmático: visa cobrir 90 % dos casos comuns com uma implementação simples, em vez de pretender uma cobertura exaustiva de toda a sintaxe LaTeX. Concretamente:

  • Sem fórmulas matemáticas complexas. As expressões $x^2$ e \begin{equation}...\end{equation} são preservadas tal como estão. Para uma rendição matemática web, integre MathJax ou KaTeX na sua página.
  • Sem figuras, tabelas, ou bibliografias. Os comandos \includegraphics, \begin{table}, \bibliography não são traduzidos.
  • Sem macros personalizadas. Um \newcommand{\minhafuncao} não é interpretado: o conversor reconhece apenas os comandos padrão do LaTeX.
  • Estilo mínimo. A saída é HTML semântico sem CSS incorporado: tem liberdade para adicionar a sua própria folha de estilos.

Para conversões mais avançadas, ferramentas como o Pandoc cobrem uma maior superfície LaTeX. A nossa ferramenta visa a necessidade comum: recuperar rapidamente HTML limpo a partir de um fragmento LaTeX, sem instalar software.

Como utilizar o conversor

  1. Cole a sua fonte LaTeX no campo de texto (um fragmento ou um documento completo, o preâmbulo será ignorado).
  2. Clique em converter.
  3. Obtém o HTML correspondente: copie-o para o seu editor, CMS ou ficheiro estático.
  4. Para a operação inversa, utilize o nosso conversor HTML para LaTeX.

Perguntas frequentes

O conversor trata fórmulas matemáticas?

O LaTeX matemático ($x^2 + y^2$, \begin{equation}) é conservado tal como está na saída HTML. Para uma rendição visual, acrescente MathJax ou KaTeX à sua página web: estas bibliotecas renderizam o LaTeX matemático no lado do navegador.

Os meus comandos personalizados (\newcommand) não são traduzidos, porquê?

O conversor não executa o motor TeX, faz um mapeamento sintático. Uma macro definida por \newcommand não é expandida. Antes da conversão, substitua as suas macros pela sua definição explícita, ou utilize o Pandoc que tem um parser mais completo.

O preâmbulo LaTeX é obrigatório na entrada?

Não. Pode colar um fragmento sem \documentclass nem \begin{document}. Se a sua fonte contém um preâmbulo completo, este é igualmente ignorado: só o conteúdo útil é convertido.

Os caracteres acentuados são corretamente geridos?

Sim, desde que a sua fonte LaTeX esteja em UTF-8 (com ou sem \usepackage[utf8]{inputenc}). As antigas notações LaTeX como \'e para é não são explicitamente traduzidas, prefira o UTF-8 direto.

Os meus dados são enviados e armazenados?

O LaTeX é tratado no lado do servidor durante o tempo da conversão, depois o resultado é devolvido ao seu navegador. Nenhum dado é armazenado, indexado nem partilhado.

Porquê obter HTML em vez de um PDF?

O HTML é o formato nativo da web: páginas, blogues, e-mails, CMS. Se a sua necessidade final é um PDF, utilize antes o nosso conversor HTML para LaTeX que produz um PDF através de pdflatex.

Exemplo de pedido

curl -X POST https://cdrn.fr/api/v1/tools/latex-to-html-converter/execute \
  -H "Content-Type: application/json" \
  -d '{"latex":"..."}'

Esquema de entrada

Campo Tipo Obrigatório Predefinição
latex text

Pontos de acesso

  • GET https://cdrn.fr/api/v1/tools - lista todas as ferramentas disponíveis
  • GET https://cdrn.fr/api/v1/tools/latex-to-html-converter - obtém o esquema desta ferramenta
  • POST https://cdrn.fr/api/v1/tools/latex-to-html-converter/execute - executa esta ferramenta com um payload JSON