Wie kann ich dem Tag in tex4ht ein XML-Element hinzufügen?

Wie kann ich dem Tag in tex4ht ein XML-Element hinzufügen?

Gemäß den Kindle-Veröffentlichungsrichtlinien von Amazon muss ich xmlns:mbp="http://www.kreutzfeldt.de/mmc/mbp"das <html>Tag in meiner HTML-Datei hinzufügen.

Ich habe viele Varianten davon ausprobiert:

\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}

Die meisten davon fügen zwar etwas in den <head>Abschnitt ein, aber nichts wird in das <html>Tag eingefügt. \Configure{PROLOG}scheint keinen großen Unterschied zu machen. Wenn ich die Zeile nicht auskommentiere \Configure{HTML}, erhalte ich eine Fehlermeldung:

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

Natürlich kann ich dies manuell einfügen, aber es scheint, als sei tex4ht dafür eingerichtet. <rant>Von allen schlecht dokumentierten Funktionen von tex4ht scheinen die damit verbundenen Dinge \Configure{PROLOG}die schlimmsten zu sein, die mir bisher untergekommen sind.</rant>

Antwort1

\Configure{HTML}hat zwei Parameter, Sie haben in Ihrem Beispiel nur einen, also kann dies die Fehlerquelle sein. Beachten Sie, dass es \Configure{@HTML}zum Einfügen von Code in gibt <html ...>. xml:langmit der richtigen Sprache wird standardmäßig Code eingefügt, Sie müssen ihn also selbst angeben. Und schließlich müssen Sie nicht verwenden \Configure{PROLOG}.

Einfache .cfgDatei:

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

ergibt:

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

Antwort2

Damit die \ConfigureAnweisungen richtig verarbeitet werden können, sollten sie davor stehen , zB so:\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}

verwandte Informationen