我是 LaTeX 初学者,正在编写计算机科学文档。我仔细选择了算法包,考虑到我需要的功能,这让我选择了algorithm2e
(vlined
和noend
选项,几乎是唯一能够提供这种独特组合的软件包)。我的算法将使用法语关键词,但我怀疑这与这个问题无关。
我还需要在网上发布我的文档。我已经开始寻找将 LaTeX 转换为 HTML 的工具,但似乎没有一个工具能够algorithm2e
正确支持该软件包(尝试了 htlatex、pandoc 和 LaTeXML)。
是否有一个转换工具可以正确转换 LaTeX(发现 pandoc 不能很好地转换常规 LaTeX)并提供支持algorithm2e
?
编辑:我试图转换为 HTML 的示例 tex 文件:
\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}
答案1
算法创建的结构在 中很难表示HTML
,似乎更明智的方法是将其转换为图像。幸运的是,我们可以tex4ht
使用简单的配置将任何代码转换为图像。将以下代码保存为mycfg.cfg
:
\Preamble{xhtml}
\ConfigureEnv{algorithm}{\Picture*{}}{\EndPicture}{}{}
\Configure{Picture}{.svg}
\begin{document}
\EndPreamble
这是的配置文件tex4ht
。重要的命令是\ConfigureEnv
,在我们的例子中,它在配置的环境之前和之后插入代码algorithm
。命令\Picture*{}
...\EndPicture
将封闭的内容转换为图片。\Configure{Picture}{.svg}
请求SVG
图像的格式,这是目前文本图片的首选格式。
tex4ht
SVG
默认情况下不知道如何转换为,我们必须使用 的构建文件make4ht
(构建系统tex4ht
)。将以下代码保存为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}")
此构建文件用于dvisvgm
转换为SVG
。使用以下方式编译:
make4ht -uc mycfg.cfg yourtexfilename.tex
结果: