htlatex 삽입 환경을 그대로 표현

htlatex 삽입 환경을 그대로 표현

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

관련 정보