プレーンテキスト用のmake4ht

プレーンテキスト用のmake4ht

プレーンTex文書をHTMLに変換したいのですが作成者このコマンド ラインを使用すると、make4ht document.texプログラムはコンパイラ「latex」を呼び出し、コンパイルをブロックします。このmake4ht --helpコマンドでは、プレーン tex をコンパイルする方法は説明されていません。

プレーン tex を html ドキュメントにコンパイルするための正確なコマンド ラインは何ですか?

答え1

TeX4htをPlain TeXで動作させるのはそれほど簡単ではありません。Ulrikeはすでに私の古い回答これを出発点として使用できます。次のコードを次のように保存しますplain-4ht.tex

% file plain-4ht.tex
% the following macro needs to be executed in order to include all .4ht files
\csname tex4ht\endcsname

コードは最小限に簡略化しました。\csname tex4ht\endcsname基本的な HTML 構造を挿入するには、コマンドを実行する必要があります。

このファイルは、すべてのマクロ定義の後に挿入するだけです。

\input plain-4ht

Hello world
\bye

次の問題は、 を使用してプレーン TeX を実際に実行する方法ですmake4ht。そのためにはビルド ファイルを使用する必要があります。次のファイルを として保存しますmybuild.lua

Make:add("httex", 
'${htlatex} --interaction=${interaction} ${latex_par}' ..
"'\\def\\Link#1.a.b.c.{\\expandafter\\def\\csname tex4ht\\endcsname{\\expandafter\\def\\csname tex4ht\\endcsname{#1,html}\\input tex4ht.sty }}" ..
"\\def\\HCode{\\futurelet\\HCode\\HChar}\\def\\HChar{\\ifx\"\\HCode\\def\\HCode\"##1\"{\\Link##1}\\expandafter\\HCode\\else\\expandafter\\Link\\fi}" ..
"\\HCode ${tex4ht_sty_par}.a.b.c.\\input \"\\detokenize{${tex_file}}\"'", 
{htlatex="dviluatex"})
Make:httex {}

コマンドを使用して、Plain TeXを実行するMake:add新しいコマンドを作成しますMake:httex。使用するエンジンは、htlatexパラメータを使用して設定できます(デフォルトのエンジンは ですhtlatex="dviluatex")。

ドキュメントをコンパイルするには、

make4ht -e mybuild.lua filename.tex

最後の問題は、カスタム マクロをどのように構成するかです。TeX4ht は patched\usepackageコマンドのおかげで特定のファイルの構成ファイルを読み込むことができますが、Plain では機能しません。

次のようなファイルがあるとしますmymacros.tex:

\def\mytitle#1{\bgroup\bf #1\egroup\par}

HTML ドキュメントで<h1>要素を使用します。ファイルを作成します:\mytitlemymacros.4ht

\NewConfigure{mytitle}{2}
\def\mytitle#1{\a:mytitle#1\b:mytitle\par}

\Configure{mytitle}{\ifvmode\IgnorePar\fi\EndP\HCode{<h1>}}{\HCode{</h1>}}

サンプルドキュメント:

\input mymacros
\input plain-4ht

\mytitle{My title}

Some text.

\bye

ファイルはmymacros.4htファイルに含めることができます.cfg:

\Preamble{xhtml}
\catcode`\:=11
\input mymacros.4ht
\catcode`\:=12
\EndPreamble

:ファイル内で文字が使用されている場合は、正しい catcodes を使用する必要があります.4ht。これはすべて LaTeX で自動的に実行されます。

以下のコマンドを使用してドキュメントをコンパイルできます。

 make4ht -e mybuild.lua -c config.cfg filename.tex

結果は次のとおりです。

ここに画像の説明を入力してください

<!DOCTYPE html> 
<html lang='en-US' xml:lang='en-US'> 
<head>

<title>sample.html</title> 
<meta charset='utf-8' /> 
<meta name='generator' content='TeX4ht (http://www.tug.org/tex4ht/)' /> 
<meta name='viewport' content='width=device-width,initial-scale=1' /> 
<link rel='stylesheet' href='sample.css' type='text/css' /> 
<meta name='src' content='sample.tex' /> 
</head><body>
<h1>My title</h1>
<!-- l. 6 --><p class='indent'>    Some text.

</p>    

</body> 
</html>

関連情報