Ich habe ein Dokument, das eine benutzerdefinierte Umgebung im Listings-Paket verwendet. Ich habe also Code wie folgt eingebettet
\begin{tawny}
(println "hello")
\end{tawny}
Ich möchte dies mithilfe eines Javascript-Syntax-Highlighters rendern. Daher habe ich dies in meine cf.cfg-Datei eingefügt.
\Preamble{html}
\ConfigureEnv{tawny}
{\HCode{<stuff>}}
{\HCode{</stuff>}}{}{}
\begin{document}
\EndPreamble
Offensichtlich möchte ich später etwas Vernünftiges ändern. Im Moment scheint dies jedoch die Darstellung der {tawny}-Umgebung nicht zu beeinträchtigen. Habe ich mit meiner cf.cfg etwas falsch gemacht?
Antwort1
Also, ich habe eine Antwort. Erstens muss die Konfiguration vor dem Abschnitt \begin{document} in cf.cfg stehen. Und zweitens muss ich die Auflistungen für HTML ausschalten, sonst bekomme ich mein Markup UND alles andere.
Also minimales small.tex
\documentclass{article}
\ifx \HCode\Undef
\usepackage{listings}
\lstnewenvironment{tawny}{\lstset{language=lisp}}{}
\else
\newenvironment{tawny}%
{}%
{}%
\fi
\begin{document}
\begin{tawny}
(println "hello")
\end{tawny}
\end{document}
Minimale cf.cfg
\Preamble{html}
\ConfigureEnv{tawny}
{\HCode{<stuff>}}
{\HCode{</stuff>}}{}{}
\begin{document}
\EndPreamble
Welches nach
htlatex small cf
produziert
<!--l. 14--><p class="noindent" ><stuff>(println ”hello”)</stuff>
Natürlich beabsichtige ich, „Zeug“ durch etwas Nützliches zu ersetzen, damit der Quelltextmarker funktioniert.
Ich hätte lieber keine geschützten Leerzeichen, aber damit kann ich leben.