summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/generic/tex4ht/context.4ht
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2006-01-12 23:46:03 +0000
committerKarl Berry <karl@freefriends.org>2006-01-12 23:46:03 +0000
commit873660d1a83ece926fe7206288dda9c36b349c1b (patch)
treea48f77125c309a355b5d0eb58d6b24446abe9d62 /Master/texmf-dist/tex/generic/tex4ht/context.4ht
parent2939242967231097459df0fc3150fabc2f639111 (diff)
generic 1
git-svn-id: svn://tug.org/texlive/trunk@613 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/generic/tex4ht/context.4ht')
-rw-r--r--Master/texmf-dist/tex/generic/tex4ht/context.4ht757
1 files changed, 757 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/generic/tex4ht/context.4ht b/Master/texmf-dist/tex/generic/tex4ht/context.4ht
new file mode 100644
index 00000000000..cc0d750c0f4
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/tex4ht/context.4ht
@@ -0,0 +1,757 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% context.4ht 2005-10-23-04:19 %
+% Copyright (C) 2004--2005 Eitan M. Gurari %
+% %
+% This work may be distributed and/or modified under the %
+% conditions of the LaTeX Project Public License, either %
+% version 1.3 of this license or (at your option) any %
+% later version. The latest version of this license is %
+% in %
+% http://www.latex-project.org/lppl.txt %
+% and version 1.3 or later is part of all distributions %
+% of LaTeX version 2003/12/01 or later. %
+% %
+% This work has the LPPL maintenance status "maintained".%
+% %
+% This Current Maintainer of this work %
+% is Eitan M. Gurari. %
+% %
+% If you modify this program your changing its signature %
+% with a directive of the following form will be %
+% appreciated. %
+% \message{signature} %
+% %
+% gurari@cse.ohio-state.edu %
+% http://www.cse.ohio-state.edu/~gurari %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\immediate\write-1{version 2005-10-23-04:19}
+
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\def\putVBorder{\expandafter\put:VBorder\VBorder</>!*?: }
+\def\put:VBorder#1</#2>#3!*?: {\def\:temp{#2}\ifx\:temp\empty
+ \HCode{\VBorder}%
+ \def\:temp{#1}\ifx\:temp\empty \else\HCode{</colgroup>}\fi
+ \HCode{<colgroup><col/></colgroup>}%
+ \else \def\:temp{\put:VBorder#3!*?: }\expandafter\:temp\fi
+}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\catcode`\!=11
+\catcode`\?=11
+ \def\get:curName#1{%
+ \ifx \last:Attributes\empty
+ \let\cur:Name\empty
+ \else
+ \bgroup
+ \let#1=\empty
+ \edef\:temp{\def\noexpand\:temp{\last:Attributes}}%
+ \expandafter
+ \egroup\:temp
+ \edef\:tempa{\last:Attributes}%
+ \edef\cur:Name{\ifx\:temp\:tempa\else\:temp\fi}%
+ \fi }
+\let\last:Attributes=\empty
+\def\verify:config#1#2{%
+ \expandafter\ifx \csname c:#1:\endcsname\relax
+ \expandafter\ifx \csname c:#2:\endcsname\relax
+ \:warning{adding null \string\NewConfigure{#1}{2}}%
+ \expandafter\def\csname c:#1:\endcsname##1##2{}%
+ \else
+ \:warning{adding \string\NewConfigure{#1}{2}
+ to equal \string\Configure{#2}{...}{...}}%
+ \edef\:temp{\noexpand\NewConfigure{#1}[2]{%
+ \gdef\expandafter\noexpand\csname
+ a:#1\endcsname{\expandafter
+ \noexpand\csname a:#2\endcsname}%
+ \gdef\expandafter\noexpand\csname
+ b:#1\endcsname{\expandafter
+ \noexpand\csname b:#2\endcsname}%
+ }}\:temp
+ \Configure{#1}{}{}%
+ \global\expandafter\let \csname c:#1:\expandafter
+ \endcsname \csname c:#1:\endcsname
+ \fi
+ \fi
+}
+\def\verify:configIII#1#2{%
+ \expandafter\ifx \csname c:#1:\endcsname\relax
+ \expandafter\ifx \csname c:#2:\endcsname\relax
+ \:warning{adding null \string\NewConfigure{#1}{3}}%
+ \expandafter\def\csname c:#1:\endcsname##1##2##3{}%
+ \else
+ \:warning{adding \string\NewConfigure{#1}{3}
+ to equal \string\Configure{#2}{...}{...}{...}}%
+ \edef\:temp{\noexpand\NewConfigure{#1}[3]{%
+ \gdef\expandafter\noexpand\csname
+ a:#1\endcsname{\expandafter
+ \noexpand\csname a:#2\endcsname}%
+ \gdef\expandafter\noexpand\csname
+ b:#1\endcsname{\expandafter
+ \noexpand\csname b:#2\endcsname}%
+ \gdef\expandafter\noexpand\csname
+ c:#1\endcsname{\expandafter
+ \noexpand\csname c:#2\endcsname}%
+ }}\:temp
+ \Configure{#1}{}{}{}%
+ \global\expandafter\let \csname c:#1:\expandafter
+ \endcsname \csname c:#1:\endcsname
+ \fi
+ \fi
+}
+\def\verify:configIV#1#2{%
+ \expandafter\ifx \csname c:#1:\endcsname\relax
+ \expandafter\ifx \csname c:#2:\endcsname\relax
+ \:warning{adding null \string\NewConfigure{#1}{4}}%
+ \expandafter\def\csname c:#1:\endcsname##1##2##3##4{}%
+ \else
+ \:warning{adding \string\NewConfigure{#1}{4}
+ to equal \string\Configure{#2}{...}{...}{...}{...}}%
+ \edef\:temp{\noexpand\NewConfigure{#1}[4]{%
+ \gdef\expandafter\noexpand\csname
+ a:#1\endcsname{\expandafter
+ \noexpand\csname a:#2\endcsname}%
+ \gdef\expandafter\noexpand\csname
+ b:#1\endcsname{\expandafter
+ \noexpand\csname b:#2\endcsname}%
+ \gdef\expandafter\noexpand\csname
+ c:#1\endcsname{\expandafter
+ \noexpand\csname c:#2\endcsname}%
+ \gdef\expandafter\noexpand\csname
+ d:#1\endcsname{\expandafter
+ \noexpand\csname d:#2\endcsname}%
+ }}\:temp
+ \Configure{#1}{}{}{}{}%
+ \global\expandafter\let \csname c:#1:\expandafter
+ \endcsname \csname c:#1:\endcsname
+ \fi
+ \fi
+}
+
+ \headertextcontent={}
+\footertextcontent={}
+
+ \let\:doplaatskopnummertekst=\doplaatskopnummertekst
+\def\doplaatskopnummertekst#1#2#3#4#5{%
+ \expandafter\ifx \csname teskt:#1\endcsname\relax
+ \plaatskop:warning{#1}%
+ \else
+ \expandafter\let\expandafter\:tekstcommando
+ \csname \??ko #1\c!tekstcommando\endcsname
+\expandafter\let\csname \??ko #1\c!tekstcommando
+ \expandafter\endcsname \csname teskt:#1\endcsname
+\expandafter\let\expandafter\:nummercommando
+ \csname \??ko #1\c!nummercommando\endcsname
+\expandafter\let\csname \??ko #1\c!nummercommando\endcsname
+ \:gobble
+\ifdisplaysectionhead
+ \def\if:displaysectionhead{\displaysectionheadtrue}%
+ \displaysectionheadfalse
+\else
+ \def\if:displaysectionhead{\displaysectionheadfalse}%
+\fi
+%
+ \fi
+ \:doplaatskopnummertekst{#1}{#2}{#3}{#4}{#5}%
+ \expandafter\ifx \csname teskt:#1\endcsname\relax \else
+ \expandafter\let\csname \??ko #1\c!tekstcommando\endcsname
+ \:tekstcommando
+\expandafter\let\csname \??ko #1\c!nummercommando\endcsname
+ \:nummercommando
+\if:displaysectionhead
+%
+ \fi
+}
+\def\plaatskop:warning#1{\expandafter
+ \ifx \csname warn:#1\endcsname\relax
+ \:warning{Unconfigured `#1'}%
+ \expandafter\let\csname warn:#1\endcsname=\def
+ \fi }
+\def\:tmp#1{%
+ \let\:tempb=#1%
+ \Def:Section#1{\finalsectionnumber}{##1}%
+ \expandafter\let
+ \csname teskt:\expandafter\:gobble\string #1\endcsname=#1%
+ \let#1=\:tempb}
+\def\:tempd#1{\edef\:temp{#1}%
+ \expandafter\:tmp\csname \:temp\endcsname}
+\:tempd{\v!hoofdstuk
+}
+\:tempd{\v!paragraaf
+}
+\:tempd{\v!sub \v!paragraaf
+}
+\:tempd{\v!sub \v!sub \v!paragraaf
+}
+\:tempd{\v!sub \v!sub \v!sub \v!paragraaf
+}
+\:tempd{\v!sub \v!sub \v!sub \v!sub \v!paragraaf
+}
+\def\:tempc#1#2#3#4{%
+\ifverhoognummer
+ \ifplaatskop
+ \ifkopnummer \else
+ \expandafter\ifx
+ \csname teskt:\v!sub \v!paragraaf\endcsname\relax
+ \:warning{Sectioning \expandafter\string
+ \csname \v!sub \v!paragraaf\endcsname ?}%
+ \else
+ \let\sv:endheadplacement\endheadplacement
+ \def\endheadplacement##1##2{%
+ \global\let\endheadplacement\sv:endheadplacement
+ \setbox0=\hbox{}\endheadplacement{#1}{#4}%
+ \def\finalsectionnumber{}%
+ \csname teskt:\v!sub \v!paragraaf\endcsname{#3}%
+ }%
+\fi\fi\fi\fi
+\o:doplaatskoptekst:{#1}{#2}{#3}{#4}%
+}
+\HLet\doplaatskoptekst\:tempc
+
+ \NewConfigure{layout}{2}
+\NewConfigure{sectie}{2}
+\NewConfigure{context-attr}{2}
+\NewConfigure{startstop}{2}
+
+ \def\:tempc[#1]{%
+ \o:complexstartsmaller:[#1]%
+ \a:narrower\bgroup\aftergroup\b:narrower\aftergroup\egroup}
+\HLet\complexstartsmaller\:tempc
+\NewConfigure{narrower}{2}
+\def\:tempc#1#2{%
+ \ifx #1\hss
+ \ifx #2\hss\a:midaligned \bgroup \aftergroup \b:midaligned
+ \else \a:rightaligned \bgroup \aftergroup \b:rightaligned
+ \fi
+ \else \a:leftaligned \bgroup \aftergroup \b:leftaligned
+ \fi
+ \let\:temp\bgroup \def\bgroup{\let\bgroup=\:temp}%
+ \o:doalignline:{#1}{#2}}
+\HLet\doalignline\:tempc
+\NewConfigure{midaligned}{2}
+\NewConfigure{leftaligned}{2}
+\NewConfigure{rightaligned}{2}
+\def\:tempc#1{%
+ \def\last:Attributes{#1}%
+ \ifx \last:Attributes\empty
+ \else
+ \get:curName\??be \ifx \cur:Name\empty
+ \get:curName\??li \ifx \cur:Name\empty
+ \get:curName\??ly \ifx \cur:Name\empty
+ \get:curName\??ko \ifx \cur:Name\empty
+ \edef\cur:Name{\cur:Name -\last:Attributes}%
+\verify:config\cur:Name{context-attr}%
+\csname a:\cur:Name\endcsname
+\def\:tempc{\o:@@nostopattributes: \csname b:\cur:Name\endcsname}%
+\HLet\@@nostopattributes\:tempc
+\def\:tempc{\o:@@dostopattributes: \csname b:\cur:Name\endcsname}%
+\HLet\@@dostopattributes\:tempc
+%
+ \else
+ \edef\cur:Name{\cur:Name -ko}%
+\verify:config\cur:Name{sectie}%
+\csname a:\cur:Name\endcsname
+\def\:tempc{\o:@@nostopattributes: \csname b:\cur:Name\endcsname}%
+\HLet\@@nostopattributes\:tempc
+\def\:tempc{\o:@@dostopattributes: \csname b:\cur:Name\endcsname}%
+\HLet\@@dostopattributes\:tempc
+%
+ \fi
+ \else
+ \edef\cur:Name{\cur:Name -ly}%
+\verify:config\cur:Name{layout}%
+\csname a:\cur:Name\endcsname
+\def\:tempc{\o:@@nostopattributes: \csname b:\cur:Name\endcsname}%
+\HLet\@@nostopattributes\:tempc
+\def\:tempc{\o:@@dostopattributes: \csname b:\cur:Name\endcsname}%
+\HLet\@@dostopattributes\:tempc
+%
+ \fi
+ \else
+ \edef\cur:Name{\cur:Name -li}%
+\verify:config\cur:Name{listelement}%
+\csname a:\cur:Name\endcsname
+\def\:tempc{\o:@@nostopattributes: \csname b:\cur:Name\endcsname}%
+\HLet\@@nostopattributes\:tempc
+\def\:tempc{\o:@@dostopattributes: \csname b:\cur:Name\endcsname}%
+\HLet\@@dostopattributes\:tempc
+%
+ \fi
+\else
+ \verify:config\cur:Name{startstop}%
+\csname a:\cur:Name\endcsname
+\def\:tempc{\o:@@nostopattributes: \csname b:\cur:Name\endcsname}%
+\HLet\@@nostopattributes\:tempc
+\def\:tempc{\o:@@dostopattributes: \csname b:\cur:Name\endcsname}%
+\HLet\@@dostopattributes\:tempc
+%
+\fi
+%
+ \let\last:Attributes=\empty
+ \fi
+ \o:dostartattributes:{#1}
+ }
+\HLet\dostartattributes\:tempc
+\def\:tempc[#1]{%
+ \o:dostartopelkaar:[#1]%
+ \verify:config{\currentregister-env}{null-default-env}%
+ \csname a:\currentregister-env\endcsname
+}
+\HLet\dostartopelkaar\:tempc
+\pend:def\stopopelkaar{%
+ \csname b:\currentregister-env\endcsname
+}
+
+ \let\:doplaatssamengesteldelijst\doplaatssamengesteldelijst
+\def\doplaatssamengesteldelijst[#1][#2]{%
+ \ifx #1\v!inhoud
+ \expand:after{\TableOfContents[part,chapter,section,subsection,subsubsection,%
+subsubsubsection,subsubsubsubsection%
+]}%
+ \else
+ \expand:after{\:doplaatssamengesteldelijst[#1][#2]}%
+ \fi
+}
+\NewConfigure{placecontent}[5]{%
+ \def\a:tableofcontents{#1}%
+ \def\b:tableofcontents{#2}%
+ \def\c:tableofcontents{#3}%
+ \def\d:tableofcontents{#4}%
+ \def\e:tableofcontents{#5}}
+\Configure{placecontent}{}{}{}{}{}
+\def\dovolledigesamengesteldelijst[#1][#2]{%
+ \expandafter\ifx
+ \csname a:\expandafter\:gobble\string#1:head\endcsname
+ \relax
+ \expandafter\let
+ \csname a:\expandafter\:gobble\string#1:head\endcsname
+ \empty
+ \:warning{No configuration for
+ `#1' (\expandafter\:gobble\string#1) head}%
+ \fi
+ \csname a:\expandafter\:gobble\string#1:head\endcsname
+ \expanded{\systemsuppliedtitle[#1]{\noexpand\headtext{#1}}}%
+ \csname b:\expandafter\:gobble\string#1:head\endcsname
+ \doplaatssamengesteldelijst[#1][#2]}
+\NewConfigure{contenthead}[2]{%
+ \def\a:v!inhoud:head{#1}\def\b:v!inhoud:head{#2}}
+\Configure{contenthead}{}{}
+\NewConfigure{listelement}{2}
+
+ \def\:tempc[#1][#2]{\o:redostartitemgroup:[#1][#2]%
+ \verify:config{\currentitemgroup-group}{itemgroup}%
+ \csname a:\currentitemgroup-group\endcsname}
+\HLet\redostartitemgroup=\:tempc
+\pend:def\stopitemgroup{%
+ \csname b:\currentitemgroup-group\endcsname}
+\NewConfigure{itemgroup}{2}
+\pend:def\dolistitem{\HLet\noindent\item:noindent}
+\append:def\dolistitem{%
+ \csname b:\currentitemgroup -\ifheaditem head\else
+\ifsymbolitem symbol\else
+ other\fi\fi
+%
+-item\endcsname}
+\def\item:noindent#1\strutdepth{#1\strutdepth
+ \let\noindent\o:noindent:
+ \verify:config{\currentitemgroup -\ifheaditem head\else
+\ifsymbolitem symbol\else
+ other\fi\fi
+%
+-item}%
+ {\ifheaditem head\else
+\ifsymbolitem symbol\else
+ other\fi\fi
+-listitem}%
+ \csname a:\currentitemgroup -\ifheaditem head\else
+\ifsymbolitem symbol\else
+ other\fi\fi
+%
+-item\endcsname}%
+\NewConfigure{head-listitem}{2}
+\NewConfigure{symbol-listitem}{2}
+\NewConfigure{other-listitem}{2}
+
+ \def\normal@@definitiewoord#1[#2]#3#4{%
+ \verify:config{#1-des}{description-word}%
+ \csname a:#1-des\endcsname \doattributes
+ {\??dd#1}\c!kopletter\c!kopkleur
+ {\getvalue{\??dd#1\c!commando}{#4}}%
+ \csname b:#1-des\endcsname \rawreference\s!def{#2}{#3}}
+\NewConfigure{description-word}{2}
+\def\@@somedefinitie#1[#2]#3{%
+ \dowithpar
+ {\bgroup
+ \verify:configIII{#1-item}{description-item}%
+ \csname a:#1-item\endcsname
+ \executedoordefinitie{#1}[#2]{#3}\csname
+ b:#1-item\endcsname }%
+ {\csname c:#1-item\endcsname \@@stopdefinitie{#1}}}
+\def\@@startsomedefinitie#1[#2]#3{%
+ \bgroup
+ \verify:configIII{#1-item}{description-item}%
+ \csname a:#1-item\endcsname
+ \BeforePar{%
+ \executedoordefinitie{#1}[#2]{#3}\csname
+ b:#1-item\endcsname}\bgroup
+ \expandafter\aftergroup
+ \csname c:#1-item\endcsname\aftergroup\egroup
+ \GotoPar}
+\NewConfigure{description-item}{3}
+
+ \pend:defI\dostarttyping{\a:typing}
+\append:defI\initializetyping{%
+ \aftergroup\b:typing
+ \def\obeyedspace {\d:typing}%
+ \def\obeyedline{}%
+ \Configure{HtmlPar}{\c:typing}{\c:typing}{}{}%
+}
+\NewConfigure{typing}{4}
+
+ \def\:tempc[#1]{%
+ \expandafter\ifx \csname c:#1:\endcsname\relax
+ \:warning{adding \string\NewConfigure{#1}{2} initialized to
+ \string\Configure{plaatsblok}}%
+\NewConfigure{#1}{2}
+\global\expandafter\let\csname c:#1:\expandafter\endcsname
+ \csname c:#1:\endcsname
+\expandafter\gdef\csname a:#1\endcsname{\a:plaatsblok}%
+\expandafter\gdef\csname b:#1\endcsname{\b:plaatsblok}%
+%
+ \fi
+ \csname a:#1\endcsname
+ \expandafter\tmp:toks\expandafter{\the\everyinsidefloat}%
+\def\restore:every{\expandafter\everyinsidefloat
+ \expandafter{\the\tmp:toks}}%
+%
+ \expandafter\everyinsidefloat\expandafter{%
+ \the\everyinsidefloat
+ \restore:every \aftergroup\restore:every
+ \expandafter \aftergroup\csname b:#1\endcsname
+ \everyvbox{\everyvbox{}\bgroup \aftergroup\EndP\aftergroup\egroup}%
+\def\:tempc##1##2{%
+ \let\dowithnextboxcontent\o:dowithnextboxcontent:
+ \dowithnextboxcontent{##1}{\everyvbox{}##2}%
+}%
+\HLet\dowithnextboxcontent\:tempc
+%
+ }%
+ \o:dodocomplexplaatsblok:[#1]}
+\HLet\dodocomplexplaatsblok=\:tempc
+\NewConfigure{plaatsblok}{2}
+\def\:tempc#1#2#3#4{%
+ \o:putcompletecaption:{#1}%
+ {\a:caption#2\b:caption}%
+ {\c:caption#3\d:caption}{#4}}
+\HLet\putcompletecaption\:tempc
+\NewConfigure{caption}{4}
+
+ \def\dodoplaceexternalfigure[#1][#2][#3][#4][#5][#6]{%
+ \doifsomething{#3}%
+ {\bgroup
+ \def\textunderscore{_}% brrr, temp hack
+ \calculateexternalfigure[#1][#2][#3][#4][#5][#6]%
+ \calculateexternalscreenfigure[#1][#2][#3][#4][#5][#6]%
+ \a:externalfigure{#3}%
+ \egroup}}
+\NewConfigure{externalfigure}{1}
+\NewConfigure{figure-li}[4]{%
+ \expandafter\def\csname a:figure-li\endcsname{%
+ #1%
+ \def\:tempc####1####2{#2\o:limitatedlistentry:{####1}{####2}#3}%
+ \HLet\limitatedlistentry\:tempc
+ }%
+ \expandafter\def\csname b:figure-li\endcsname{#4}%
+}
+\Configure{figure-li}{}{}{}{}
+\NewConfigure{title-ko}{2}
+\NewConfigure{-@@kjfigure}{2}
+
+ \let\normalreqno\eqno
+\let\normalleqno\leqno
+\def\:tempc#1#2#3#4{%
+ \a:formulenummer
+ \o:dododoformulenummer:{#1}{#2}{#3}{#4}%
+ \b:formulenummer}
+\HLet\dododoformulenummer\:tempc
+
+\NewConfigure{formulenummer}{2}
+\Configure{formulenummer}
+ {\HCode{<span class="formulenummer">}}
+ {\HCode{</span>}}
+\Css{.formulenummer {width:20\%; float:right;}}
+\pend:def\startdisplaymath{\a:displaymath}
+\append:def\stopdisplaymath{\b:displaymath}
+\NewConfigure{displaymath}{2}
+\Configure{displaymath}
+ {\ifvmode \IgnorePar\fi \EndP \HCode{<div class="displaymath">}}
+ {\ifvmode \IgnorePar\fi \EndP \HCode{</div>}}
+\Css{div.displaymath {text-align:center;}}
+
+ \gdef\cc:table{\c:table}
+
+\NewConfigure{tableCell}{5}
+\def\showbaselines
+ {\testrulewidth\defaulttestrulewidth
+ \EveryPar{\HtmlPar\ruledbaseline}}
+
+\NewConfigure{table}{6}
+\def\:tempc{%
+ \ifnum \!taColumnNumber>0
+ \expandafter\!taDataColumnTemplate\expandafter
+ {\expandafter\a:tableCell
+ \the\!taDataColumnTemplate\x:tableCell}%
+\expandafter\let\expandafter\:temp
+ \csname preamble-\the\!taColumnNumber\endcsname
+ \expandafter\expandafter\expandafter\!taDataColumnTemplate
+ \expandafter\expandafter\expandafter
+ {\expandafter\:temp
+ \the\!taDataColumnTemplate\x:tableCell}%
+\expandafter\let\csname preamble-\the\!taColumnNumber\endcsname\:UnDef
+ \fi
+ \o:!tfAdjoinPriorColumn:
+}
+\HLet\!tfAdjoinPriorColumn=\:tempc
+
+\def\!ttDoHalign
+ {\baselineskip \zeropoint
+ \lineskiplimit\zeropoint
+ \lineskip \zeropoint
+ \tabskip \zeropoint
+ \HRestore\noalign
+ \a:table
+ \TeXhalign \the\!taTableSpread \bgroup
+ \span\the\!taPreamble }
+
+\def\finishTABLE
+ {\chuckTABLEautorow
+ \unskip\dd:table\crcr
+ \egroup \b:table \expandafter\:gobble
+ \EndTable
+ \global\intablefalse
+ \egroup}
+
+\def\finishTABLErow
+ {\dd:table\crcr
+ \TABLEnoalign
+ {\nobreak
+ \setTABLEaction\TABLEunknown
+ \setTABLEerror\TABLEunknown
+ \globalletempty\checkTABLEautorow
+ \globalletempty\chuckTABLEautorow
+ \global\currentTABLEcolumn\zerocount}}
+
+
+\def\endofTABLEline[#1][#2->#3]#4#5%
+ {\ifx#2#3\else
+ \writestatus\m!TABLE{\string#2\space changed into \string#3}%
+ \fi
+ \iftracetables
+ \bgroup
+ \tttf\space
+ \ifnum\TABLEerror=\TABLEunknown
+ \ifx#2#3\else\string#2->\fi
+ \else
+ ->%
+ \fi
+ \color[#1]{\string#3}%
+ \ifsplittables\space\the\TABLEmaxheight/\the\TABLEheight\fi
+ \ifx\TABLEgraylineerror\empty
+ \space\TABLEgraylinestatus
+ \else
+ \space\TABLEgraylineerror
+ \fi
+ \egroup
+ \else\ifx\TABLEgraylineerror\empty \else \fi\fi
+ \globalletempty\TABLEgraylinestatus
+ \globalletempty\TABLEgraylineerror
+ \expandafter\normalTABLElineformat#4#5\dd:table\crcr
+ \TABLEnoalign{\nobreak\global\setTABLEactiontrue}}
+
+
+
+\def\!ttDoZero#1{\dd:table\cr}
+
+\def\!ttDoPlus#1#2#3{% #1 eats the +
+ \AugmentedTableStrut{#2}{#3}%
+ \dd:table\cr}
+
+% DO STANDARD: Insert standard table strut
+\def\!ttDoStandard{%
+ \StandardTableStrut
+ \dd:table\cr}
+
+
+\def\!tfFinishFormat{%
+ \ifnum \TracingFormats>0
+ \!thMessage{%
+ \space \space r: \the\!taOldRuleColumnTemplate
+ \tabskip \the\RightTabskip}%
+ \!thMessage{%
+ \space *c: ##\tabskip 0pt}
+ \fi
+ \ifnum \!taColumnNumber<2
+ \!thError{%
+ \ifnum \!taColumnNumber=0
+ No
+ \else
+ Only 1
+ \fi
+ "|"}%
+ {\!thReadErrorMsg\!tfTooFewBarsA
+ ^^J\!thReadErrorMsg\!tfTooFewBarsB
+ ^^J\!thReadErrorMsg\!tkFixIt}%
+ \fi
+ \!thToksEdef\!taPreamble={%
+ \noexpand\cc:table \noexpand
+ \b:tableCell ####\noexpand\x:tableCell\tabskip\LeftTabskip
+ &
+ \the\!taPreamble \tabskip\RightTabskip
+ &
+ \noexpand\c:tableCell ####\noexpand\x:tableCell
+ \tabskip 0pt \noexpand\cr}%
+ \ifnum \TracingFormats>1
+ \!thMessage{Preamble=\the\!taPreamble}
+ \fi
+ \ifnum \TracingFormats>2
+ \!thMessage{Row Of Widths="\!tfRowOfWidths"}
+ \fi
+ \!taBeginFormatfalse % Intercepts "|", tabskips, and "."
+ \catcode`\|=13
+ \catcode`\"=13
+ \!ttDoHalign}
+
+
+
+
+\def\!tfSetVrule
+ {\!thToksEdef\!taRuleColumnTemplate=
+ {\noexpand\d:tableCell
+ \noexpand\hfil
+ \noexpand\startglobalTABLEcolor % added
+ \noexpand\vrule
+ \noexpand\!thWidth
+ \ifnum\!tgCode=\plusone
+ \ifx\!tgValue\empty
+ \the\LineThicknessFactor
+ \else
+ \!tgValue
+ \fi
+ \!taLTU
+ \else
+ \!tgValue
+ \fi
+ ####%
+ \noexpand\hfil
+ \noexpand\stopglobalTABLEcolor % added
+ \the\!taRuleColumnTemplate
+ \relax \noexpand\x:tableCell
+ }%
+ \!tfAdjoinPriorColumn}
+
+
+\NewConfigure{VBorder}{4}
+
+\HAssign\NewGroup=0
+\HAssign\Next:TableNo=0
+\HAssign\ar:cnt=0
+
+
+\let\:mALIGN\empty \let\hT:D\empty
+
+\pend:defI\ReadFormatKeys{%
+ \expandafter\ifx\csname preamble-\the\!taColumnNumber\endcsname\relax
+ \expandafter\def\csname preamble-\the\!taColumnNumber\endcsname{%
+ \let\:mALIGN\empty \def\hT:D{\csname \string ##1:T:D\endcsname}}%
+ \fi
+ \:FormatKey
+}
+
+\let\:FormatKey=\empty
+\NewConfigure{FormatKey}[2]{%
+ \def\:temp{#1#2}\ifx \:temp\empty \let\:FormatKey=\empty
+ \else
+ \append:def\:FormatKey{\def\:tempa{#1}\ifx \:temp\:tempa
+ #2%
+ \fi }%
+ \fi
+}
+
+\Configure{FormatKey}{l}{\add:ar<}
+\Configure{FormatKey}{r}{\add:ar>}
+\Configure{FormatKey}{c}{\add:ar-}
+\Configure{FormatKey}{p}{\d:VBorder}
+\Configure{FormatKey}{|}{\b:VBorder}
+\pend:def\BeginFormat{\add:ar-}
+
+\let\HAlign=\empty
+\def\add:ar#1{\HAdvance\ar:cnt by 1
+ \def\ch:class{#1}%
+ \c:VBorder
+ \edef\HAlign{\HAlign 0 \ar:cnt\space #1 }}
+
+\def\!ttDoZero#1{\dd:table\cr}
+\def\!ttDoPlus#1#2#3{%
+ \AugmentedTableStrut{#2}{#3}%
+ \dd:table \cr}
+\def\!ttDoStandard{%
+ \StandardTableStrut
+ \dd:table \cr}
+
+\def\normalTABLElongrule{\a:TABLElongrule}
+\NewConfigure{TABLElongrule}{1}
+
+\def\simpleTableHL{\a:TableHL}
+\NewConfigure{TableHL}{1}
+
+ \expandafter\def\csname \e!start\v!tabulate\endcsname{%
+ \csname a:\v!tabulate\endcsname \bgroup
+ \expandafter\aftergroup\csname b:\v!tabulate\endcsname
+ \HRestore\noalign \let\halign\TeXhalign
+ \dodoubleempty\donormalstarttabulate}
+\NewConfigure{\v!tabulate}{2}
+
+ \def\:tempc[#1]#2#3{%
+ \o:doprocesspageregister:[#1]{#2}{#3}%
+ \def\:temp{\v!index}\ifx \:temp\currentregister
+ \a:index
+ \fi
+}
+\HLet\doprocesspageregister\:tempc
+\NewConfigure{index}{1}
+\NewConfigure{index-env}{2}
+\expandafter\pend:def\csname
+ \??id\v!index\c!voor\endcsname{\everypar{\HtmlPar}}
+\expandafter\append:def\csname
+ \??id\v!index\c!na\endcsname{\everypar{\HtmlPar}}
+\expandafter\pend:defI\csname
+ \??id\v!index\c!commando\endcsname{\a:indexchar}
+\expandafter\append:defI\csname \??id\v!index\c!commando\endcsname{\b:indexchar}
+\NewConfigure{indexchar}{2}
+\def\:tempc#1#2#3#4{%
+ \def\:temp{#1}\def\:tempa{\s!ind}\ifx \:temp\:tempa
+ \a:indexpage\o:gotonextinternal:{#1}{#2}{#3}{#4}%
+ \else
+ \o:gotonextinternal:{#1}{#2}{#3}{#4}%
+ \fi
+}
+\HLet\gotonextinternal\:tempc
+\def\c:indexpage:{\def\a:indexpage##1##2##3##4##5}
+
+ \def\:tempc{ConTeXt}
+\HLet\ConTeXt\:tempc
+
+ \NewConfigure{-@@ur}{2}
+
+ \tmp:cnt\normaltime \divide\tmp:cnt 60
+\edef\:temp{\the\tmp:cnt}
+\multiply\tmp:cnt -60 \advance\tmp:cnt \normaltime
+\edef\:today{\the\normalyear-\ifnum \normalmonth<10 0\fi
+ \the\normalmonth-\ifnum \normalday<10 0\fi\the\normalday
+ \space\ifnum \:temp<10 0\fi \:temp
+ :\ifnum \tmp:cnt<10 0\fi\the\tmp:cnt :00}
+
+\catcode`\!=12
+\catcode`\?=12
+\Hinput{context}
+\endinput
+