diff options
Diffstat (limited to 'Master/texmf-dist/doc/latex/cals/test/table')
14 files changed, 630 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/latex/cals/test/table/test_10_ifbreak.chk b/Master/texmf-dist/doc/latex/cals/test/table/test_10_ifbreak.chk new file mode 100644 index 00000000000..e2b30b0f87f --- /dev/null +++ b/Master/texmf-dist/doc/latex/cals/test/table/test_10_ifbreak.chk @@ -0,0 +1,22 @@ +% +% Test 1 +% +OK +% +% Test 2 +% +OK +% +% Test 3 +% +OK +OK +% +% Test 4 +% +OK +OK +% +% Test 5 +% +OK diff --git a/Master/texmf-dist/doc/latex/cals/test/table/test_10_ifbreak.tex b/Master/texmf-dist/doc/latex/cals/test/table/test_10_ifbreak.tex new file mode 100644 index 00000000000..d8af5811906 --- /dev/null +++ b/Master/texmf-dist/doc/latex/cals/test/table/test_10_ifbreak.tex @@ -0,0 +1,53 @@ +% +\newbox\cals@current@row % To be removed after defined in cals.sty +% +\def\mkcurrow#1{\setbox\cals@current@row=\vbox to #1{a\vfil}% + \ht\cals@current@row=#1\relax} +%\def\mkbakrow#1{\setbox\cals@backup@row=\vbox to #1{a\vfil}} +\def\mkfoot#1{\def\cals@tfoot@tokens{aaa}\def\cals@tfoot@height{#1}} +\def\rmfoot{\let\cals@tfoot@tokens=\relax} + +\def\ok{\PackageInfo{test}{OK}} +\def\fail{\PackageInfo{test}{FAIL}} + +\let\cals@tbreak@tokens=\relax + +% +% 1: Body, no break +% +\def\pagegoal{400pt} +\def\pagetotal{300pt} +\mkfoot{50pt} +\mkcurrow{50pt} +\let\cals@last@context=b +\let\cals@current@context=b +\cals@ifbreak\iftrue \fail \else \ok \fi + +% +% 2: Body, break +% +\mkcurrow{60pt} +\cals@ifbreak\iftrue \ok \else \fail \fi + +% +% 3: No break in head or foot +% +\let\cals@current@context=h +\cals@ifbreak\iftrue \fail \else \ok \fi +\let\cals@current@context=f +\cals@ifbreak\iftrue \fail \else \ok \fi +\let\cals@current@context=b + +% +% 4: No break after the header +% +\let\cals@current@context=b +\cals@ifbreak\iftrue \ok \else \fail \fi +\let\cals@last@context=h +\cals@ifbreak\iftrue \fail \else \ok \fi + +% +% 5: User forces a break +% +\tbreak{ok} +\cals@ifbreak\iftrue \ok \else \fail \fi diff --git a/Master/texmf-dist/doc/latex/cals/test/table/test_20_dispatch.chk b/Master/texmf-dist/doc/latex/cals/test/table/test_20_dispatch.chk new file mode 100644 index 00000000000..7990c8bc647 --- /dev/null +++ b/Master/texmf-dist/doc/latex/cals/test/table/test_20_dispatch.chk @@ -0,0 +1,56 @@ +% +% Normal table +% +> \boxXX= +\vbox(1020.0+0.0)x220.0 +% Head +.\vbox(110.0+0.0)x110.0 +..\rule(110.0+0.0)x110.0 +.\vbox(120.0+0.0)x120.0 +..\rule(120.0+0.0)x120.0 +.\vbox(110.0+0.0)x110.0 +..\rule(110.0+0.0)x110.0 +% Body 1 and Body 2 +.\vbox(10.0+0.0)x10.0 +..\rule(10.0+0.0)x10.0 +.\vbox(20.0+0.0)x20.0 +..\rule(20.0+0.0)x20.0 +.\vbox(10.0+0.0)x10.0 +..\rule(10.0+0.0)x10.0 +% Foot 1 and Foot 2 +.\vbox(210.0+0.0)x210.0 +..\rule(210.0+0.0)x210.0 +.\vbox(220.0+0.0)x220.0 +..\rule(220.0+0.0)x220.0 +.\vbox(210.0+0.0)x210.0 +..\rule(210.0+0.0)x210.0 +% +% A break in a table +% +> \boxXX= +\vbox(470.0+0.0)x210.0 +.\vbox(10.0+0.0)x10.0 +..\rule(10.0+0.0)x10.0 +.\vbox(210.0+0.0)x210.0 +..\rule(210.0+0.0)x210.0 +.\penalty -10000 +.\vbox(110.0+0.0)x110.0 +..\rule(110.0+0.0)x110.0 +.\vbox(120.0+0.0)x120.0 +..\rule(120.0+0.0)x120.0 +.\vbox(20.0+0.0)x20.0 +..\rule(20.0+0.0)x20.0 +% +% Span +% +> \boxXX= +\vbox(60.0+0.0)x20.0 +.\vbox(10.0+0.0)x10.0 +..\rule(10.0+0.0)x10.0 +.\vbox(30.0+0.0)x20.0 +..\vbox(20.0+0.0)x20.0 +...\rule(20.0+0.0)x20.0 +..\vbox(10.0+0.0)x10.0 +...\rule(10.0+0.0)x10.0 +.\vbox(20.0+0.0)x20.0 +..\rule(20.0+0.0)x20.0 diff --git a/Master/texmf-dist/doc/latex/cals/test/table/test_20_dispatch.tex b/Master/texmf-dist/doc/latex/cals/test/table/test_20_dispatch.tex new file mode 100644 index 00000000000..4d4910c2e26 --- /dev/null +++ b/Master/texmf-dist/doc/latex/cals/test/table/test_20_dispatch.tex @@ -0,0 +1,65 @@ +% +% Some redefs +% +\def\cals@issue@rowsep{\vbox{\hrule width400pt height4pt depth0pt}} +\def\cals@issue@row{\nointerlineskip \box\cals@current@row} + +\def\cals@current@rs@above{rsabove} +\def\cals@current@rs@below{rsbelow} +\renewcommand\lastrule{} + +\def\somerow#1#2{% +\setbox\cals@current@row=\vbox{\hrule width#1 height#1 depth0pt}% +\let\cals@current@context=#2% +\cals@row@dispatch +} + +\def\bodyrowI{\somerow{10pt}b} +\def\bodyrowII{\somerow{20pt}b} +\def\headrowI{\somerow{110pt}h} +\def\headrowII{\somerow{120pt}h} +\def\footrowI{\somerow{210pt}f} +\def\footrowII{\somerow{220pt}f} + +% +% Normal table +% +\setbox0=\vbox{% +\headrowI +\headrowII +\headrowI +\bodyrowI +\bodyrowII +\bodyrowI +\footrowI +\footrowII +\footrowI +} +\showbox0 + +% +% Make a break +% +\setbox0=\vbox{% +\def\cals@thead@tokens{\headrowI\headrowII} +\def\cals@tfoot@tokens{\footrowI} +\bodyrowI +\tbreak{\break} +\bodyrowII +} +\showbox0 + +% +% Span +% +\setbox0=\vbox{% +\bodyrowI + \let\cals@ifInRspan=\cals@iftrue + \let\cals@ifLastRspanRow=\cals@iffalse +\bodyrowII + \let\cals@ifLastRspanRow=\cals@iftrue +\bodyrowI + \let\cals@ifInRspan=\cals@iffalse +\bodyrowII +} +\showbox0 diff --git a/Master/texmf-dist/doc/latex/cals/test/table/test_30_issue_rowsep.chk b/Master/texmf-dist/doc/latex/cals/test/table/test_30_issue_rowsep.chk new file mode 100644 index 00000000000..b416b189ebc --- /dev/null +++ b/Master/texmf-dist/doc/latex/cals/test/table/test_30_issue_rowsep.chk @@ -0,0 +1,110 @@ +% +% Alone +% +> \boxXX= +\vbox(0.0+0.0)x330.0 +.\hbox(0.0+0.0)x330.0 +..\glue 0.0 +..\glue 210.0 +..\glue -3.0 +..\rule(2.0+2.0)x127.0 +..\glue -4.0 +..\glue 0.0 +% +% n to h, f, b: exactly the same as "alone" +% +> \boxXX= +\vbox(0.0+0.0)x330.0 +.\hbox(0.0+0.0)x330.0 +..\glue 0.0 +..\glue 210.0 +..\glue -3.0 +..\rule(2.0+2.0)x127.0 +..\glue -4.0 +..\glue 0.0 +> \boxXX= +\vbox(0.0+0.0)x330.0 +.\hbox(0.0+0.0)x330.0 +..\glue 0.0 +..\glue 210.0 +..\glue -3.0 +..\rule(2.0+2.0)x127.0 +..\glue -4.0 +..\glue 0.0 +> \boxXX= +\vbox(0.0+0.0)x330.0 +.\hbox(0.0+0.0)x330.0 +..\glue 0.0 +..\glue 210.0 +..\glue -3.0 +..\rule(2.0+2.0)x127.0 +..\glue -4.0 +..\glue 0.0 +% +% h to h: default width; h to f,b: body separation +% +> \boxXX= +\vbox(0.0+0.0)x330.0 +.\hbox(0.0+0.0)x330.0 +..\glue 0.0 +..\glue -1.0 +% relax-width here +..\rule(0.5+0.5)x103.0 +..\glue -2.0 +..\glue -2.0 +..\rule(1.0+1.0)x115.0 +..\glue -3.0 +..\glue -110.0 +..\glue -2.0 +% also relax-width +..\rule(0.5+0.5)x236.0 +..\glue -4.0 +..\glue -120.0 +..\glue -3.0 +..\rule(2.0+2.0)x127.0 +..\glue -4.0 +..\glue 0.0 +% +% Body separation +% +> \boxXX= +\vbox(0.0+0.0)x330.0 +.\hbox(0.0+0.0)x330.0 +..\glue 0.0 +..\glue -1.0 +% relax-width here +..\rule(1.5+1.5)x103.0 +..\glue -2.0 +..\glue -2.0 +..\rule(1.0+1.0)x115.0 +..\glue -3.0 +..\glue -110.0 +..\glue -2.0 +% also relax-width +..\rule(1.5+1.5)x236.0 +..\glue -4.0 +..\glue -120.0 +..\glue -3.0 +..\rule(2.0+2.0)x127.0 +..\glue -4.0 +..\glue 0.0 +> \cals@tmpIII=macro: +->3pt. +% +% f to h and b: never happens, body separation; f to f: default width +% +> \cals@tmpIII=macro: +->3pt. +> \cals@tmpIII=macro: +->1pt. +> \cals@tmpIII=macro: +->3pt. +% +% b to h: never happens, body separation; b to b: default, b to f: body +% +> \cals@tmpIII=macro: +->3pt. +> \cals@tmpIII=macro: +->3pt. +> \cals@tmpIII=macro: +->1pt. diff --git a/Master/texmf-dist/doc/latex/cals/test/table/test_30_issue_rowsep.tex b/Master/texmf-dist/doc/latex/cals/test/table/test_30_issue_rowsep.tex new file mode 100644 index 00000000000..2e33f8ad57e --- /dev/null +++ b/Master/texmf-dist/doc/latex/cals/test/table/test_30_issue_rowsep.tex @@ -0,0 +1,52 @@ +\def\cals@framers@width{0pt} +\def\cals@bodyrs@width{3pt} +\def\cals@rs@width{1pt} + +% +% Reusable definitions +% +\def\frameI{{{100pt}{2pt}{4pt}\relax}{{110pt}{4pt}{6pt}{2pt}}{{120pt}{6pt}{8pt}\relax}} +\def\frameII{{{100pt}{2pt}{4pt}\relax}{{110pt}{4pt}{6pt}\relax}{{120pt}{6pt}{8pt}{4pt}}} +\def\update{% +\toks0=\expandafter{\frameI}% +\edef\cals@last@rs@below{\the\toks0}% +\toks0=\expandafter{\frameII}% +\edef\cals@current@rs@above{\the\toks0}% +} + +% +% Alone +% +\update +\setbox0=\vbox{\cals@issue@rowsep@alone} +\showbox0 + +% +% Different combinations +% +\def\combineII#1#2{% +\let\cals@last@context=#1% +\let\cals@current@context=#2% +\update +\setbox0=\vbox{\cals@issue@rowsep}} +\def\combine#1#2{\combineII#1#2\showbox0 } + +% n h f b vs h f b +\combine nh +\combine nf +\combine nb +\combine hh +\combine hf + +% +% Optimize the rest: do not pollute expected results +% +\renewcommand\cals@rs@joinTwo[3]{% +\show#1} +\combineII hb +\combineII fh +\combineII ff +\combineII fb +\combineII bh +\combineII bf +\combineII bb diff --git a/Master/texmf-dist/doc/latex/cals/test/table/test_40_issuerow.chk b/Master/texmf-dist/doc/latex/cals/test/table/test_40_issuerow.chk new file mode 100644 index 00000000000..5e42a5f3526 --- /dev/null +++ b/Master/texmf-dist/doc/latex/cals/test/table/test_40_issuerow.chk @@ -0,0 +1,27 @@ +> \cals@last@context=the letter b. +> \cals@last@rs@below=macro: +->{{200pt}{2pt}{2pt}{7pt}}. +> \boxXX= +\vbox(20.0+0.0)x300.0 +.\vbox(0.0+0.0)x10.0 +..\hbox(20.0+0.0)x10.0 +...\glue 0.0 +...\hbox(20.0+0.0)x10.0 +....\rule(*+0.0)x10.0 +...\glue 0.0 +.\hbox(0.0+0.0)x200.0 +..\glue 0.0 +..\glue -1.0 +..\rule(2.0+2.0)x202.0 +..\glue -1.0 +..\glue 0.0 +.\hbox(20.0+0.0)x300.0 +..\glue 0.0 +..\hbox(20.0+0.0)x300.0 +...\vbox(20.0+0.0)x100.0, glue set 10.0fil +....\rule(10.0+0.0)x100.0 +....\glue 0.0 plus 1.0fil +...\vbox(20.0+0.0)x200.0 +....\rule(20.0+0.0)x200.0 +....\glue 0.0 plus 1.0fil +..\glue 0.0 diff --git a/Master/texmf-dist/doc/latex/cals/test/table/test_40_issuerow.tex b/Master/texmf-dist/doc/latex/cals/test/table/test_40_issuerow.tex new file mode 100644 index 00000000000..f46144ba3e7 --- /dev/null +++ b/Master/texmf-dist/doc/latex/cals/test/table/test_40_issuerow.tex @@ -0,0 +1,25 @@ +% +% vboxes of the row should be of the same height +% +\let\cals@last@context=h +\let\cals@current@context=b +\def\cals@bodyrs@width{4pt} + +\newbox\cals@current@row +\setbox\cals@current@row=\hbox{% + \vbox{\hrule height10pt depth0pt width100pt \vfil}% + \vbox{\hrule height20pt depth0pt width200pt \vfil}% +} +\cals@reheight@cells\cals@current@row + +\newbox\cals@current@cs +\setbox\cals@current@cs=\hbox{\vrule width10pt depth0pt} +\ht\cals@current@cs=\ht\cals@current@row +\def\cals@current@rs@above{{{200pt}{2pt}{2pt}\relax}} +\def\cals@current@rs@below{{{200pt}{2pt}{2pt}{7pt}}} +\def\cals@last@rs@below{{{200pt}{2pt}{2pt}\relax}} + +\setbox0=\vbox{\cals@issue@row +\show\cals@last@context +\show\cals@last@rs@below} +\showbox0 diff --git a/Master/texmf-dist/doc/latex/cals/test/table/test_50_row.chk b/Master/texmf-dist/doc/latex/cals/test/table/test_50_row.chk new file mode 100644 index 00000000000..8488abb63c6 --- /dev/null +++ b/Master/texmf-dist/doc/latex/cals/test/table/test_50_row.chk @@ -0,0 +1,99 @@ +> \cals@last@context=the letter b. +> \cals@last@rs@below=macro: +->{{100pt}{0pt}{10pt}{10pt}}{{200pt}{10pt}{20pt}{20pt}}. +> 20.0pt. +> \cals@last@context=the letter b. +> \cals@last@rs@below=macro: +->{{100pt}{0pt}{30pt}{30pt}}{{200pt}{30pt}{40pt}{40pt}}. +> 40.0pt. +% +% The table +% +> \boxXX= +\vbox(60.0+0.0)x300.0 +% +% Row 1, colsep +% +.\vbox(0.0+0.0)x300.0 +..\hbox(20.0+0.0)x300.0 +...\glue 0.0 +...\hbox(20.0+0.0)x300.0 +....\glue 100.0 +....\glue -5.0 +....\rule(*+0.0)x10.0 +....\glue -5.0 +....\glue 200.0 +....\glue -10.0 +....\rule(*+0.0)x20.0 +....\glue -10.0 +...\glue 0.0 +% +% Rowsep before row 1 +% +.\hbox(0.0+0.0)x300.0 +..\glue 0.0 +..\glue 300.0 +..\glue 0.0 +% +% Row 1 +% +.\hbox(20.0+0.0)x300.0 +..\glue 0.0 +..\hbox(20.0+0.0)x300.0 +...\vbox(20.0+0.0)x100.0, glue set 10.0fil +....\rule(10.0+0.0)x100.0 +....\glue 0.0 plus 1.0fil +...\vbox(20.0+0.0)x200.0 +....\rule(20.0+0.0)x200.0 +....\glue 0.0 plus 1.0fil +..\glue 0.0 +% +% Output procesure forcing +% +.\glue 0.0 +.\penalty 10000 +% +% Row 2, colsep +% +.\vbox(0.0+0.0)x300.0 +..\hbox(40.0+0.0)x300.0 +...\glue 0.0 +...\hbox(40.0+0.0)x300.0 +....\glue 100.0 +....\glue -15.0 +....\rule(*+0.0)x30.0 +....\glue -15.0 +....\glue 200.0 +....\glue -20.0 +....\rule(*+0.0)x40.0 +....\glue -20.0 +...\glue 0.0 +% +% Rowsep between row 1 and row 2 +% +.\hbox(0.0+0.0)x300.0 +..\glue 0.0 +..\glue 0.0 +..\rule(5.0+5.0)x115.0 +..\glue -15.0 +..\glue -5.0 +..\rule(10.0+10.0)x215.0 +..\glue -10.0 +..\glue -200.0 +..\glue -15.0 +..\rule(5.0+5.0)x235.0 +..\glue -20.0 +..\glue 0.0 +% +% Row 2 +% +.\hbox(40.0+0.0)x300.0 +..\glue 0.0 +..\hbox(40.0+0.0)x300.0 +...\vbox(40.0+0.0)x100.0, glue set 10.0fil +....\rule(30.0+0.0)x100.0 +....\glue 0.0 plus 1.0fil +...\vbox(40.0+0.0)x200.0 +....\rule(40.0+0.0)x200.0 +....\glue 0.0 plus 1.0fil +..\glue 0.0 diff --git a/Master/texmf-dist/doc/latex/cals/test/table/test_50_row.tex b/Master/texmf-dist/doc/latex/cals/test/table/test_50_row.tex new file mode 100644 index 00000000000..5fa49715de5 --- /dev/null +++ b/Master/texmf-dist/doc/latex/cals/test/table/test_50_row.tex @@ -0,0 +1,44 @@ +% +% A smoke test for \row +% +\def\mkcell#1{\edef\cals@borderB{#1}\edef\cals@borderR{#1}% +\cell{\nointerlineskip\noindent\vrule height#1 depth0pt width#1}} +\def\mkcellI{\mkcell{10pt}} +\def\mkcellII{\mkcell{20pt}} +\def\mkcellIII{\mkcell{30pt}} +\def\mkcellIV{\mkcell{40pt}} + +\let\cals@last@context=n +\let\cals@current@context=b + +\def\cals@cs@width{0pt} +\def\cals@framecs@width{0pt} +\def\cals@rs@width{10pt} +\def\cals@framers@width{0pt} +\def\cals@bodyrs@width{0pt} +\def\cals@bgcolor{} +\def\cals@bgcolor{} +\let\cals@borderL=\relax +\let\cals@borderR=\relax +\let\cals@borderT=\relax +\let\cals@borderB=\relax + +\def\cals@ifbreak#1{\iffalse} +\let\oldend=\cals@celll@end +\def\cals@celll@end{% + \setbox0=\vbox{\hrule height\ht0 depth0pt width\wd0 \vfil}% + \oldend} + +\colwidths{{100pt}{200pt}} + +\setbox0=\vbox{% +\brow \mkcellI\mkcellII \erow +\show\cals@last@context +\show\cals@last@rs@below +\showthe\cals@last@row@height +\brow \mkcellIII\mkcellIV \erow +\show\cals@last@context +\show\cals@last@rs@below +\showthe\cals@last@row@height +} +\showbox0 diff --git a/Master/texmf-dist/doc/latex/cals/test/table/test_60_whitespace.chk b/Master/texmf-dist/doc/latex/cals/test/table/test_60_whitespace.chk new file mode 100644 index 00000000000..a5e0c8760a4 --- /dev/null +++ b/Master/texmf-dist/doc/latex/cals/test/table/test_60_whitespace.chk @@ -0,0 +1,2 @@ +> \boxXX= +\vbox(0.0+0.0)x0.0 diff --git a/Master/texmf-dist/doc/latex/cals/test/table/test_60_whitespace.tex b/Master/texmf-dist/doc/latex/cals/test/table/test_60_whitespace.tex new file mode 100644 index 00000000000..55d4ca10baf --- /dev/null +++ b/Master/texmf-dist/doc/latex/cals/test/table/test_60_whitespace.tex @@ -0,0 +1,21 @@ +\def\cals@issue@rowsep@alone{} +\def\cals@issue@rowsep{} +\def\cals@issue@row{} + +% +% Check that there are no unneeded whitespace in output +% + +\setbox0=\vbox{ + +\begin{calstable} + +\colwidths{{100pt}{200pt}} + +\brow{} + \cell{aaaaa} \nullcell{ltb} \nullcell{rtb} \spancontent{bbbbb} \cell{bbbb} \erow{} % ok +\end{calstable} + +} + +\showbox0 diff --git a/Master/texmf-dist/doc/latex/cals/test/table/test_70_lrskip.chk b/Master/texmf-dist/doc/latex/cals/test/table/test_70_lrskip.chk new file mode 100644 index 00000000000..f2ef8998bf2 --- /dev/null +++ b/Master/texmf-dist/doc/latex/cals/test/table/test_70_lrskip.chk @@ -0,0 +1,32 @@ +> \boxXX= +\vbox(20.0+0.0)x300.0 +% colsep +.\vbox(0.0+0.0)x300.0 +..\hbox(20.0+0.0)x300.0 +...\glue 50.0 +...\hbox(20.0+0.0)x100.0 +....\glue 100.0 +...\glue 150.0 +% rowsep +.\hbox(0.0+0.0)x300.0 +..\glue 50.0 +..\glue 100.0 +..\glue 150.0 +% cell +.\hbox(20.0+0.0)x300.0 +..\glue 50.0 +..\hbox(20.0+0.0)x100.0 +...\vbox(20.0+0.0)x100.0, glue set 20.0fil +....\glue 0.0 +....\glue 0.0 plus -1.0 +....\glue 0.0 plus 1.0fil +....\glue 0.0 +..\glue 150.0 +% thead+row1 break workaround +.\glue 0.0 +.\penalty 10000 +% rowsep +.\hbox(0.0+0.0)x300.0 +..\glue 50.0 +..\glue 100.0 +..\glue 150.0 diff --git a/Master/texmf-dist/doc/latex/cals/test/table/test_70_lrskip.tex b/Master/texmf-dist/doc/latex/cals/test/table/test_70_lrskip.tex new file mode 100644 index 00000000000..a6d507b7381 --- /dev/null +++ b/Master/texmf-dist/doc/latex/cals/test/table/test_70_lrskip.tex @@ -0,0 +1,22 @@ +par1\par +\parindent=0pt +par2\par + +\setbox0=\vbox{% +\leftskip=50pt +\rightskip=150pt +\begin{calstable} +\cals@setpadding{} +\cals@setcellprevdepth{} +\def\borderL{0pt} +\let\borderR=\borderL +\let\borderT=\borderL +\let\borderB=\borderL +\colwidths{{100pt}} +\brow \cell{} \ht\cals@current@row=20pt \erow +\end{calstable} +} +\showbox0 +\box0 +par3\par +par4\par |