make4ht 正在從逐字環境中刪除空白行

make4ht 正在從逐字環境中刪除空白行

我的 LaTeX 程式碼檔案foo.tex

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

Bar

Baz
\end{verbatim}
\end{document}

以下是我使用以下方法將其轉換為 HTML 的方法make4ht

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

外觀如下foo.html

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

verbatimHTML 輸出中的環境中的空白行已被刪除。因此,輸出看起來與我將文件編譯.tex.pdf.

有沒有辦法防止make4ht刪除verbatim環境中的空白行?

答案1

我想我最近在修復另一個錯誤時引入了這個錯誤。我會立即在 TeX4ht 中修復它。同時,您可以使用以下設定檔myconfig.cfg

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

\Configure{verbatim}有兩個參數,第一個是在每個換行符處插入的程式碼,第二個是空格字元。\csname a:sp\endcsname插入不間斷空格,這是正確縮排所必需的。\HCode{}不插入任何內容,但它強制tex4ht在正確的位置插入換行符。

這是更改前的 HTML 程式碼:

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

您可以看到空白行處的換行符號遺失了。

現在使用設定檔編譯您的檔案:

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

您將獲得正確的 HTML:

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

Bar

Baz
</pre>

渲染如下:

在此輸入影像描述

相關內容