entorno de inserción htlatex palabra por palabra

entorno de inserción htlatex palabra por palabra

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&#x00A0;Pizza
<br />&#x00A0;&#x00A0;:super&#x00A0;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 \ScriptEnvel 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>

información relacionada