我想讓 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>
保留縮排和間距
所以,pre 標籤已經被擊敗,因為 htlatex 已經重新排序了東西。我嘗試使用 alltt - 所以在上面的範例中重新定義 tawny 。
\newenvironment{tawny}%
{\begin{alltt}}%
{\end{alltt}}%
htlatex 放入了 nbsp 和 br 標籤,這在 pre 標籤中並沒有真正的意義。
<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>