diff options
author | Hans Hagen <pragma@wxs.nl> | 2007-09-10 21:31:00 +0200 |
---|---|---|
committer | Hans Hagen <pragma@wxs.nl> | 2007-09-10 21:31:00 +0200 |
commit | 104ea1dae3d609aeb395e19658ad6ea7d4c85eea (patch) | |
tree | 9e0f83de78120bf8e227025ea69d4a94cbda83e4 /tex/context/base/core-tbl.tex | |
parent | deecfe09c774d4c2835f6999b2cdd9ca07e9bdae (diff) | |
download | context-104ea1dae3d609aeb395e19658ad6ea7d4c85eea.tar.gz |
stable 2007.09.10 21:31
Diffstat (limited to 'tex/context/base/core-tbl.tex')
-rw-r--r-- | tex/context/base/core-tbl.tex | 41 |
1 files changed, 32 insertions, 9 deletions
diff --git a/tex/context/base/core-tbl.tex b/tex/context/base/core-tbl.tex index 902b578b9..d63aedd1a 100644 --- a/tex/context/base/core-tbl.tex +++ b/tex/context/base/core-tbl.tex @@ -526,7 +526,9 @@ \def\tabulatenotragged {\ifnum\tabulatetype=\plusone \else\notragged \fi} \def\tabulatehss {\ifnum\tabulatetype=\plusone \else\hss \fi} -\def\nexttabulate#1|% +\bgroup \catcode`\|=\@@other + +\gdef\nexttabulate#1|% {\chardef\tabulatealign\@@tabulatealign \chardef\tabulatemodus\zerocount \chardef\tabulatedimen\zerocount @@ -563,6 +565,8 @@ \fi \futurelet\next\donexttabulate} +\egroup + \def\donexttabulate {\ifx\next\relax\else \expandafter\nexttabulate @@ -642,10 +646,12 @@ % \starttabulate[preamble] % \starttabulate -> \starttabulate[|l|p|] -\def\definetabulate +\bgroup \catcode`\|=\@@other + +\gdef\definetabulate {\dotripleempty\dodefinetabulate} -\def\dodefinetabulate[#1][#2][#3]% +\gdef\dodefinetabulate[#1][#2][#3]% {\ifthirdargument \doifundefined{\??tt#1::\c!unit} {\copyparameters @@ -668,6 +674,8 @@ \definetabulate[#1][][|l|p|]% \fi\fi} +\egroup + \let\tabulateheadcontent\empty \let\tabulatetailcontent\empty @@ -731,7 +739,9 @@ \setvalue{\e!start\v!tabulate}% {\bgroup\dodoubleempty\donormalstarttabulate} -\def\donormalstarttabulate[#1][#2]% +\bgroup + +\gdef\donormalstarttabulate[#1][#2]% {\ifsecondargument \getparameters[\??tt\v!tabulate::][#2]% \fi @@ -742,6 +752,8 @@ \fi \next} +\egroup + % The much neede hook: \newtoks\everytabulate @@ -757,6 +769,11 @@ \def\tabulateparameter#1{\csname\??tt\currenttabulate#1\endcsname} +\bgroup + \catcode`\|=\@@other \gdef\@@otherbar{|} + \catcode`\|=\@@active \gdef\@@useotherbar{\let|\@@otherbar} +\egroup + \def\dofinalstarttabulate[#1][#2][#3]% identifier sub preamble {\edef\currenttabulate{#1::#2}% \ifinsidefloat \else @@ -808,7 +825,8 @@ \def\dodododo##1% {\appendtoks##1\to\!!toksb\do}% \globallet\tabulatecolumn\!!zerocount - \do#3\relax +% \do#3\relax +\bgroup\@@useotherbar\expanded{\egroup\noexpand\do#3\relax}% \processcontent {\e!stop#1}% \currenttabulate} \tabulatecontent @@ -952,7 +970,9 @@ \chardef\tabulaterepeathead\zerocount -\def\processtabulate[|#1|]% in the process of optimizing +\bgroup \catcode`\|=\@@other + +\gdef\processtabulate[|#1|]% in the process of optimizing {\tabulateunit\tabulateparameter\c!unit \checkfulltabulatecontent \globallet\tabulateruledepth \!!zeropoint @@ -1036,7 +1056,7 @@ \let\doHR\gobbleoneargument \let\doHL\gobbleoneargument \global\let\flushtabulated\empty - \let\savedbar|\let|\nexttabulate +% \let\savedbar|\let|\nexttabulate \tabskip\zeropoint \ifdim\tabulateparameter\c!margin>\zeropoint \!!toksa{&\flushtabulateindent\strut##% @@ -1047,7 +1067,8 @@ &##\tabskip\zeropoint}% \fi \tabulatewidth\zeropoint - |#1X|\relax +% |#1X|\relax + \nexttabulate #1X|\relax \scratchcounter\tabulatecolumns \multiply\scratchcounter3% \advance\scratchcounter4% @@ -1075,7 +1096,7 @@ \def\xeskip {\par\egroup\egroup \global\let\tabulatehook\dotabulatehook}% - \let|\savedbar +% \let|\savedbar \global\let\tabulatehook\dotabulatehook \doifvalue{\??tt\currenttabulate\c!indenting}\v!no\forgetparindent \ifinsidefloat @@ -1302,6 +1323,8 @@ \fi \egroup} +\egroup + % \setuptabulate[split=yes,header=text,title=Vervolg van Tabel] % % % \starttabulatehead |