make4ht entfernt Leerzeilen aus der Verbatim-Umgebung

make4ht entfernt Leerzeilen aus der Verbatim-Umgebung

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.htmlsieht 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 verbatimder Umgebung wurden in der HTML-Ausgabe entfernt. Daher sieht die Ausgabe anders aus, als wenn ich die .texDatei in eine kompiliert hätte .pdf.

Gibt es eine Möglichkeit, make4htdas Löschen von Leerzeilen in verbatimder 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\endcsnamefügt ein geschütztes Leerzeichen ein, das für eine korrekte Einrückung erforderlich ist. \HCode{}fügt nichts ein, erzwingt aber tex4htdas 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:

Bildbeschreibung hier eingeben

verwandte Informationen