Я начинающий пользователь LaTeX и пишу документы по информатике. Я тщательно выбираю алгоритмический пакет, учитывая необходимые мне функции, и это привело меня к выборуalgorithm2e
( vlined
и noend
опции, по сути, единственный пакет, способный предоставить эту уникальную комбинацию). Мои алгоритмы будут использовать французские ключевые слова, но я сомневаюсь, что это имеет отношение к данному вопросу.
Мне также нужно будет опубликовать свои документы в Интернете. Я начал искать инструменты для конвертации из LaTeX в HTML, но ни один из них, похоже, не поддерживает пакет algorithm2e
должным образом (пробовал htlatex, pandoc и LaTeXML).
Существует ли инструмент конвертации, который будет правильно конвертировать LaTeX (обнаружено, что pandoc не очень хорошо справляется с обычным LaTeX) И поддерживать algorithm2e
?
EDIT: Пример tex-файла того, что я пытаюсь преобразовать в 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}
решение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
результат: