
Meine LaTeX-Codedatei foo.tex
:
\documentclass{article}
\usepackage{amsmath}
\title{Demo}
\begin{document}
\begin{verbatim}
Foo
Bar
Baz
\end{verbatim}
\end{document}
So konvertiere ich es in HTML make4ht
:
$ make4ht foo.tex
[STATUS] make4ht: Conversion started
[STATUS] make4ht: Input file: foo.tex
[STATUS] make4ht: Conversion finished
So foo.html
sieht es aus:
<!DOCTYPE html>
<html lang='en-US' xml:lang='en-US'>
<head><title></title>
<meta charset='utf-8' />
<meta content='TeX4ht (https://tug.org/tex4ht/)' name='generator' />
<meta content='width=device-width,initial-scale=1' name='viewport' />
<link type='text/css' rel='stylesheet' href='foo.css' />
<meta content='foo.tex' name='src' />
</head><body>
<pre id='verbatim-1' class='verbatim'>
Foo
Bar
Baz
</pre>
<!-- l. 11 --><p class='nopar'> </p>
</body>
</html>
Die Leerzeilen in verbatim
der Umgebung wurden in der HTML-Ausgabe entfernt. Daher sieht die Ausgabe anders aus, als wenn ich die .tex
Datei in eine kompiliert hätte .pdf
.
Gibt es eine Möglichkeit, make4ht
das Löschen von Leerzeilen in verbatim
der Umgebung zu verhindern?
Antwort1
Ich glaube, ich habe diesen Fehler erst kürzlich eingeführt, als ich einen anderen Fehler behoben habe. Ich werde ihn sofort in TeX4ht beheben. In der Zwischenzeit können Sie die folgende Konfigurationsdatei verwenden myconfig.cfg
:
\Preamble{xhtml}
\Configure{verbatim}
{\HCode{}}
{\csname a:sp\endcsname}
\begin{document}
\EndPreamble
Es \Configure{verbatim}
werden zwei Parameter benötigt. Der erste ist Code, der bei jedem Zeilenumbruch eingefügt wird, der zweite ist ein Leerzeichen. \csname a:sp\endcsname
fügt ein geschütztes Leerzeichen ein, das für eine korrekte Einrückung erforderlich ist. \HCode{}
fügt nichts ein, erzwingt aber tex4ht
das Einfügen von Zeilenumbrüchen an den richtigen Stellen.
Dies war der HTML-Code vor der Änderung:
<pre id='verbatim-1' class='verbatim'>
Foo
Bar
Baz
</pre>
Man erkennt, dass die Zeilenumbrüche bei den Leerzeilen fehlen.
Kompilieren Sie nun Ihre Datei mit der Konfigurationsdatei:
make4ht -m draft -c myconfig.cfg filename.tex
Sie erhalten ein korrektes HTML:
<pre id='verbatim-1' class='verbatim'>
Foo
Bar
Baz
</pre>
Es wird wie folgt wiedergegeben: