Date: 2001-02-28 17:02:00

1. Package parameter ‘0.0’

This parameter asks for a pure text-based output without hypertext tags.

1 a demonstration of how 2 to produce xml output. |
             %--  try.tex  --
             \documentclass{article}
           \usepackage[html,0.0]{tex4ht}
             \begin{document}
           \section{a demonstration}  of how
           \section{to produce}  xml output.
             \end{document}

2. Parameter ‘hooks’

This parameter asks for pseudo hypertext tags that partially trace empty parameters of configuration instructions. The pseudo tags are highlighted fragments of content in the output, which carry the look of tags.

<HTML1:2><HEAD1:2><TITLE1:2><TITLE+1:1><TITLE2:2><HEAD2:2> <BODY1:2> <TocAt*1:2> <TocAt*2:2> <HtmlPar2:4> 1 a demonstration<section3:4><TocAt1:2><TocAt2:2> of how <TocAt*1:2> <TocAt*2:2> <section2:4> 2 to produce<section3:4><TocAt1:2><TocAt2:2> xml output. <section2:4><BODY2:2><HTML2:2> |
            %-- try.tex --
             \documentclass{article}
           \usepackage[html,0.0,hooks]{tex4ht}
             \begin{document}
           \section{a demonstration}  of how
           \section{to produce}  xml output.
             \end{document}

For instance, in the above example, the fields ‘<section2:4>’ and ‘<section3:4>’ indicate that ‘\Configuration{section}’ should have four parameters. Moreover, the location of ‘<section2:4>’ shows where the content of the second parameter will be included, and the location of ‘<section3:4>’ shows where the content of the third parameter will be included. A little experimentation reveals that the above configuration command has the following meaning.

\Configuration{section} {before-section} {after-section} {before-title} {after-title}

<HTML1:2><HEAD1:2> <TocAt*1:2> <TocAt*2:2> <HtmlPar2:4> ### a demonstration <TocAt1:2><TocAt2:2> of how <TocAt*1:2> <TocAt*2:2> ### to produce <TocAt1:2><TocAt2:2> xml output. <BODY2:2><HTML2:2> |
                 %---- try.tex ----
             \documentclass{article}
           \usepackage[try,html]{tex4ht}
             \begin{document}
           \section{a demonstration}  of how
           \section{to produce}  xml output.
             \end{document}
                 %---- try.cfg ----
           \Preamble{0.0,hooks}
           \Configure{section}
              {\HCode{<hr />}} {\empty}
              {\HCode{<h3>}} {\HCode{</h3>}}
           \begin{document}
           \EndPreamble

Most configurations should be set after the \Preamble command, but a few must appear earlier. Again, a little experimentation is probably the easiest approach for detecting the latter exceptions.

<HTML1:2><HEAD1:2> <Preamble2:2> <TITLE1:2> <TITLE+1:1> <TITLE2:2> <HEAD2:2> <BODY1:2> ### a demonstration of how ### to produce xml output. <HTML2:2> |
                 %---- try.cfg ----
           \Preamble{0.0,hooks,xhtml}

           \Configure{section}
              {\par\IgnorePar\EndP \HCode{<hr />}}
              {\EndP}
              {\HCode{<h3>}} {\HCode{</h3>}\par\ShowPar}
           \Configure{TocAt}{\empty}{\empty}
           \Configure{TocAt*}{\empty}{\empty}

           \begin{document}

           \Configure{HtmlPar}
              {\HCode{<p>}}{\HCode{<p>}}
              {\HCode{</p>}}{\HCode{</p>}}

3. Option ‘hooks+’

This option is a generalization of the previous one. It adds to the log file a partial tracing of \Configuration instructions.

4. Package parameter ‘edit’
\Tg<...>
\Tg</...>
\Tg<.../>

The three commands introduce start, end, and empty, pseudo hypertext tags to the output. The edit parameter request abstract forms of the hypertext tags.

### a demonstration of how ### to produce xml output. |
                 %---- try.cfg ----
           \Preamble{0.0,edit,xhtml}

           \Configure{section}
              {\par\IgnorePar\EndP \HCode{<hr />}}
              {\EndP}

              {\HCode{<h3>}} {\HCode{</h3>}\par\ShowPar}
           \Configure{TocAt}{\empty}{\empty}
           \Configure{TocAt*}{\empty}{\empty}

           \begin{document}

           \Configure{HtmlPar}
              {\HCode{<p>}}{\HCode{<p>}}
              {\HCode{</p>}}{\HCode{</p>}}

           \EndPreamble

The \Tg commands allow also for arguments in their content.

5. \Configure{edit} {before} {after}
\Configure{hooks} {before} {after} {}{}

The pseudo tags produced by the \Tg commands are easier to program when the ‘hooks’ parameter is also present, due to the hints provided by the pseudo tags. The current commands allow to provide distinguished looks to the corresponding pseudo tags.

<HTML1:2><HEAD1:2> <Preamble2:2> <file> <TITLE+1:1> </file> <HEAD2:2> <BODY1:2> <section> <title> <HtmlPar2:4> a demonstration</title> of how </section> <section> <title> to produce</title> xml output. </section><HTML2:2> |
                 %---- try.cfg ----
           \Configure{HtmlPar}
              {\HCode{<p>}}{\HCode{<p>}}
              {}{}
           \Configure{TITLE}
              {\Tg<file>}{\Tg</file>}

           \Preamble{0.0,edit,hooks}

           \Configure{section}
              {\Tg<section>} {\Tg</section>}
              {\Tg<title>} {\Tg</title>}
           \Configure{TocAt}{\empty}{\empty}

           \Configure{TocAt*}{\empty}{\empty}

           \Configure{hooks}
              {\HCode{<span class="hooks">&lt;}}
              {\HCode{&gt;</span>}} {}{}

           \begin{document}
           \EndPreamble

6. \Configure<...>{before}{after}
\Configure</...>{before}{after}
\Configure<.../>{before}{after}

These commands configure the appearance of the pseudo tags introduced, respectively, by the commands \Tg<...>, \Tg</...>, and \Tg<.../> (when the ‘edit’ parameter is present).

<FILE>try.html</FILE> <SECTION> <TITLE> a demonstration</TITLE> of how </SECTION> <SECTION> <TITLE> to produce</TITLE> xml output. </SECTION> |
                 %---- try.cfg ----
           \Configure{HtmlPar} {}{} {}{}
           \Configure{TITLE}
              {\Tg<FILE>}{\Tg</FILE>}

           \Preamble{0.0,edit}

           \Configure{section}
              {\Tg<SECTION>} {\EndP\Tg</SECTION>}
              {\Tg<TITLE>} {\Tg</TITLE>}
           \Configure{toc}{\empty}
           \Configure{TocAt}{\empty}{\empty}
           \Configure{TocAt*}{\empty}{\empty}

           \Configure<SECTION>{\HCode{<br />}}{\HCode{<br />}}
           \Configure</SECTION>{\HCode{<br />}}{\HCode{<br />}}

           \begin{document}
           \EndPreamble

7. \Configure<...>-{replacement}
\Configure</...>-{replacement}
\Configure<.../>-{replacement}

These variants of the \Configure command specify replacements for tags created by the \Tg command. They allow to provide counter HTML representations for the XML documents being compiled from the source LaTeX files.

    <!--try.html-->
    <h2>  a demonstration</h2>
    of how
    <h2>  to produce</h2>
    xml output.
                 %---- try.cfg ----
           \Configure{HtmlPar} {}{} {}{}
           \Configure{TITLE}
              {\Tg<FILE>}{\Tg</FILE>}

           \Preamble{0.0,edit}

           \Configure{section}
              {\Tg<SECTION>} {\EndP\Tg</SECTION>}
              {\Tg<TITLE>} {\Tg</TITLE>}
           \Configure{toc}{\empty}
           \Configure{TocAt}{\empty}{\empty}
           \Configure{TocAt*}{\empty}{\empty}

           \Configure<SECTION>+{}
           \Configure</SECTION>+{}
           \Configure<TITLE>+{\hcode{<h2>}}
           \Configure</TITLE>+{\HCode{</h2>}}
           \Configure<FILE>+{\HCode{<!--}}
           \Configure</FILE>+{\HCode{-->}}

           \begin{document}
           \EndPreamble

8. Package parameter ‘edit+’

This parameter is a generalization of the ‘edit’ parameter, which introduces configuration information into the log file.

9. Package parameter ‘verify’
\Verify...\EndVerify

The current parameter asks for a warning message to be given for unknown containment relationships of tags defined by \Tg. A containment relationship can be made known to the system, by inserting into the environment ‘\Verify...\EndVerify’ the parent and child pair separated by the string ‘-->’. Commas should be used to separate pairs in the listing.

<DOC> <FILE>try.html</FILE> <SECTION><TITLE> a demonstration</TITLE> of how </SECTION><SECTION><TITLE> to produce</TITLE> xml output. </SECTION></DOC> |
                 %---- try.cfg ----
           \Configure{HtmlPar} {}{} {}{}
           \Configure{TITLE}
              {\Tg<FILE>}{\Tg</FILE>}
           \Configure{HTML}
              {\Tg<DOC>}{\Tg</DOC>}

           \Preamble{0.0,edit,verify}

           \Configure{section}
              {\Tg<SECTION>} {\EndP\Tg</SECTION>}
              {\Tg<TITLE>} {\Tg</TITLE>}
           \Configure{toc}{\empty}
           \Configure{TocAt}{\empty}{\empty}
           \Configure{TocAt*}{\empty}{\empty}

           \Verify
                  --> DOC,
              DOC --> FILE,
              DOC --> SECTION
           \EndVerify

           \begin{document}
           \EndPreamble

The compilation of the LaTeX file that produced the last example, issued the warning message ‘6. --- warning --- SECTION --> TITLE ?’.

10. Package parameter ‘verify+’

This is a variant of the ‘verify’ parameter that reports in the ‘log’ file the detected containment relations.