Quiero que htlatex coloque texto en mi archivo HTML palabra por palabra. El problema es que sigue rehaciendo mi espaciado. Entonces, por ejemplo, uso un cf.cfg como este.
\Preamble{html}
\ConfigureEnv{tawny}
{\IgnorePar\EndP\HCode{<pre><code class="clojure">}\EndNoFonts}
{\NoFonts \HCode{</code></pre>}}{}{}
\begin{document}
\EndPreamble
Y un documento como este...
\documentclass{article}
\newenvironment{tawny}%
{}%
{}%
\begin{document}
\begin{tawny}
(defclass Pizza
:super Thing)
\end{tawny}
\end{document}
que produce este fragmento de html (¡y el resto!)
<pre><code class="clojure"> (defclass Pizza :super Thing)
</code></pre>
mientras que lo que quiero es:
<pre><code class="clojure">
(defclass Pizza
:super Thing)
</code></pre>
con sangría y espaciado preservados
Entonces, la etiqueta previa fue derrotada porque htlatex reordenó las cosas. Intenté usar alltt, así que redefinimos tawny en el ejemplo anterior.
\newenvironment{tawny}%
{\begin{alltt}}%
{\end{alltt}}%
Y htlatex coloca etiquetas nbsp y br que realmente no tienen sentido en una etiqueta previa.
<pre><code class="clojure"><div class="alltt">
<!--l. 11--><p class="noindent" ><div class="obeylines-v">
(defclass Pizza
<br />  :super Thing)
</div>
</div>
</code></pre>
Probé la documentación y revisé la fuente, pero no puedo ver de dónde proviene este comportamiento ni si es configurable.
Respuesta1
Puede utilizar \ScriptEnv
el comando para definir el entorno palabra por palabra:
\Preamble{html}
\ScriptEnv{tawny}
{\IgnorePar\EndP\HCode{<pre><code class="clojure">\Hnewline}\EndNoFonts}
{\NoFonts \HCode{</code></pre>}}
\begin{document}
\EndPreamble
HTML resultante:
<pre><code class="clojure">
(defclass Pizza
:super Thing)
</code></pre>