
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.html
fica:
<!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 verbatim
ambiente foram removidas na saída HTML. Como resultado, a saída parece diferente do que seria se eu tivesse compilado o .tex
arquivo em um arquivo .pdf
.
Existe uma maneira de evitar make4ht
a remoção de linhas em branco no verbatim
ambiente?
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\endcsname
insere espaço ininterrupto, necessário para um recuo correto. \HCode{}
não insere nada, mas força tex4ht
a 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: