Как добавить xmlns к тегу в tex4ht

Как добавить xmlns к тегу в tex4ht

Согласно рекомендациям Amazon по публикации Kindle, мне необходимо добавить xmlns:mbp="http://www.kreutzfeldt.de/mmc/mbp"тег <html>в мой 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 настроен именно на это. <rant>Из всех плохо документированных функций tex4ht, та, которая связана с , \Configure{PROLOG}кажется худшей из тех, с которыми я сталкивался до сих пор.</rant>

решение1

\Configure{HTML}имеет два параметра, у вас в вашем примере только один, поэтому это может быть источником ошибки. Обратите внимание, что \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}

Связанный контент