Настройте htlatex с листингами для использования рендерера Javascript

Настройте htlatex с листингами для использования рендерера Javascript

У меня есть документ, использующий пользовательскую среду в пакете листингов. Поэтому у меня есть встроенный код, как здесь

\begin{tawny}
(println "hello")
\end{tawny}

Мой план — использовать какой-нибудь подсветчик синтаксиса Javascript для отображения этого. Поэтому я добавил это в свой файл cf.cfg.

\Preamble{html}
\ConfigureEnv{tawny}
{\HCode{<stuff>}}
{\HCode{</stuff>}}{}{}
\begin{document}
\EndPreamble

Очевидно, я хочу позже изменить на что-то разумное. Однако на данный момент это, похоже, не влияет на рендеринг {tawny} окружения. Что-то не так с моим cf.cfg?

решение1

Итак, у меня есть ответ. Во-первых, конфигурация должна идти до раздела \begin{document} в cf.cfg. А во-вторых, мне нужно отключить листинги для HTML, иначе я получу свою разметку И все остальное.

Итак, минимальный small.tex

\documentclass{article}

\ifx \HCode\Undef
\usepackage{listings}
\lstnewenvironment{tawny}{\lstset{language=lisp}}{}
\else
\newenvironment{tawny}%
{}%
{}%
\fi

\begin{document}

\begin{tawny}
(println "hello")
\end{tawny}

\end{document}

Минимальный cf.cfg

\Preamble{html}
\ConfigureEnv{tawny}
{\HCode{<stuff>}}
{\HCode{</stuff>}}{}{}
\begin{document}
\EndPreamble

Который после

htlatex small cf

производит

<!--l. 14--><p class="noindent" ><stuff>(println &#8221;hello&#8221;)</stuff>

Разумеется, я намерен заменить «stuff» на что-то полезное, чтобы заставить работать подсветку исходного кода.

Я бы предпочел не использовать неразрывные пробелы, но с этим можно смириться.

Связанный контент