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
명령을 사용하여 축어적 환경을 정의 할 수 있습니다 .
\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>