Sou iniciante em LaTeX e estou escrevendo documentos de ciência da computação. Escolho cuidadosamente meu pacote algorítmico considerando os recursos que preciso e que me levaram a escolheralgorithm2e
( vlined
e noend
opções, praticamente o único pacote capaz de fornecer esta combinação única). Meus algoritmos usarão palavras-chave francesas, mas duvido que isso seja relevante para esta questão.
Também precisarei publicar meus documentos na web. Comecei a procurar ferramentas para converter de LaTeX para HTML, mas nenhuma delas parece suportar o algorithm2e
pacote adequadamente (tentei htlatex, pandoc e LaTeXML).
Existe uma ferramenta de conversão que converterá o LaTeX corretamente (descobri que o pandoc não funciona tão bem com o LaTeX normal) E oferece suporte algorithm2e
?
EDIT: Um exemplo de arquivo tex do que estou tentando converter para HTML:
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\usepackage[letterpaper]{geometry}
\usepackage[francais]{babel}
\usepackage[linesnumbered,ruled,vlined,french,onelanguage]{algorithm2e}
\begin{document}
\section{Titre de section}
\subsection{Titre de sous-section}
This section provides a demo algorithm.
\begin{algorithm}
\DontPrintSemicolon
$max \gets a_1$\;
\For{$i \gets 2$ \textbf{to} $n$} {
\If{$a_i > max$} {
$max \gets a_i$\;
}
}
\Return{$max$}\;
\caption{Test}
\label{algo:max}
\end{algorithm}
\end{document}
Responder1
A estrutura criada pelo algoritmo seria muito difícil de representar HTML
, parece que a abordagem mais sensata é convertê-la em imagem. Felizmente, podemos converter qualquer trecho de código em imagem tex4ht
usando configurações simples. Salve o seguinte código como mycfg.cfg
:
\Preamble{xhtml}
\ConfigureEnv{algorithm}{\Picture*{}}{\EndPicture}{}{}
\Configure{Picture}{.svg}
\begin{document}
\EndPreamble
este é o arquivo de configuração para tex4ht
. Comandos importantes são \ConfigureEnv
, que insere código antes e depois do ambiente configurado, algorithm
, no nosso caso. Comando \Picture*{}
... \EndPicture
converte o conteúdo incluído em uma imagem. \Configure{Picture}{.svg}
solicita SVG
formato para imagens, que é o formato preferido para imagens textuais atualmente.
tex4ht
não sabe como converter para SVG
por padrão, devemos usar o arquivo de construção para make4ht
(sistema de construção para tex4ht
). Salve o seguinte código como yourtexfilename.mk4
:
if mode=="draft" then
Make:htlatex{}
else
Make:htlatex{}
Make:htlatex{}
Make:htlatex{}
end
Make:image("svg$","dvisvgm -n -p ${page} -c 1.4,1.4 -s ${source} > ${output}")
este arquivo de compilação usa dvisvgm
para conversão para SVG
. Ajuntar com:
make4ht -uc mycfg.cfg yourtexfilename.tex
o resultado: