tex4htのタグにxmlnsを追加するにはどうすればいいですか

tex4htのタグにxmlnsを追加するにはどうすればいいですか

Amazon の Kindle 出版ガイドラインに従って、HTML ファイルにタグxmlns:mbp="http://www.kreutzfeldt.de/mmc/mbp"を追加する必要があります。<html>

私は以下のさまざまなバリエーションを試しました:

\documentclass{article}
  \input{tex4ht.sty}
  \Preamble{xhtml}
\begin{document}
    \Configure{PROLOG}{HTML+,HTML,@HTML}
%    \Configure{HTML+}{\HCode{plus-html test}}
%    \Configure{@HTML}{\HCode{at-html test}}
%    \Configure{HTML}{\HCode{naked-html test}}
    \Configure{*XML-STYLESHEET}{\HCode{xmlss test}}
    \Configure{@HEAD}{\HCode{head test} }
    \HCode{<meta name="parameter" content="content">}
    \Configure{TITLE+}{This is my title}
  \EndPreamble

Content
\end{document}

これらのほとんどは、<head>セクションに何かを挿入することに成功しますが、<html>タグには何も入りません。 \Configure{PROLOG}違いがあったとしても、あまり意味がないようです。\Configure{HTML}行をコメントアウトしないと、エラーが発生します。

! Argument of \Configure has an extra }.
<inserted text> 
                \par 
l.16 \end{document}

もちろん、これを手動で挿入することもできますが、tex4ht はこれを行うように設定されているようです。tex4ht <rant>のドキュメント化が不十分な機能の中で、これに関連するものは、\Configure{PROLOG}私がこれまでに遭遇した中で最悪のもののようです。</rant>

答え1

\Configure{HTML}には 2 つのパラメータがありますが、あなたの例では 1 つしかないので、これがエラーの原因である可能性があります。\Configure{@HTML}にコードを挿入するためのがあることに注意してください<html ...>xml:lang正しい言語コードがデフォルトで挿入されるため、自分で提供する必要があります。最後に、 を使用する必要はありません\Configure{PROLOG}

シンプルな.cfgファイル:

\Preamble{xhtml}
\Configure{@HTML}{xml:lang="en" xmlns:mbp="http://www.kreutzfeldt.de/mmc/mbp" \Hnewline}
\begin{document}
\EndPreamble

結果は次のようになります:

<html xml:lang="cs" xml:lang="en" xmlns:mbp="http://www.kreutzfeldt.de/mmc/mbp"
xmlns="http://www.w3.org/1999/xhtml"
> 

答え2

ステートメントは、正しく処理されるように、次のように\Configure前に置く必要があります。\begin{document}tex4ht

\documentclass{article}
\input{tex4ht.sty}
\Preamble{xhtml}
\Configure{HTML}
  {\HCode{<html xmlns="http://www.w3.org/1999/xhtml" xmlns:mbp="http://www.kreutzfeldt.de/mmc/mbp">}}
  {\HCode{</html>}}
\Configure{@HEAD}{\HCode{<meta name="parameter" content="content">}}
\Configure{TITLE+}{This is my title}

\begin{document}
  \EndPreamble
  Content
\end{document}

関連情報