make4ht está removendo linhas em branco do ambiente literal

make4ht está removendo linhas em branco do ambiente literal

Meu arquivo de código LaTeX foo.tex:

\documentclass{article}
\usepackage{amsmath}
\title{Demo}
\begin{document}
\begin{verbatim}
Foo

Bar

Baz
\end{verbatim}
\end{document}

Aqui está como eu converto para HTML usando make4ht:

$ make4ht foo.tex
[STATUS]  make4ht: Conversion started
[STATUS]  make4ht: Input file: foo.tex
[STATUS]  make4ht: Conversion finished

Aqui está como foo.htmlfica:

<!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>

As linhas em branco no verbatimambiente foram removidas na saída HTML. Como resultado, a saída parece diferente do que seria se eu tivesse compilado o .texarquivo em um arquivo .pdf.

Existe uma maneira de evitar make4hta remoção de linhas em branco no verbatimambiente?

Responder1

Acho que introduzi esse bug recentemente quando corrigi outro bug. Vou consertar isso no TeX4ht imediatamente. Enquanto isso, você pode usar o seguinte arquivo de configuração myconfig.cfg:

\Preamble{xhtml}
\Configure{verbatim}
{\HCode{}}
{\csname a:sp\endcsname}
\begin{document}
\EndPreamble

O \Configure{verbatim}aceita dois parâmetros, o primeiro é o código inserido em cada quebra de linha, o segundo é um caractere de espaço. \csname a:sp\endcsnameinsere espaço ininterrupto, necessário para um recuo correto. \HCode{}não insere nada, mas força tex4hta inserção de quebras de linha nos locais corretos.

Este era o código HTML antes da mudança:

   <pre id='verbatim-1' class='verbatim'>
Foo
Bar 
Baz
</pre>

Você pode ver que faltam quebras de linha nas linhas em branco.

Agora compile seu arquivo com o arquivo de configuração:

make4ht -m draft -c myconfig.cfg filename.tex

Você obterá um HTML correto:

   <pre id='verbatim-1' class='verbatim'>
Foo

Bar

Baz
</pre>

Que é renderizado assim:

insira a descrição da imagem aqui

informação relacionada