
私の 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>
環境内の空白行はverbatim
HTML 出力で削除されました。その結果、出力は、.tex
ファイルを にコンパイルした場合とは異なって見えます.pdf
。
make4ht
環境内の空白行が削除されないようにする方法はありますかverbatim
?
答え1
最近別のバグを修正したときにこのバグが入り込んだと思います。TeX4ht ですぐに修正します。その間、次の設定ファイルを使用できますmyconfig.cfg
。
\Preamble{xhtml}
\Configure{verbatim}
{\HCode{}}
{\csname a:sp\endcsname}
\begin{document}
\EndPreamble
は\Configure{verbatim}
2 つのパラメータを取ります。最初のパラメータは各改行に挿入されるコードで、2 番目はスペース文字です。\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>
これは次のようにレンダリングされます: