% $Id: tex4ht-ooffice.tex 1455 2024-01-29 13:45:00Z michal_h21 $ % compile 3 times: latex tex4ht-ooffice % htlatex tex4ht-ooffice "xhtml,4,sections+" % % Copyright 2009-2024 TeX Users Group % Copyright 2001-2009 Eitan M. Gurari % Released under LPPL 1.3c+. % See tex4ht-cpright.tex for license text. %%%%%%%%%%%%%%%%%% load style files %%%%%%%%%%%%%%%%%%%%%%%%%% \ifx \HTML\UnDef \def\HTML{ooffice,ooffice-mml} \def\PREAMBLE{% \usepackage{url}% \usepackage{hyperref}% } \def\OPTIONS{html,sections+,3}% \def\CONFIG{\jobname} \def\MAKETITLE{\author{Eitan M. Gurari, James Naughton, and Maarten Wisse}} \def\next{\input mktex4ht.4ht \endinput} \expandafter\next \fi \input{common} \input{tex4ht-cpright} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \chapter{The Code} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{The Root} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \subsection{Imported Configurations} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \<<< \if:latex | \else | \fi >>> \<<< | | | | | >>> \<<< | | >>> %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \subsection{Common Code Fragments} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \<<< !*?: >>> \<<< cw:>>> \<<< tail>>> \<<< \xdef\:cursec{|
}% >>> \<<< \newif\ifHCond \def\:gobbleM#1->{} >>> \<<< \par\ShowPar >>> \<<< \ShowPar\par{\HCondtrue\noindent}% >>> %%%%%%%%%%%%%%%%%%%%%% \subsection{Copyright} %%%%%%%%%%%%%%%%%%%%%% \<<< % ooffice.4ht (|version), generated from |jobname.tex | >>> \<<< % ooffice-math.4ht (|version), generated from |jobname.tex | >>> \<<< % ooffice-mml.4ht (|version), generated from |jobname.tex | >>> \<<< % Copyright 2009-2024 TeX Users Group % Copyright |CopyYear.2001. Maarten Wisse, James Naughton, Eitan M. Gurari | >>> \<<< | >>> %%%%%%%%%%%%%%%%%%%%%% \section{The XML Files} %%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%% \subsection{content.xml (= jobname.xml)} %%%%%%%%%%%%%%%%%%%%%% \<<< \Configure{math-xmlns} { xmlns="http://www.w3.org/1998/Math/MathML"\Hnewline xmlns:xlink="http://www.w3.org/1999/xlink" } >>> \<<< \Configure{mathml}{} >>> \<<< \Configure{ext}{4oo} \Configure{PROLOG}{VERSION,DOCTYPE} | \def\oo:dtd:ver{2.0} >>> The DOCTYPE can actually make the ODT file invalid. Just insert xtpipes instruction. \<<< \Configure{VERSION}{\HCode{|}} \:CheckOption{-xtpipes} \if:Option \Configure{DOCTYPE}{} \else \Configure{DOCTYPE}{\HCode{\Hnewline}} \fi >>> \<<< | >>> \<<< {\Configure{Needs}{File: \jobname.odt}\Needs{}} \Configure{HTML} {\HCode{% office:version="1.0" >\Hnewline \expandafter\ifx\csname a:automatic-styles\endcsname\relax \else \csname a:automatic-styles\endcsname \fi \Hnewline }} {\EndP\HCode{}\Configure{newpage}{}} \NewConfigure{automatic-styles}[1]{% \expandafter\concat:config\csname a:automatic-styles\endcsname{#1}} \expandafter\let\csname a:automatic-styles\endcsname\relax | >>> \<<< \Configure{HEAD}{}{} >>> \<<< \Configure{BODY} {\HCode{}\par\ShowPar} {\IgnorePar\EndP \HCode{\Hnewline}} >>> \<<< xmlns:chart="http://openoffice.org/2000/chart" \Hnewline xmlns:dr3d="http://openoffice.org/2000/dr3d" \Hnewline xmlns:draw="http://openoffice.org/2000/drawing" \Hnewline xmlns:form="http://openoffice.org/2000/form" \Hnewline xmlns:number="http://openoffice.org/2000/datastyle" \Hnewline xmlns:office="http://openoffice.org/2000/office" \Hnewline xmlns:script="http://openoffice.org/2000/script" \Hnewline xmlns:style="http://openoffice.org/2000/style" \Hnewline xmlns:table="http://openoffice.org/2000/table" \Hnewline xmlns:text="http://openoffice.org/2000/text" \Hnewline xmlns:fo="http://www.w3.org/1999/XSL/Format" \Hnewline xmlns:math="http://www.w3.org/1998/Math/MathML" \Hnewline xmlns:svg="http://www.w3.org/2000/svg" \Hnewline xmlns:xlink="http://www.w3.org/1999/xlink" \Hnewline >>> \<<< xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" \Hnewline xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" \Hnewline xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" \Hnewline xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" \Hnewline xmlns:fo="http://www.w3.org/1999/XSL/Format" \Hnewline xmlns:xlink="http://www.w3.org/1999/xlink" \Hnewline xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" \Hnewline xmlns:dc="http://purl.org/dc/elements/1.1/" \Hnewline xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" \Hnewline xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0"\Hnewline xmlns:svg="http://www.w3.org/2000/svg" \Hnewline xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" \Hnewline xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" \Hnewline xmlns:math="http://www.w3.org/1998/Math/MathML" \Hnewline xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" \Hnewline xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" \Hnewline xmlns:ooo="http://openoffice.org/2004/office" \Hnewline xmlns:ooow="http://openoffice.org/2004/writer" \Hnewline xmlns:oooc="http://openoffice.org/2004/calc" \Hnewline xmlns:dom="http://www.w3.org/2001/xml-events" \Hnewline xmlns:xforms="http://www.w3.org/2002/xforms" \Hnewline xmlns:xsd="http://www.w3.org/2001/XMLSchema" \Hnewline xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" \Hnewline xmlns:anim="urn:oasis:names:tc:opendocument:xmlns:animation:1.0" \Hnewline xmlns:smil="urn:oasis:names:tc:opendocument:xmlns:smil-compatible:1.0"\Hnewline xmlns:presentation="urn:oasis:names:tc:opendocument:xmlns:presentation:1.0"\Hnewline >>> \<<< xmlns:anim="urn:oasis:names:tc:opendocument:xmlns:animation:1.0"\Hnewline xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" \Hnewline xmlns:dc="http://purl.org/dc/elements/1.1/" \Hnewline xmlns:dom="http://www.w3.org/2001/xml-events" \Hnewline xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" \Hnewline xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" \Hnewline xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0"\Hnewline xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" \Hnewline xmlns:math="http://www.w3.org/1998/Math/MathML" \Hnewline xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" \Hnewline xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" \Hnewline xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0"\Hnewline xmlns:ooo="http://openoffice.org/2004/office" \Hnewline xmlns:oooc="http://openoffice.org/2004/calc" \Hnewline xmlns:ooow="http://openoffice.org/2004/writer" \Hnewline xmlns:presentation="urn:oasis:names:tc:opendocument:xmlns:presentation:1.0"\Hnewline xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" \Hnewline xmlns:smil="urn:oasis:names:tc:opendocument:xmlns:smil-compatible:1.0"\Hnewline xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" \Hnewline xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0"\Hnewline xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" \Hnewline xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0"\Hnewline xmlns:xlink="http://www.w3.org/1999/xlink"\Hnewline >>> \<<< \Hnewline >>> \<<< >>> \<<< \expandafter \ifx \csname a:dtd-lang\endcsname\relax EN\else \csname a:dtd-lang\endcsname \fi >>> \<<< \let\Css=\:gobble >>> %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \subsection{styles.xml (jobname-styles.xml)} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% The contents.xml file can contain only styles that are known ahead of time, before starting the processing of the content. The styles.xml file allows us \begin{enumerate} \item To collect styles as we go along the body of the document, and \item Introduce default built in styles that user may override \end{enumerate} The content.xml must get the style information at the start of the compilation, before the body is processed. \verb+\OOstyles+ immediatey sends it content to the styles.xml file. In the case of \verb+\ConfigureOO+, the last assignment to the hook is sent to the file upon reaching the end of the source. \<<< \let\:OOstyles=\empty \def\OOstyles#1{\edef\:OOstyles{\:OOstyles #1}} \OOstyles{|} >>> \<<< \def\OOstyles##1{% \ht:special{t4ht>|}% \ht:special{t4ht=##1}% \ht:special{t4ht*>}% } \OOstyles{\:OOstyles} \ht:special{t4ht*>|}% \let\:OOstyles=\:UnDef >>> \<<< \jobname-styles.4oy>>> \<<< \OOstyles{% \oo:style \Hnewline |\Hnewline \Hnewline |\Hnewline \Hnewline \Hnewline }% >>> \<<< |% \Hnewline office:version="1.0">\Hnewline |% \Hnewline >>> [\HPage{dirty trick for fonts} \begin{verbatim} \OOstyles{% } \end{verbatim} \EndHPage{}] \<<< \let\oo:style=\empty \def\NewConfigureOO#1{% \expandafter\ifx \csname c:#1:oo:style:\endcsname\relax \append:def\oo:style{\csname a:#1:oo:style\endcsname}% \:CheckOption{info}\if:Option \Log:Note{\string\NewConfigureOO{#1}}% \fi \fi \NewConfigure{#1:oo:style}{1}} \def\ConfigureOO#1#2{% \edef\:temp{\noexpand\Configure{#1:oo:style}{#2}}\:temp \:CheckOption{info-oo}\if:Option \Log:Note{\string\ConfigureOO{#1}{% \expandafter\expandafter\expandafter\:gobbleM \expandafter\meaning\csname a:#1:oo:style\endcsname }} \fi } >>> \<<< \:CheckOption{info}\if:Option \Log:Note{For tracing of oo configurations, use the `info-oo' option}% \fi >>> %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \subsection{helper commands for easier style setting} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Styles for \verb|\paragraph| like configurations Define paragraph style \<<< \def\:ParagraphStyle#1{% \NewConfigureOO{#1}% \ConfigureOO{#1}{% \Hnewline } } >>> Configure paragraph command (first argument). The paragraph title will be set in the character style passed as the second argument. \<<< \def\:DefineParagraph#1#2{% \Configure{#1} {\ifvmode\IgnorePar\fi\EndP \HCode{}} {\ifvmode\IgnorePar\fi\EndP \HCode{}} {\bgroup\HTML:PAR{#1-p}{#1-p}\ifvmode\IgnorePar\fi\EndP\par\ShowPar\HCode{}} {\HCode{\Hnewline}\egroup\IgnorePar} \:ParagraphStyle{#1-p} } >>> Usage: \begin{verbatim} \:DefineParagraph{paragraph}{paragraph-h} \:BoldStyle{paragraph-h} \end{verbatim} Commands for basic character styles: \<<< \def\:BoldStyle#1{% \NewConfigureOO{#1} \ConfigureOO{#1}{ \Hnewline \Hnewline \Hnewline }} \def\:ItalicStyle#1{% \NewConfigureOO{#1} \ConfigureOO{#1}{ \Hnewline \Hnewline \Hnewline }} >>> %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \subsection{settings.xml for Math Formulas} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \<<< \ht:special{t4ht>|}% \ht:special{t4ht=|}% \ht:special{t4ht=|}% \ht:special{t4ht=|}% \ht:special{t4ht=|}% \ht:special{t4ht*>}% \ht:special{t4ht<|}% >>> \<<< \jobname-settings.4os>>> \<<< >>> \<<< \Hnewline >>> % \Hnewline % \<<< \Hnewline >>> %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \subsection{manifest.xml} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \<<< \let\media:type\relax \let\:OOmanifest=\empty \def\OOmanifest#1{\edef\:OOmanifest{\:OOmanifest #1}} \OOmanifest{|} \def\media:type{application/vnd.oasis.opendocument.text} >>> \<<< \def\OOmanifest##1{% \ht:special{t4ht>|}% \ht:special{t4ht=##1}% \ht:special{t4ht*>}% } \OOmanifest{\:OOmanifest} \ht:special{t4ht*>|}% \let\:OOmanifest=\:UnDef >>> \<<< \jobname-manifest.4of>>> \<<< |% \Hnewline |% >>> \<<< \OOmanifest{\Hnewline}% >>> \<<< \Hnewline \Hnewline >>> \<<< \Hnewline >>> \<<< \Hnewline \Hnewline \Hnewline \Hnewline \Hnewline >>> %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \subsection{meta.xml} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \<<< \ht:special{t4ht>|}% \ht:special{t4ht=|}% \ht:special{t4ht=|}% \ht:special{t4ht=\a:META}% \ht:special{t4ht=|}% \ht:special{t4ht*>}% \ht:special{t4ht<|}% >>> \<<< \jobname-meta.4ot>>> \<<< \Hnewline \Hnewline >>> \<<< \Hnewline >>> \<<< \Configure{META} {|\Hnewline \Hnewline} \Configure{META} {|\Hnewline \Hnewline} \:CheckOption{timestamp}\if:Option \Configure{META} {\:today\Hnewline} \Configure{META} {\:today\Hnewline} \else \Log:Note{To print a timestamp, use the command line option timestamp} \fi >>> \<<< TeX4ht from \jobname.tex, options: \expandafter\:gobbleM\meaning\Preamble\Hnewline (http://www.cse.ohio-state.edu/\string ~gurari/TeX4ht/) >>> \<<< \tmp:cnt=\time \divide\tmp:cnt by 60 \edef\:temp{\the\tmp:cnt} \multiply\tmp:cnt by -60 \advance\tmp:cnt by \time \edef\:today{\the\year -\ifnum \month<10 0\fi \the\month -\ifnum \day<10 0\fi\the\day T\ifnum \:temp<10 0\fi \:temp :\ifnum \tmp:cnt<10 0\fi\the\tmp:cnt :00} >>> \<<< \NewConfigure{META}[1]{\concat:config\a:META{#1}} \let\a:META\relax >>> %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \subsection{MathML} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \<<< % % % >>> \<<< % % % >>> \<<< | >>> \<<< \OOstyles{\Hnewline \Hnewline \Hnewline \Hnewline} >>> \<<< \OOstyles{\Hnewline \Hnewline } >>> \<<< \OOstyles{\Hnewline \Hnewline } >>> \<<< \newif\ifCenteredFrame >>> \<<< \gHAdvance\math:obj by 1 \NextFile{|.4om}% \bgroup \HCode{\ifCenteredFrame |\else |\fi }% \OOmanifest{|}% |% |\IgnorePar \HPage{}% >>> \<<< \EndHPage{}|\egroup >>> \<<< | >>> \<<< \HAssign\math:obj=0 \Configure{DviMath} {\a:DviMathML \mathmltrue \ifOption{mml-fonts}{}{|%\mml:htfsym|%\NoFonts}% \HCode{|
}% \Configure{tabular}{}{}{}{}{}{}% \ConfigureEnv{tabular}{}{}{}{}{}{}% \ConfigureEnv{center}{}{}{}{}} {\ifvmode \IgnorePar\fi \EndP % \HCode{
}% \egroup} {} {} \Configure{dedication} {\ifvmode \IgnorePar\fi\EndP \HCode{}} {\ifvmode \IgnorePar\fi\EndP \HCode{}} >>> Koma classes have subtitle command and option. \<<< \Configure{subtitle}{\ifvmode\IgnorePar\fi\EndP\HCode{}}{\HCode{}} \NewConfigureOO{subtitle} \ConfigureOO{subtitle}{% \Hnewline \Hnewline \Hnewline \Hnewline } >>> %%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{Abstract} %%%%%%%%%%%%%%%%%%%%%%%%%%%% \subsection{Scr} The paragraph styles are already defined in ooffice title page section, which is included by scrartcle and scrreprt before this code. Koma classess don't contain mandatory abstract title, so we must change the configuration slightly. We modify directly the \verb|\abstractname| command to print XML tags. \<<< \ConfigureEnv{abstract} {\IgnorePar\EndP \bgroup \Configure{HtmlPar} {\EndP \HCode{}} {\EndP \HCode{}} {\HCode{}} {\HCode{}}% \par \ShowPar } {\ifvmode \IgnorePar\fi \EndP \egroup \ShowPar\par \IgnoreIndent } { \pend:def\abstractname{\ifvmode \IgnorePar\fi\EndP\HCode{}} \append:def\abstractname{\HCode{}} } {} >>> %%%%%%%%%%%%%%%%%%%%%%%%%%%%% \subsection{LaTeX} %%%%%%%%%%%%%%%%%%%%%%%%%%%% \<<< \ConfigureEnv{abstract} {\IgnorePar\EndP \bgroup \Configure{HtmlPar} {\EndP \HCode{}} {\EndP \HCode{}} {\HCode{}} {\HCode{}}% \par \ShowPar } {\ifvmode \IgnorePar\fi \EndP \egroup \ShowPar\par \IgnoreIndent } {\ifvmode \IgnorePar\fi\EndP \HCode{}% } {\HCode{}} >>> \<<< \NewConfigureOO{abstract} \ConfigureOO{abstract}{\Hnewline \Hnewline \Hnewline \Hnewline | } >>> \<<< \NewConfigureOO{abstract-title} \ConfigureOO{abstract-title}{\Hnewline \Hnewline \Hnewline \Hnewline } >>> %%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{List Environments} %%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%% \subsection{LaTeX} %%%%%%%%%%%%% \begin{description} \item[Itemized Lists] \<<< \ConfigureList{itemize}% {\EndP\HCode{|<\text:unorderedlist text:style-name="Itemize|" >\Hnewline}\def\end@Item{}\bgroup \Configure{HtmlPar} {\EndP\HCode{}} {\EndP\HCode{}} {\HCode{\Hnewline}} {\HCode{\Hnewline}}% \gHAdvance\BegEnd:D by 1 } {\gHAdvance\BegEnd:D by -1 \EndP\IgnorePar \egroup \HCode{\Hnewline \Hnewline}\ShowPar} {\EndP\end@Item\DeleteMark} {\HCode{}\par\ShowPar \def\end@Item{\HCode{\Hnewline}}} >>> \<<< \NewConfigureOO{itemize} \ConfigureOO{itemize} {|% |% |} >>> \<<< \Hnewline \Hnewline \Hnewline \Hnewline \Hnewline \Hnewline \Hnewline \Hnewline >>> \<<< \Hnewline >>> \item[Enumerated Lists] \<<< \NewConfigureOO{enumerate} \:CheckOption{enumerate+} \if:Option | \else | | \fi >>> \<<< \Log:Note{for enumerated list elements with valued data, use the command line option `enumerate+'} >>> \<<< \ConfigureList{enumerate}% {\EndP\HCode{<\text:orderedlist text:style-name="Enumerate|" >\Hnewline}\def\end@Item{}\bgroup \Configure{HtmlPar} {\EndP\HCode{}} {\EndP\HCode{}} {\HCode{\Hnewline}} {\HCode{\Hnewline}} \gHAdvance\BegEnd:D by 1% } {\gHAdvance\BegEnd:D by -1\EndP\IgnorePar \egroup \HCode{\Hnewline \Hnewline}\ShowPar} {\EndP\end@Item\DeleteMark} {\HCode{}\par\ShowPar \def\end@Item{\HCode{\Hnewline}}} >>> \<<< \Hnewline >>> \<<< \ConfigureOO{enumerate}% {|% |% |% |} >>> \<<< \NewConfigure{enumerate:1}{3} \NewConfigure{enumerate:2}{3} \NewConfigure{enumerate:3}{3} \NewConfigure{enumerate:4}{3} \Configure{enumerate:1}{1}{}{.} \Configure{enumerate:2}{a}{(}{)} \Configure{enumerate:3}{i}{}{.} \Configure{enumerate:4}{A}{}{.} >>> \<<< \Hnewline \Hnewline \Hnewline \Hnewline \Hnewline \Hnewline \Hnewline \Hnewline \Hnewline \Hnewline \Hnewline \Hnewline \Hnewline \Hnewline >>> %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \item[Description Lists] %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \<<< \:CheckOption{description-inline}\if:Option | \else \Log:Note{for description lists where header is in the same paragraph as description, use the `description-inline' command option} | \fi >>> \<<< \let\end:itm=\empty \ConfigureList{description}% {\EndP \bgroup \HCode{}% \PushMacro\end:itm \global\let\end:itm=\empty \HTML:PAR{dd|}{dd|}% \gHAdvance\BegEnd:D by 1 } {\gHAdvance\BegEnd:D by -1 \PopMacro\end:itm \global\let\end:itm \end:itm \EndP \HCode{}% \HCode{} \HCode{}% \egroup \ShowPar} {\end:itm \global\def\end:itm{\EndP \HCode{}% \HCode{}% }% \HCode{% % }% } {\EndP \HCode{}% \HCode{}% \par } >>> \<<< \let\end:itm=\empty \ConfigureList{description}% {\EndP \bgroup \HCode{}% \PushMacro\end:itm \global\let\end:itm=\empty \HTML:PAR{description-inline|}{description-inline|}% \gHAdvance\BegEnd:D by 1 } {\gHAdvance\BegEnd:D by -1 \PopMacro\end:itm \global\let\end:itm \end:itm \EndP \HCode{}% \HCode{} \HCode{}% \egroup \ShowPar} {\end:itm \global\def\end:itm{\EndP \HCode{}% \HCode{}% }% \HCode{}\par\ShowPar% } {} >>> \<<< | >>> \<<< \ConfigureList{enumerate}% {\EndP\HCode{<\text:orderedlist text:style-name="Enumerate|" >\Hnewline}\def\end@Item{}\bgroup \Configure{HtmlPar} {\EndP\HCode{}} {\EndP\HCode{}} {\HCode{\Hnewline}} {\HCode{\Hnewline}} \gHAdvance\BegEnd:D by 1% } {\gHAdvance\BegEnd:D by -1% \EndP\IgnorePar \egroup \HCode{\Hnewline \Hnewline}\ShowPar} {\EndP\end@Item \let\sv:DeleteMark\DeleteMark \let\DeleteMark\DeleteMark: \DeleteMark} {\HCode{}% \par\ShowPar \HCode{}\AnchorLabel \box\tmp:bx \let\DeleteMark\sv:DeleteMark \HCode{}% \def\end@Item{\HCode{\Hnewline}}} \def\DeleteMark:#1\@labels{\hfill\break \setbox\tmp:bx\vbox{\box\@labels}} >>> \<<< \ConfigureOO{enumerate}% {|% |} >>> \<<< \Hnewline \Hnewline \Hnewline \Hnewline \Hnewline \Hnewline \Hnewline \Hnewline \Hnewline \Hnewline \Hnewline \Hnewline \Hnewline \Hnewline >>> \<<< \NewConfigureOO{description} \ConfigureOO{description}{|} >>> \<<< \Hnewline \Hnewline \Hnewline \Hnewline \Hnewline \Hnewline \Hnewline \Hnewline >>> \<<< >>> \end{description} %%%%%%%%%%%%% \subsection{List} %%%%%%%%%%%%% \<<< \let\end:itm=\empty \ConfigureList{list}% {\EndP\HCode{}% \PushMacro\end:itm \global\let\end:itm=\empty \SaveHtmlPar \HTML:PAR{dd}{dd}% } {\PopMacro\end:itm \global\let\end:itm \end:itm \EndP \RecallHtmlPar \HCode{}\ShowPar} {\end:itm \global\def\end:itm{\EndP\HCode{}}% \HCode{}\bgroup \bf} {\egroup\HCode{}\par\ShowPar} >>> \<<< \NewConfigureOO{list} \ConfigureOO{list}{|} >>> \<<< \Hnewline \Hnewline \Hnewline \Hnewline \Hnewline \Hnewline \Hnewline \Hnewline >>> \<<< >>> %%%%%%%%%%%%% \subsection{Apa} %%%%%%%%%%%%% \<<< \Configure{bibcite}{\def\ { }} >>> \<<< \Configure{maketitle} {\HCode{}|} {\HCode{}\par} {\ifvmode \IgnorePar\fi \EndP \HCode{}} {\HCode{}} \Configure{affil} {\ifvmode \IgnorePar\fi \EndP \HCode{}} {\HCode{}} \Configure{abstract} {\Hclearpage \IgnorePar\EndP \bgroup \Configure{HtmlPar} {\EndP \HCode{}} {\EndP \HCode{}} {\HCode{}} {\HCode{}}% \ht:everypar{\HtmlPar}\par \ShowPar } {\ifvmode \IgnorePar\fi \EndP \egroup \Hclearpage \ShowPar\par \IgnoreIndent } >>> \<<< \Configure{centercr} {\ht:everypar{\ht:everypar{\HtmlPar}}}% {\ht:everypar{\ht:everypar{\HtmlPar}}}% >>> \<<< \ConfigureOO{itemize} {||} \ConfigureList{APAenumerate}% {\EndP\HCode{<\text:orderedlist text:style-name="Enumerate|" >\Hnewline}\def\end@Item{}\bgroup \Configure{HtmlPar} {\EndP\HCode{}} {\EndP\HCode{}} {\HCode{\Hnewline}} {\HCode{\Hnewline}}} {\EndP\IgnorePar \egroup \HCode{\Hnewline \Hnewline}\ShowPar} {\EndP\end@Item\DeleteMark} {\HCode{}\par\ShowPar \def\end@Item{\HCode{\Hnewline}}} \ConfigureList{APAitemize}% {\EndP\HCode{<\text:unorderedlist text:style-name="Itemize|" >\Hnewline}\def\end@Item{}\bgroup \Configure{HtmlPar} {\EndP\HCode{}} {\EndP\HCode{}} {\HCode{\Hnewline}} {\HCode{\Hnewline}}} {\EndP\IgnorePar \egroup \HCode{\Hnewline \Hnewline}\ShowPar} {\EndP\end@Item\DeleteMark} {\HCode{}\par\ShowPar \def\end@Item{\HCode{\Hnewline}}} >>> \<<< \Hnewline \Hnewline \Hnewline \Hnewline \Hnewline \Hnewline \Hnewline \Hnewline \Hnewline \Hnewline \Hnewline \Hnewline \Hnewline \Hnewline >>> \<<< \Hnewline >>> \<<< | >>> \<<< \ConfigureOO{enumerate}% {|% |% |} >>> \<<< \Hnewline \Hnewline \Hnewline \Hnewline \Hnewline \Hnewline \Hnewline \Hnewline \Hnewline \Hnewline \Hnewline \Hnewline \Hnewline \Hnewline >>> \<<< \Hnewline >>> %%%%%%%%%%%%% \subsection{Paralist} %%%%%%%%%%%%% \<<< \ConfigureList{compactenum}% {\EndP \end:itm \SaveHtmlPar \HCode{}% \PushMacro\end:Itm \global\let\end:itm=\empty \global\let\end:Itm=\empty \Configure{HtmlPar} {\end:itm\gdef\end:itm{\HCode{\Hnewline}}% \HCode{}} {\end:itm\gdef\end:itm{\HCode{\Hnewline}}% \HCode{}} {}{}% } {\end:itm \end:Itm \global\let\end:itm=\empty \PopMacro\end:Itm \global\let\end:Itm\end:Itm \HCode{}\RecallHtmlPar \ShowPar} {\end:itm \end:Itm \gdef\end:Itm{\HCode{}}% \gdef\end:itm{\HCode{}}\HCode{}\bgroup \bf} {\egroup \end:itm \gdef\end:itm{\HCode{}}% \HCode{}} \NewConfigureOO{compactenum} \ConfigureOO{compactenum}{|} >>> \<<< \Hnewline \Hnewline \Hnewline \Hnewline \Hnewline \Hnewline \Hnewline \Hnewline >>> \<<< \ConfigureList{compactitem}% {\EndP\HCode{|<\text:unorderedlist text:style-name="compactitem|" >\Hnewline}\def\end@Item{}\bgroup \Configure{HtmlPar} {\EndP\HCode{}} {\EndP\HCode{}} {\HCode{\Hnewline}} {\HCode{\Hnewline}}% \gHAdvance\BegEnd:D by 1 } {\gHAdvance\BegEnd:D by -1 \EndP\IgnorePar \egroup \HCode{\Hnewline \Hnewline}\ShowPar} {\EndP\end@Item\DeleteMark} {\HCode{}\par\ShowPar \def\end@Item{\HCode{\Hnewline}}} \NewConfigureOO{compactitem} \ConfigureOO{compactitem} {|% |% |} >>> \<<< \Hnewline \Hnewline \Hnewline \Hnewline \Hnewline \Hnewline \Hnewline \Hnewline >>> \<<< \Hnewline >>> \<<< \ConfigureList{compactdesc}% {\EndP \end:itm \SaveHtmlPar \HCode{}% \PushMacro\end:Itm \global\let\end:itm=\empty \global\let\end:Itm=\empty \Configure{HtmlPar} {\end:itm\gdef\end:itm{\HCode{\Hnewline}}% \HCode{}} {\end:itm\gdef\end:itm{\HCode{\Hnewline}}% \HCode{}} {}{}% } {\end:itm \end:Itm \global\let\end:itm=\empty \PopMacro\end:Itm \global\let\end:Itm\end:Itm \HCode{}\RecallHtmlPar \ShowPar} {\end:itm \end:Itm \gdef\end:Itm{\HCode{}}% \gdef\end:itm{\HCode{}}\HCode{}\bgroup \bf} {\egroup \end:itm \gdef\end:itm{\HCode{}}% \HCode{}} \NewConfigureOO{compactdesc} \ConfigureOO{compactdesc}{|} >>> \<<< \Hnewline \Hnewline \Hnewline \Hnewline \Hnewline \Hnewline \Hnewline \Hnewline >>> \<<< \ConfigureList{asparaitem}% {\EndP|\HCode{}\ShowPar\ShowIndent} {\EndP|\ShowPar} {\par\ShowPar{\parindent=10pt\leavevmode}} {} \ConfigureList{asparaenum}% {\EndP|\HCode{}\ShowPar\ShowIndent} {\EndP|\ShowPar} {\par\ShowPar{\parindent=10pt\leavevmode}} {} \ConfigureList{asparadesc}% {\EndP|\HCode{}\ShowPar\ShowIndent} {\EndP|\ShowPar} {\par\ShowPar{\parindent=10pt\leavevmode}} {} >>> %%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{Bibliography} %%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%% \subsection{Background} %%%%%%%%%%%%% \begin{verbatim} Bibliography : , , : , , Bibliography 1: author, title, year 2: auth, my title, \end{verbatim} %%%%%%%%%%%%%%%%%%% \subsection{cite} %%%%%%%%%%%%%%%%%%% This version of Cite produces links, but not speciall bibliography field in the ODT file. I don't know if it is important, I think functional link is better. \<<< \Configure{cite} {} {} {\Link} {\EndLink} \let\lat:cite\@cite \def\@cite#1#2{{#1\if@tempswa , #2\fi}} >>> This version of cite is post-processed by Xtpipes, which removes links from citation to the bibliography, and introduce extra square brackets. I don't understand why. \<\><<< \Configure{cite} {\HCode{}} {\HCode{}} {\Link} {\EndLink} \let\lat:cite\@cite \def\@cite#1#2{{#1\if@tempswa , #2\fi}} >>> \<\><<< \Configure{cite} {\HCode{}[\box0]\HCode{}\egroup } % {}{} {\Link}{\EndLink} \let\lat:cite\@cite \def\@cite#1#2{{#1\if@tempswa , #2\fi}} >>> % {\HCode{}} {\HCode{}} % {\Link} {\EndLink} \<<< \Configure{cite} {\HCode{}\bgroup \def\:nbsp{ }\NoFonts } {\EndNoFonts\egroup \HCode{}} {}{} \let\@cite\lat:cite >>> \begin{verbatim} [1] \end{verbatim} %%%%%%%%%%%%%%%%%%% \subsection{Items} %%%%%%%%%%%%%%%%%%% How the problem in the following post can be resolved? \url{http://www.mail-archive.com/dev@bibliographic.openoffice.org/msg00840.html} \<<< \def\ref:name{\bibname} | >>> \<<< \def\ref:name{\refname} | >>> \<<< \HAssign\bib:N=0 \:CheckOption{bib-}\if:Option \ConfigureList{thebibliography}% {\IgnorePar\EndP \gHAdvance\bib:N by 1 \let\en:bib=\empty } {\en:bib} {\en:bib\def\en:bib{\HCode{}}\HCode {}} {} \else \Log:Note{for a degraded bibliography friendlier for conversion to .doc, use the command line option `bib-'} \ConfigureList{thebibliography}% {\IgnorePar\EndP \gHAdvance\bib:N by 1 \HCode{ \Hnewline |\Hnewline \Hnewline \Hnewline }\let\en:bib=\empty } {\en:bib\HCode{}} {\en:bib\def\en:bib{\HCode{}}\HCode {}} {} \fi \Configure{bibitem}{\Link}{\EndLink\space } >>> \<<< \NewConfigureOO{p-bibitem} \ConfigureOO{p-bibitem}{% \Hnewline \Hnewline \Hnewline \Hnewline \Hnewline } >>> \<<< }\NoFonts\ref:name\EndNoFonts\HCode{% \Hnewline % \Hnewline % \Hnewline % : \Hnewline \Hnewline , \Hnewline % \Hnewline , \Hnewline % \Hnewline \Hnewline >>> %%%%%%%%%%%%%%%%%%% \subsection{jurabib} %%%%%%%%%%%%%%%%%%% \<<< \HAssign\jbancorDepth=0 \Configure{jblink} {\HAdvance\jbancorDepth by 1 \Link} {\EndLink \HAdvance\jbancorDepth by -1 } \Configure{jbanchor} {\bgroup \ifnum \jbancorDepth=0 \Configure{Link}{text:a}{xlink:href=}% {office:name=}{}% \else \Configure{Link}{text:span}{}{text:style-name=}{}% \def\NOHREF:##1{}% \fi \Link} {\EndLink \egroup} >>> Nested anchors are broken See html4 comment regarding \verb+\Configure{jbanchor}{\Link}{\EndLink}+ %%%%%%%%%%%%% \subsection{biblatex} %%%%%%%%%%%%% \<<< \Configure{thebibliography}% {\ifvmode \IgnorePar\fi \EndP \EndP\HCode{}% \PushMacro\end:itm \global\let\end:itm=\empty} {\ifvmode \IgnorePar\fi \EndP \PopMacro\end:itm \global\let\end:itm \end:itm \EndP\HCode{}\ShowPar} {\ifvmode \IgnorePar\fi \EndP \end:itm \global\def\end:itm{\EndP\HCode{}}% \HCode{}\bgroup \bf} {\ifvmode \IgnorePar\fi \EndP \egroup\HCode{}\par\ShowPar} >>> \<<< \Configure{bibinit}{\IgnorePar} >>> \<<< \Configure{printshorthands} {\ifvmode \IgnorePar\fi \EndP \HCode{}% } {\ifvmode \IgnorePar\fi \EndP \HCode{}} {\ifvmode \IgnorePar\fi \EndP \HCode{}} {\HCode{}% \Next:EndP{\HCode{}}% } \Configure{@shorthands} {\Configure{printfield-annotation} {\HTML:PAR{printshorthands-dd}{printshorthands-dd}} {}% } >>> \<<< \Configure{biblatex-style}{authortitle}{} \Configure{biblatex-style}{authortitle-comp}{} \Configure{biblatex-style}{authortitle-tcomp}{} \Configure{biblatex-style}{authortitle-icomp}{} \Configure{biblatex-style}{authortitle-ibid}{} \Configure{biblatex-style}{authoryear}{} \Configure{biblatex-style}{authoryear-ibid}{} \Configure{biblatex-style}{authoryear-comp}{} \Configure{biblatex-style}{verbose}{} \Configure{biblatex-style}{verbose-ibid}{} \Configure{biblatex-style}{verbose-note}{} \Configure{biblatex-style}{alphabetic-verb}{} \Configure{biblatex-style}{alphabetic}{} \Configure{biblatex-style}{numeric}{} \Configure{biblatex-style}{numeric-verb}{} \Configure{biblatex-style}{numeric-comp}{} \Configure{biblatex-style}{draft}{} \Configure{biblatex-style}{reading}{} \Configure{biblatex-style}{verbose-trad1}{} \Configure{biblatex-style}{verbose-trad2}{} >>> \<<< \NewConfigureOO{printshorthands} \ConfigureOO{printshorthands}{|} >>> \<<< \Hnewline \Hnewline >>> \<<< \NewConfigureOO{printthebibliography} \ConfigureOO{printthebibliography}{|} >>> \<<< \Hnewline \Hnewline >>> %%%%%%%%%%%%% \subsection{footnote-dw} %%%%%%%%%%%%% \<<< >>> % There used to be the following redefinition: % \protected\long\def\mkfootnotecite#1{#1} % I don't know what was the reasoning, but % footnote citing works well with the current % Biblatex and TeX4ht, so I think we can remove it. %%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{List-Based Environments} %%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%% \subsection{Quotes} %%%%%%%%%%%%%%%%%%%%%%%%%%%% \<<< \ConfigureEnv{quote} {|} {|\par\noindent} {\EndP \ifvmode \IgnorePar\fi \bgroup |% } {\IgnorePar\EndP \egroup \ShowPar \ShowIndent} >>> \<<< \Configure{HtmlPar} {\EndP \HCode{|% }} {\EndP \HCode{|% }} {\HCode{}} {\HCode{}}% >>> \<<< \NewConfigureOO{quote} \ConfigureOO{quote}{\Hnewline \Hnewline \Hnewline \Hnewline |} >>> \<<< \Configure{displayquote}{\EndP% \bgroup \Configure{HtmlPar}% {\EndP \HCode{}}% {\EndP \HCode{}}% {\HCode{}}% {\HCode{}}% }{}{}{\egroup\noindent} >>> %%%%%%%%%%%%% \subsection{Environment Envelop} %%%%%%%%%%%%% \<<< \HAssign\BegEnd:N=0 \HAssign\BegEnd:D=0 >>> We use ODT sections for various environements, especially for changed text alignment. These sections are not rendered in some contexts, for example in enumerate items. So we need to have a mechanism to disable them. I don't even think that these sections are usefull at all, as the text alignment in these environments seems to work regardless of the section use. We will print section tags only when BedEnd:X is zero. The following commands increase and decrease this counter. This should handle nesting. \<<< \HAssign\BegEnd:X=0 \def\:DisableSections{\gHAdvance\BegEnd:X by 1} \def\:EnableSections{\gHAdvance\BegEnd:X by -1} >>> We also provide an option to dispable sections completelly. \<<< \:CheckOption{NoSections}\if:Option \HAssign\BegEnd:X=9999% use some really high number \else \Log:Note{To disable use of sections for text alignment environemnts, use the "NoSections" option} \fi >>> \<<< \ifvmode \IgnorePar\fi \EndP \ifnum\BegEnd:X=0% \ifnum \BegEnd:D=0 |% \else |% \fi \gHAdvance\BegEnd:D by 1 \fi >>> \<<< \gHAdvance\BegEnd:D by -1 \ifvmode \IgnorePar\fi\EndP \ifnum\BegEnd:X=0% \ifnum \BegEnd:D=0 |% \else |% \fi \else\par% \fi >>> \<<< \gHAdvance\BegEnd:N by 1 \HCode{% }% >>> \<<< \HCode{}% >>> \<<< \gHAdvance\BegEnd:N by 1 \hbox{\HCode{ }}% >>> \<<< \hbox{\HCode{ }}% >>> \<<< \NewConfigureOO{begin-end-env} \ConfigureOO{begin-end-env}{\Hnewline \Hnewline \Hnewline \Hnewline \Hnewline \Hnewline \Hnewline } >>> The indirect use of paragraphs is due to OpenOffice not recognizing vertical spaces around sections. \begin{verbatim} \Hnewline \Hnewline \Hnewline \end{verbatim} \<<< \NewConfigureOO{env-frame} \ConfigureOO{env-frame}{\Hnewline \Hnewline \Hnewline \Hnewline } >>> \<\><<< style:parent-style-name="EnvFrame" \Hnewline \Hnewline \Hnewline >>> %%%%%%%%%%%%%%%%%%%%%%%%%%%%% \subsection{Quotations} %%%%%%%%%%%%%%%%%%%%%%%%%%%% \<<< \ConfigureEnv{quotation} {|} {|\par\ShowPar \noindent} {\IgnorePar\EndP \bgroup |} {\EndP\IgnorePar \egroup \ShowPar } >>> \<<< \Configure{HtmlPar} {\EndP \HCode{}} {\EndP \HCode{}} {\HCode{}} {\HCode{}}% >>> \<<< \NewConfigureOO{quotation} \ConfigureOO{quotation} {\Hnewline \Hnewline \Hnewline \Hnewline |% } >>> %%%%%%%%%%%%%%%%%%%%%%%%%%%%% \subsection{flush right and left} %%%%%%%%%%%%%%%%%%%%%%%%%%%% \<<< \ConfigureEnv{flushright} {|\HCode{}} {|% \HCode{}|} {} {} \ConfigureList{flushright} {}{}{|\par}{} >>> \<<< \Configure{HtmlPar} {\EndP \HCode{}} {\EndP \HCode{}} {\HCode{}} {\HCode{}}% >>> \<<< \NewConfigureOO{flushright} \ConfigureOO{flushright} {\Hnewline \Hnewline } >>> \<<< \ConfigureEnv{flushleft} {|\HCode{}} {|% \HCode{}\par\ShowPar} {} {} \ConfigureList{flushleft} {}{}{|\par}{} >>> \<<< \Configure{HtmlPar} {\EndP \HCode{}} {\EndP \HCode{}} {\HCode{}} {\HCode{}}% >>> \<<< \NewConfigureOO{flushleft} \ConfigureOO{flushleft} {\Hnewline \Hnewline} >>> %%%%%%%%%%%%%%%%%%%%%%%%%%%%% \subsection{center} %%%%%%%%%%%%%%%%%%%%%%%%%%%% \<<< \ConfigureEnv{center} {|\HCode{}} {|% \HCode{}\par|} {} {} \ConfigureList{center} {}{}{|\par}{} >>> The \verb=\par= at the end of \verb=\ConfigureEnv{center}= is required for cases like the following one. \begin{verbatim} \documentclass[titlepage]{article} \begin{document} \begin{abstract} file. (see below) file. (see below) file. (see below) \end{abstract} \end{document} \end{verbatim} \<<< \Configure{HtmlPar} {\EndP \HCode{}} {\EndP \HCode{}} {\HCode{}} {\HCode{}}% >>> \<<< \NewConfigureOO{center} \ConfigureOO{center} {\Hnewline \Hnewline } >>> %%%%%%%%%%%%%%%%%%%%%%%%%%%%% \subsection{centerline} %%%%%%%%%%%%%%%%%%%%%%%%%%%% \<<< | >>> \<<< | >>> \<<< \Configure{centerline} {\EndP \ifvmode \IgnorePar \fi \HCode{}} {\HCode{}|} \Configure{leftline} {\EndP \ifvmode \IgnorePar \fi \HCode{}} {\HCode{}|} \Configure{rightline} {\EndP \ifvmode \IgnorePar \fi \HCode{}} {\HCode{}|} >>> %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{Sections} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \subsection{Shared} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% THe following protects section titles from side effects, and also is introduced for protecting writeups to tables of contents. \<<< \Configure{NoSection} {\let\sv:index\index \let\sv:label\label \let\sv:newline\newline \def\newline{ }% \let\sv:setfontsize\@setfontsize \let\@setfontsize\:gobbleIII \let\index\@gobble \let\label\@gobble \let\sva:rEfLiNK\a:rEfLiNK \let\svb:rEfLiNK\b:rEfLiNK \let\svc:rEfLiNK\c:rEfLiNK \expandafter\let\expandafter\svC:rEfLiNK\c:rEfLiNK \Configure{ref}{}{}{}% \let\sv:ref\ref \let\ref\@gobble } {\let\index\sv:index \let\label\sv:label \let\a:rEfLiNK\sva:rEfLiNK \let\b:rEfLiNK\svb:rEfLiNK \let\c:rEfLiNK\svc:rEfLiNK \expandafter\let\c:rEfLiNK\svC:rEfLiNK % \let\ref\sv:ref \let\newline\sv:newline \let\@setfontsize\sv:setfontsize } >>> \<<< \Configure{InsertTitle}{\let\label\lb:l \let\ref\o:ref \Configure{ref}{}{}{}} \Configure{AfterTitle}{\let\index\:index \let\ref\:ref \let\label\lb:l } >>> The labels are needed for labels \HPage{nested} \begin{verbatim} \documentclass{article} \begin{document} \section{Introduction} AAA \ref{1111} \section{BBB\label{1111}} \end{document} \end{verbatim} \EndHPage{} within titles. \<<< \ifx \part\:UnDef\else \Configure{part} {\IgnorePar\EndP \HCode{}} {\IgnorePar\EndP \HCode{}} {\HCode{ }\TitleMark\space \HCode{}% \HCode{}} {\HCode{\Hnewline}\par\ShowPar\IgnoreIndent} \ConfigureMark{part}{\partname\space\thepart} \NewConfigureOO{part} \ConfigureOO{part}{\Hnewline \Hnewline \Hnewline \Hnewline } \fi >>> \<<< \def\list:text:level{text:level} \def\text:outlinelevel{text:outline-level} \def\style:tableproperties{style:table-properties } \def\style:sectionproperties{style:section-properties } \def\text:orderedlist{text:list } \def\text:unorderedlist{text:list } >>> \<<< \Configure{chapter} {\IgnorePar\EndP \HCode{|}} {\IgnorePar\EndP \HCode{}} {\HCode{}\TitleMark\space \HCode{}% \HCode{}\IgnoreIndent} {\HCode{\Hnewline}\par\ShowPar} \Configure{likechapter} {\IgnorePar\EndP \HCode{|}} {\IgnorePar\EndP \HCode{}} {\HCode{}\IgnoreIndent} {\HCode{\Hnewline}\par\ShowPar} >>> \<<< \ConfigureMark{chapter} {\chaptername \ \thechapter} >>> \<<< \ConfigureMark{chapter} {\if@mainmatter \chaptername \ \thechapter\fi} >>> \<<< \ConfigureMark{appendix} {\if@mainmatter \appendixname \ \thechapter\fi} \Configure{appendix} {\IgnorePar\EndP \HCode{|}} {\IgnorePar\EndP \HCode{}} {\HCode{}\TitleMark\space \HCode{}% \HCode{}\IgnoreIndent} {\HCode{\Hnewline}\par\ShowPar} >>> \<<< \ConfigureMark{section} {\ifnum \c:secnumdepth>\c@secnumdepth \expandafter\:gobble \else \@seccntformat{section}\fi } \Configure{section} {\IgnorePar\EndP \HCode{}} {\IgnorePar\EndP \HCode{}} {\HCode{}\TitleMark\space \HCode{}\IgnoreIndent} {\HCode{\Hnewline}\par\ShowPar} >>> \<<< \ConfigureMark{subsection} {\ifnum \c:secnumdepth>\c@secnumdepth \expandafter\:gobble \else \@seccntformat{subsection}\fi } \Configure{subsection} {\IgnorePar\EndP \HCode{}} {\IgnorePar\EndP \HCode{}} {\HCode{}\TitleMark\space \HCode{}\IgnoreIndent} {\HCode{\Hnewline}\par\ShowPar} >>> \<<< \ConfigureMark{subsubsection} {\ifnum \c:secnumdepth>\c@secnumdepth \expandafter\:gobble \else \@seccntformat{subsubsection}\fi } \Configure{subsubsection} {\IgnorePar\EndP \HCode{}} {\IgnorePar\EndP \HCode{}} {\HCode{}\TitleMark\space \HCode{}\IgnoreIndent} {\HCode{\Hnewline}\par\ShowPar} >>> \<<< \Configure{likesection} {\IgnorePar\EndP \HCode{}} {\IgnorePar\EndP \HCode{}} {\HCode{}\IgnoreIndent} {\HCode{\Hnewline}\par\ShowPar} \Configure{likesubsection} {\IgnorePar\EndP \HCode{}} {\IgnorePar\EndP \HCode{}} {\HCode{}\IgnoreIndent} {\HCode{\Hnewline}\par\ShowPar} \Configure{likesubsubsection} {\IgnorePar\EndP \HCode{}} {\IgnorePar\EndP \HCode{}} {\HCode{}\IgnoreIndent} {\HCode{\Hnewline}\par\ShowPar} >>> Paragraph configurations \<<< \:DefineParagraph{paragraph}{paragraph-h} \:DefineParagraph{likeparagraph}{paragraph-h} \:DefineParagraph{subparagraph}{subparagraph-h} \:DefineParagraph{likesubparagraph}{subparagraph-h} \:BoldStyle{paragraph-h} \:BoldStyle{subparagraph-h} >>> \<<< \Configure{paragraph} {\IgnorePar\EndP \HCode{}} {\IgnorePar\EndP \HCode{}} {\HCode{}} {\HCode{\Hnewline}\par\ShowPar} \Configure{subparagraph} {\IgnorePar\EndP \HCode{}} {\IgnorePar\EndP \HCode{}} {\HCode{}} {\HCode{\Hnewline}\par\ShowPar} >>> \<<< \Configure{TocAt}{}{} \Configure{TocAt*}{}{} >>> A configuration `\verb!\Configure{Heading-1}{Heading 1}!' will provide the default setting of OpenOffice. It might be a more desirable for translations into MS Word. \<<< \NewConfigure{Heading-1}{1} \Configure{Heading-1}{Heading-1} \NewConfigureOO{Heading-1} \ConfigureOO{Heading-1}{\Hnewline \Hnewline \Hnewline | } >>> \<<< \NewConfigure{Heading-2}{1} \Configure{Heading-2}{Heading-2} \NewConfigureOO{Heading-2} \ConfigureOO{Heading-2}{\Hnewline \Hnewline \Hnewline | } >>> \<<< \NewConfigure{Heading-3}{1} \Configure{Heading-3}{Heading-3} \NewConfigureOO{Heading-3} \ConfigureOO{Heading-3}{\Hnewline \Hnewline \Hnewline |} >>> \<<< \NewConfigure{Heading-4}{1} \Configure{Heading-4}{Heading-4} \NewConfigureOO{Heading-4} \ConfigureOO{Heading-4}{\Hnewline \Hnewline \Hnewline |} >>> \<<< \NewConfigure{Heading-5}{1} \Configure{Heading-5}{Heading-5} \NewConfigureOO{Heading-5} \ConfigureOO{Heading-5}{\Hnewline \Hnewline \Hnewline |} >>> \<<< \NewConfigure{Heading-6}{1} \Configure{Heading-6}{Heading-6} \NewConfigureOO{Heading-6} \ConfigureOO{Heading-6}{\Hnewline \Hnewline \Hnewline |} >>> \<<< \NewConfigure{Heading-7}{1} \Configure{Heading-7}{Heading-7} \NewConfigureOO{Heading-7} \ConfigureOO{Heading-7}{\Hnewline \Hnewline \Hnewline |} >>> \<<< \NewConfigure{Heading-8}{1} \Configure{Heading-8}{Heading-8} \NewConfigureOO{Heading-8} \ConfigureOO{Heading-8}{\Hnewline \Hnewline \Hnewline |} >>> \<<< \NewConfigure{Heading-9}{1} \Configure{Heading-9}{Heading-9} \NewConfigureOO{Heading-9} \ConfigureOO{Heading-9}{\Hnewline \Hnewline \Hnewline |} >>> \<<< \NewConfigure{Heading-10}{1} \Configure{Heading-10}{Heading-10} \NewConfigureOO{Heading-10} \ConfigureOO{Heading-10}{\Hnewline \Hnewline \Hnewline |} >>> %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \subsection{Scr} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \<<< \ConfigureMark{chapter} {\if@mainmatter \thechapter.~~\fi} >>> \<<< \ConfigureMark{chapter}{\thechapter~~} >>> \<<< \Configure{chapter} {\IgnorePar\EndP \HCode{|}} {\IgnorePar\EndP \HCode{}} {\HCode{}\TitleMark\space \HCode{}\IgnoreIndent} {\HCode{\Hnewline}\par\ShowPar} \Configure{likechapter} {\IgnorePar\EndP \HCode{|}} {\IgnorePar\EndP \HCode{}} {\HCode{}\IgnoreIndent} {\HCode{\Hnewline}\par\ShowPar} \Configure{addchap} {\IgnorePar\EndP \HCode{|}} {\IgnorePar\EndP \HCode{}} {\HCode{}\IgnoreIndent} {\HCode{\Hnewline}\par\ShowPar} >>> \<<< \ConfigureMark{section} {\ifnum \c:secnumdepth>\c@secnumdepth \expandafter\:gobble \else \thesection\space\fi } \Configure{section} {\IgnorePar\EndP \HCode{}} {\IgnorePar\EndP \HCode{}} {\HCode{}\TitleMark\space \HCode{}\IgnoreIndent} {\HCode{\Hnewline}\par\ShowPar} >>> \<<< \ConfigureMark{subsection} {\ifnum \c:secnumdepth>\c@secnumdepth \expandafter\:gobble \else \thesubsection\space\fi } \Configure{subsection} {\IgnorePar\EndP \HCode{}} {\IgnorePar\EndP \HCode{}} {\HCode{}\TitleMark\space \HCode{}\IgnoreIndent} {\HCode{\Hnewline}\par\ShowPar} >>> \<<< \Configure{likesection} {\IgnorePar\EndP \HCode{}} {\IgnorePar\EndP \HCode{}} {\HCode{}\IgnoreIndent} {\HCode{\Hnewline}\par\ShowPar} \Configure{likesubsection} {\IgnorePar\EndP \HCode{}} {\IgnorePar\EndP \HCode{}} {\HCode{}\IgnoreIndent} {\HCode{\Hnewline}\par\ShowPar} \Configure{likesubsubsection} {\IgnorePar\EndP \HCode{}} {\IgnorePar\EndP \HCode{}} {\HCode{}\IgnoreIndent} {\HCode{\Hnewline}\par\ShowPar} >>> \<<< \ConfigureMark{subsubsection} {\ifnum \c:secnumdepth>\c@secnumdepth \expandafter\:gobble \else \@seccntformat{subsubsection}\fi } \Configure{subsubsection} {\IgnorePar\EndP \HCode{}} {\IgnorePar\EndP \HCode{}} {\HCode{}\TitleMark\space \HCode{}\IgnoreIndent} {\HCode{\Hnewline}\par\ShowPar} % use the new mechanism for paragraph handling \:DefineParagraph{paragraph}{paragraph-h} \:DefineParagraph{likeparagraph}{paragraph-h} \:DefineParagraph{subparagraph}{subparagraph-h} \:DefineParagraph{likesubparagraph}{subparagraph-h} \:BoldStyle{paragraph-h} \:BoldStyle{subparagraph-h} >>> \<<< \Configure{endlikeparagraph} {paragraph,subsubsection,likesubsubsection,subsection,% likesubsection,section,% likesection,chapter,likechapter,addchap,appendix,part,likepart} \Configure{endsubparagraph} {likesubparagraph,likeparagraph,subsubsection,likesubsubsection,% subsection,likesubsection,section,% likesection,chapter,likechapter,addchap,appendix,part,likepart} \Configure{endlikesubparagraph} {subparagraph,likeparagraph,subsubsection,likesubsubsection,% subsection,likesubsection,section,% likesection,chapter,likechapter,addchap,appendix,part,likepart} \Configure{endsection} {likesection,chapter,likechapter,addchap,appendix,part,likepart} \Configure{endlikesection} {section,chapter,likechapter,addchap,appendix,part,likepart} \Configure{endsubsection} {likesubsection,section,likesection,chapter,% likechapter,addchap,appendix,part,likepart} \Configure{endlikesubsection} {subsection,section,likesection,chapter,% likechapter,addchap,appendix,part,likepart} \Configure{endsubsubsection} {likesubsubsection,subsection,likesubsection,section,% likesection,chapter,likechapter,addchap,appendix,part,likepart} \Configure{endlikesubsubsection} {subsubsection,subsection,likesubsection,section,% likesection,chapter,likechapter,addchap,appendix,part,likepart} \Configure{endparagraph} {likeparagraph,subsubsection,likesubsubsection,subsection,% likesubsection,section,% likesection,chapter,likechapter,addchap,appendix,part,likepart} >>> %%%%%%%%%%%%% \subsection{alphanum} %%%%%%%%%%%%% \<<< \bgroup \let\ifx=\relax \let\:temp=\relax \let\:tempa=\expandafter \let\expandafter=\relax \let\:TableOfContents=\relax \let\else=\relax \let\if=\relax \let\fi=\relax \def\Auto:ent#1{\noexpand\Auto:ent{#1,toclvla,liketoclvla,toclvlb,% liketoclvlb,toclvlc,liketoclvlc,toclvld,liketoclvld,toclvle,% liketoclvle,toclvlf,liketoclvlf,toclvlg,liketoclvlg,toclvlh,% liketoclvlh,toclvli,liketoclvli,toclvlj,% liketoclvlj,toclvlk,liketoclvlk,toclvll,liketoclvll}} \edef\:TOC{\def\noexpand\:TOC{\:TOC}} \:tempa \egroup \:TOC >>> \<<< \ConfigureToc{chapter} {\HCode{}} { \HCode{}} {} {\HCode{}} >>> \<<< \def\:tempc#1#2#3#4{% \ConfigureMark{toclvl#1} {\HCode{}\csname thelvl#1\endcsname \HCode{}}% \Configure{toclvl#1} {}{} {\ifvmode \IgnorePar\fi \EndP\IgnorePar \HCode{}\TitleMark\space\HtmlParOff} {\HCode{}\HtmlParOn \ShowPar\IgnoreIndent \par}% \ConfigurToc{toclvl#1} {\HCode{}% |% \def\:temp{\J@INumberRoot{#2}{\tmp:cnt}}% \afterassignment\:temp \tmp:cnt} {#3\HCode{}} {} {\HCode{}}% \ConfigureToc{liketoclvl#1} {\HCode{}% |% \def\:temp{\J@INumberRoot{#2}{\tmp:cnt}}% \afterassignment\:temp \tmp:cnt} {#3\HCode{}} {} {\HCode{}}% } \:tempc a1{.}{3} \:tempc b2{.}{4} \:tempc c3{.}{5} \:tempc d4{)}{5} \:tempc e5{)}{5} \:tempc f6{)}{5} \:tempc g7{)}{5} \:tempc h8{)}{5} \:tempc i9{)}{5} \:tempc j{10}{)}{5} \:tempc k{11}{)}{5} \:tempc l{12}{)}{5} >>> \<<< \tmp:cnt=0 \loop \advance\tmp:cnt by 1 \ifnum \tmp:cnt<#2 ~~\repeat >>> %%%%%%%%%%%%% \subsection{amsart} %%%%%%%%%%%%% \<<< \ConfigureMark{section} {\ifnum \c:secnumdepth>\c@secnumdepth \expandafter\:gobble \else \@seccntformat{section}\fi } \Configure{section} {\IgnorePar\EndP \HCode{}} {\IgnorePar\EndP \HCode{}} {\HCode{}\TitleMark\space \HCode{}\IgnoreIndent} {\HCode{\Hnewline}\par\ShowPar} >>> \<<< \ConfigureMark{subsection} {\ifnum \c:secnumdepth>\c@secnumdepth \expandafter\:gobble \else \@seccntformat{subsection}\fi } \Configure{subsection} {\IgnorePar\EndP \HCode{}} {\IgnorePar\EndP \HCode{}} {\HCode{}\TitleMark\space \HCode{}\IgnoreIndent} {\HCode{\Hnewline}\par\ShowPar} >>> \<<< \ConfigureMark{subsubsection} {\ifnum \c:secnumdepth>\c@secnumdepth \expandafter\:gobble \else \@seccntformat{subsubsection}\fi } \Configure{subsubsection} {\IgnorePar\EndP \HCode{}} {\IgnorePar\EndP \HCode{}} {\HCode{}\TitleMark\space \HCode{}\IgnoreIndent} {\HCode{\Hnewline}\par\ShowPar} >>> \<<< \Configure{paragraph} {\IgnorePar\EndP \HCode{}} {\IgnorePar\EndP \HCode{}} {\HCode{}} {\HCode{\Hnewline}\par\ShowPar} \Configure{subparagraph} {\IgnorePar\EndP \HCode{}} {\IgnorePar\EndP \HCode{}} {\HCode{}} {\HCode{\Hnewline}\par\ShowPar} >>> %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{Tables Of Contents} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \subsection{Entries} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \<<< \ConfigureToc{part} {\HCode{}} { \HCode{}} {} {\HCode{}} \ConfigureToc{likepart} {\HCode{}} { \HCode{}} {} {\HCode{}} \ConfigureToc{section} {\HCode{}} { \HCode{}} {} {\HCode{}} \ConfigureToc{likesection} {\HCode{}} { \HCode{}} {} {\HCode{}} \ConfigureToc{subsection} {\HCode{}} { \HCode{}} {} {\HCode{}} \ConfigureToc{likesubsection} {\HCode{}} { \HCode{}} {} {\HCode{}} \ConfigureToc{subsubsection} {\HCode{}} { \HCode{}} {} {\HCode{}} \ConfigureToc{likesubsubsection} {\HCode{}} { \HCode{}} {} {\HCode{}} >>> \<<< \ConfigureToc{chapter} {\HCode{}% \ifx \chaptername\:UnDef\else \chaptername~\fi} { \HCode{}} {} {\HCode{}} \ConfigureToc{likechapter} {\HCode{}} { \HCode{}} {} {\HCode{}} \ConfigureToc{appendix} {\HCode{}} { \HCode{}} {} {\HCode{}} >>> \<<< \ConfigureToc{part} {\HCode{}} { \HCode{}} {} {\HCode{}} \ConfigureToc{likepart} {\HCode{}} { \HCode{}} {} {\HCode{}} \ConfigureToc{section} {\HCode{}} { \HCode{}} {} {\HCode{}} \ConfigureToc{likesection} {\HCode{}} { \HCode{}} {} {\HCode{}} \ConfigureToc{subsection} {\HCode{}} { \HCode{}} {} {\HCode{}} \ConfigureToc{likesubsection} {\HCode{}} { \HCode{}} {} {\HCode{}} \ConfigureToc{subsubsection} {\HCode{}} { \HCode{}} {} {\HCode{}} \ConfigureToc{likesubsubsection} {\HCode{}} { \HCode{}} {} {\HCode{}} >>> \verb++ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \subsection{Content.xml Styles} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Why we need the following in content.xml instead of styles.xml \<<< \Hnewline \Hnewline \Hnewline \Hnewline \Hnewline \Hnewline \Hnewline \Hnewline >>> \<<< \Hnewline \Hnewline \Hnewline \Hnewline \Hnewline \Hnewline \Hnewline \Hnewline >>> \<<< \Hnewline \Hnewline \Hnewline \Hnewline \Hnewline \Hnewline \Hnewline \Hnewline \Hnewline >>> \<<< \Hnewline \Hnewline \Hnewline \Hnewline \Hnewline \Hnewline \Hnewline \Hnewline >>> \<<< \Hnewline \Hnewline \Hnewline \Hnewline \Hnewline \Hnewline \Hnewline \Hnewline >>> %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \subsection{Style.xml Styles} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \<<< \NewConfigureOO{Contents 1} \ConfigureOO{Contents 1}{\Hnewline \Hnewline \Hnewline \Hnewline \Hnewline \Hnewline \Hnewline \Hnewline } >>> \<<< \NewConfigureOO{Contents 2} \ConfigureOO{Contents 2}{\Hnewline \Hnewline} >>> \<<< \NewConfigureOO{Contents 3} \ConfigureOO{Contents 3}{\Hnewline \Hnewline} >>> \<<< \NewConfigureOO{Contents 4} \ConfigureOO{Contents 4}{\Hnewline \Hnewline \Hnewline \Hnewline \Hnewline \Hnewline \Hnewline} >>> \<<< \NewConfigureOO{Contents 5} \ConfigureOO{Contents 5}{\Hnewline \Hnewline \Hnewline \Hnewline \Hnewline \Hnewline \Hnewline \Hnewline} >>> %%%%%%%%%%%%% \subsection{Toc Style Outline} %%%%%%%%%%%%% \<<< \def\index:entry:chapter{text:index-entry-chapter} >>> \<<< \Hnewline <\index:entry:chapter />\Hnewline \Hnewline \Hnewline \Hnewline \Hnewline >>> \<<< \Hnewline <\index:entry:chapter />\Hnewline \Hnewline \Hnewline \Hnewline \Hnewline >>> \<<< \Hnewline <\index:entry:chapter />\Hnewline \Hnewline \Hnewline \Hnewline \Hnewline >>> \<<< \Hnewline <\index:entry:chapter />\Hnewline \Hnewline \Hnewline \Hnewline \Hnewline >>> \<<< \Hnewline <\index:entry:chapter />\Hnewline \Hnewline \Hnewline \Hnewline \Hnewline >>> \<<< \Hnewline <\index:entry:chapter />\Hnewline \Hnewline \Hnewline \Hnewline \Hnewline >>> \<<< \Hnewline <\index:entry:chapter />\Hnewline \Hnewline \Hnewline \Hnewline \Hnewline >>> \<<< \Hnewline <\index:entry:chapter />\Hnewline \Hnewline \Hnewline \Hnewline \Hnewline >>> \<<< \Hnewline <\index:entry:chapter />\Hnewline \Hnewline \Hnewline \Hnewline \Hnewline >>> \<<< \Hnewline <\index:entry:chapter />\Hnewline \Hnewline \Hnewline \Hnewline \Hnewline >>> %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \subsection{SCR Entries} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \<<< \ConfigureToc{chapter} {\HCode{}} { \HCode{}} {} {\HCode{}} \ConfigureToc{addchap} {} {\HCode{}} {} {\HCode{}} >>> %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \subsection{Links} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \<<< \:CheckOption{TocLink}\if:Option \Configure{TocLink}{\Link{#2}{#3}#4\ifvmode\IgnorePar\fi\EndLink} \else \Log:Note{to request links from the tables of contents, use the command line option from `TocLink'} \Configure{TocLink}{\Link{#2}{#3}\EndLink#4\ifvmode\IgnorePar\fi} \fi \Configure{toTocLink}{\Link}{\EndLink} >>> %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \subsection{Envelop} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \<<< \Configure{tableofcontents} {\IgnorePar\EndP\HCode{|}\IgnorePar} {} {\IgnorePar\EndP\HCode{|}\ShowPar} {\HCode{\Hnewline}} {} >>> \<<< \Hnewline \Hnewline |% \Hnewline \Hnewline \ifx\contentsname\empty \else \ifx\contentsname\:UnDef \else \contentsname \fi \fi >>> \<<< \NewConfigureOO{Sect1} \ConfigureOO{Sect1}{\Hnewline <\style:sectionproperties> \Hnewline } >>> \<<< \NewConfigureOO{Sect2} \ConfigureOO{Sect2}{\Hnewline <\style:sectionproperties> \Hnewline } >>> \<<< \NewConfigureOO{Contents Heading} \ConfigureOO{Contents Heading}{\Hnewline \Hnewline } >>> \<<< \def\tableofcontents{\:tableofcontents} >>> \<<< \def\tableofcontents{\:tableofcontents} >>> \<<< \def\tableofcontents{\:tableofcontents} >>> \<<< \def\tableofcontents{\:tableofcontents} >>> \<<< \def\tableofcontents{\:tableofcontents} >>> \<<< \def\tableofcontents{\:tableofcontents} >>> \<<< \def\tableofcontents{\:tableofcontents} >>> \<<< \def\tableofcontents{\:tableofcontents} >>> \<<< 6>>> \<<< \Hnewline % \Hnewline >>> \<<< \contentsname \Hnewline |% |% |% |% |% |% |% |% |% |% >>> \<<< |% |% |% |% |% |% |% |% >>> \<<< |% |% |% |% |% |% |% |% >>> %%%%%%%%%%%%% \subsection{Tables of Figures} %%%%%%%%%%%%% \<<< \Configure{listoffigures} {\let\contentsname\listfigurename \let\listfigurename\empty} {} \Configure{listoftables} {\let\contentsname\listtablename \let\listtablename\empty} {} \ConfigureToc{lof} {\HCode{}}{\ }{}% {\HCode{}} \ConfigureToc{lot} {\HCode{}}{\ }{}% {\HCode{}} >>> %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{Tabular} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \subsection{Examples} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% General Format: \begin{verbatim} ... ... .... ..... \end{verbatim} May include subtables \begin{verbatim} ....... \end{verbatim} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \subsection{The External Envelope} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \<<< | >>> \<<< \ConfigureEnv{tabular} {|% \IgnorePar|\EndP |% \ifnum \BegEnd:D>0 |% \fi \gHAdvance\BegEnd:D by 1 \bgroup |% } {\egroup \gHAdvance\BegEnd:D by -1 \ifnum \BegEnd:D>0 |% \fi |\ShowPar |% |% }{}{} >>> \<<< \ConfigureEnv{tabularx} {|% \IgnorePar|\EndP |% } {|\ShowPar |% |% }{}{} >>> \<<< \Configure{tabular} {\ifvmode \IgnorePar\fi \EndP \halignTB{tabular}% |% } {|\HCode{}} {|% \HCode{% table:style-name="TBL-\TableNo-\HRow-}% |\HCode{">}} {\HCode{}|% } {\HCode{% \HCode{ table:style-name="TBL-\TableNo-\HRow-\HCol">}% ||} {||% |\HCode{}} >>> \<<< \ifTag{vis-\TableNo-\HRow}% {\special{t4ht@[}\gdef\end:box{\special{t4ht@]}}}% {\global\let\end:box\empty}% >>> \<<< \end:box >>> \<<< \ifTag{vis-\TableNo-\HRow}{table:visibility="collapse" }{} >>> \<<< \Configure{endtabular} {\Tag{vis-\TableNo-\HRow}{}} >>> \<<< \def\:MT{\ifmathml \a:mathml m\else table:\fi} \Configure{halignTB} {\HCode{<\:MT table }} {\HCode{>}} >>> \<<< \Configure{noalign}% {\f:tabular\d:tabular \HCode{}} {\HCode{}\pend:def\TableNo{0}\c:tabular\e:tabular}% >>> \<<< \Configure{noalign}{}{}% >>> \<<< \Configure{halignTB<>}{tabular}{\HCode{\Hnewline table:style-name="tabular" }<>\HAlign} >>> For some reason, the following doesn't have effect at the office tyles section \<<< \Hnewline \Hnewline \Hnewline >>> \<<< \ifvmode\else\HCode{}\fi >>> \<<< \HAssign\Next:TableNo=0 \global\let\TableNo=\Next:TableNo >>> \<<< \gHAdvance\Next:TableNo by 1 \global\let\TableNo=\Next:TableNo >>> \<<< \PushStack\Table:Stck\TableNo >>> \<<< \PopStack\Table:Stck\TableNo >>> \<<< \Configure{HtmlPar} {\EndP \HCode{}} {\EndP \HCode{}} {\HCode{}} {\HCode{}} >>> %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \subsection{Description of Columns} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% The variable \verb+\NewGroup+ is introduced to record the index of entry in current group. \<<< | \Configure{VBorder} {\HAssign\NewGroup = 0 |% |% } {|\HAssign\NewGroup = 0 } {\Advance:\NewGroup by 1 |% } {|} >>> \<<< | \Configure{VBorder} {\HAssign\NewGroup = 0 |% |% } {|\HAssign\NewGroup = 0 } {\Advance:\NewGroup by 1 |% } {|} >>> \<<< \let\VBorder=\empty \let\AllColMargins=\empty \Configure{VBorder} {\let\VBorder=\empty \let\AllColMargins=\empty \global\let\GROUPS=\empty \HAssign\NewGroup = 0 \gHAdvance\Next:TableNo by 1 \global\let\TableNo=\Next:TableNo |% } {|% \xdef\VBorder{\VBorder\ifnum \NewGroup> 0 \fi} \HAssign\NewGroup = 0 \gdef\GROUPS{rules="groups"}} {\Advance:\NewGroup by 1 |% \ifnum \NewGroup=1 \xdef\VBorder{\VBorder}\fi \xdef\VBorder{\VBorder}\xdef\AllColMargins{\AllColMargins1}} {\xdef\AllColMargins{\AllColMargins 0}} >>> \<<< \expandafter\tmp:toks\expandafter{\Clr}% \HCode{}% >>> The above doesn't work, for instance on `\verb+|r||r@{--}l|p{1.25in}|+' due to thge extra \verb+--+.. \<<< \Configure{@{}}{} >>> \<<< \halignTR >>> \<<< \Configure{halignTR} {} \Configure{halignTBL} % {t}{\HCode{valign-top}} % {b}{\HCode{valign-baseline}} % {c}{\HCode{valign-middle}} {} >>> I am not sure what the following code wants to achieve. It doesn't start a element if the token returned from halignTD is empty. It was empty in the case of "p" table preamble token, but this led to issues with multirows. See \Link[https://tex.stackexchange.com/q/707918/2891]{}{}this example\EndLink. \<<< |\if !\Aligh:Wrap!\let\not:Pcell=\:gobble \else \let\not:Pcell\empty \fi \not:Pcell{\HCode{}}% |% >>> \