
Mi archivo de código LaTeX foo.tex
:
\documentclass{article}
\usepackage{amsmath}
\title{Demo}
\begin{document}
\begin{verbatim}
Foo
Bar
Baz
\end{verbatim}
\end{document}
Así es como lo convierto a HTML usando make4ht
:
$ make4ht foo.tex
[STATUS] make4ht: Conversion started
[STATUS] make4ht: Input file: foo.tex
[STATUS] make4ht: Conversion finished
Así es como foo.html
se ve:
<!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>
Las líneas en blanco en verbatim
el entorno se eliminaron en la salida HTML. Como resultado, el resultado se ve diferente de lo que se vería si hubiera compilado el .tex
archivo en un formato .pdf
.
¿Hay alguna manera de evitar make4ht
que se eliminen líneas en blanco en verbatim
el entorno?
Respuesta1
Creo que introduje este error recientemente cuando solucioné otro error. Lo arreglaré en TeX4ht inmediatamente. Mientras tanto, puede utilizar el siguiente archivo de configuración myconfig.cfg
:
\Preamble{xhtml}
\Configure{verbatim}
{\HCode{}}
{\csname a:sp\endcsname}
\begin{document}
\EndPreamble
Toma \Configure{verbatim}
dos parámetros, el primero es el código insertado en cada salto de línea, el segundo es un carácter de espacio. \csname a:sp\endcsname
inserta un espacio que no se rompe, lo cual es necesario para una sangría correcta. \HCode{}
no inserta nada, pero obliga tex4ht
a insertar saltos de línea en los lugares correctos.
Este era el código HTML antes del cambio:
<pre id='verbatim-1' class='verbatim'>
Foo
Bar
Baz
</pre>
Puede ver que faltan los saltos de línea en las líneas en blanco.
Ahora compila tu archivo con el archivo de configuración:
make4ht -m draft -c myconfig.cfg filename.tex
Obtendrá un HTML correcto:
<pre id='verbatim-1' class='verbatim'>
Foo
Bar
Baz
</pre>
Que se representa así: