htlatex を使用して、HTML ファイルにテキストをそのまま挿入したいと考えています。問題は、スペースの調整が繰り返されることです。そのため、たとえば、次のような cf.cfg を使用します。
\Preamble{html}
\ConfigureEnv{tawny}
{\IgnorePar\EndP\HCode{<pre><code class="clojure">}\EndNoFonts}
{\NoFonts \HCode{</code></pre>}}{}{}
\begin{document}
\EndPreamble
そして、このような文書は...
\documentclass{article}
\newenvironment{tawny}%
{}%
{}%
\begin{document}
\begin{tawny}
(defclass Pizza
:super Thing)
\end{tawny}
\end{document}
これにより、この HTML 部分 (および残りの部分) が生成されます。
<pre><code class="clojure"> (defclass Pizza :super Thing)
</code></pre>
私が望んでいるのは:
<pre><code class="clojure">
(defclass Pizza
:super Thing)
</code></pre>
インデントとスペースを維持
つまり、htlatex が順序を変更したため、pre タグは無効になりました。私は alltt を使用して、上記の例の tawny を再定義してみました。
\newenvironment{tawny}%
{\begin{alltt}}%
{\end{alltt}}%
また、htlatex は、pre タグでは意味をなさない nbsp タグと br タグを挿入します。
<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>
ドキュメントを試し、ソースを調べましたが、この動作がどこから来ているのか、またそれが構成可能かどうかはわかりません。
答え1
\ScriptEnv
verbatim 環境を定義するには、次のコマンドを使用します。
\Preamble{html}
\ScriptEnv{tawny}
{\IgnorePar\EndP\HCode{<pre><code class="clojure">\Hnewline}\EndNoFonts}
{\NoFonts \HCode{</code></pre>}}
\begin{document}
\EndPreamble
結果のHTML:
<pre><code class="clojure">
(defclass Pizza
:super Thing)
</code></pre>