diff options
| author | Hans Hagen <pragma@wxs.nl> | 2018-03-15 16:04:31 +0100 | 
|---|---|---|
| committer | Context Git Mirror Bot <phg42.2a@gmail.com> | 2018-03-15 16:04:31 +0100 | 
| commit | a4e07f30e880ab27c2918f81f136e257475b7729 (patch) | |
| tree | 02db002d3001a49777a049f9a98fdc872a5e1ad1 /tex/context/base/mkiv/tabl-frm.mkiv | |
| parent | cbc37c39432e0ebe38e0922fc6d14c2955ab3ba2 (diff) | |
| download | context-a4e07f30e880ab27c2918f81f136e257475b7729.tar.gz | |
2018-03-15 15:36:00
Diffstat (limited to 'tex/context/base/mkiv/tabl-frm.mkiv')
| -rw-r--r-- | tex/context/base/mkiv/tabl-frm.mkiv | 115 | 
1 files changed, 111 insertions, 4 deletions
| diff --git a/tex/context/base/mkiv/tabl-frm.mkiv b/tex/context/base/mkiv/tabl-frm.mkiv index 639d6f06d..c0f4b7cd1 100644 --- a/tex/context/base/mkiv/tabl-frm.mkiv +++ b/tex/context/base/mkiv/tabl-frm.mkiv @@ -134,6 +134,56 @@    {\framedparameter\c!after     \endgroup} +% \unexpanded\def\startframedrow +%   {\advance\c_tabl_framed_r\plusone +%    \c_tabl_framed_c\zerocount +%    \d_tabl_framed_h\zeropoint +%    \bgroup +%    \edef\currentframed{\number\c_tabl_framed_r}% +%    \edef\currentframed +%      {\??framedtablerow\currentframedtable +%       \ifcsname\??framedtablerow\currentframedtable:\currentframed\endcsname +%         :\currentframed +%       \else\ifcsname\??framedtablerow\currentframedtable:\v!each\endcsname +%         :\v!each +%       \fi\fi}% +%    \dosingleempty\pack_framed_start_framed_nop_indeed} +% +% \unexpanded\def\stopframedrow +%   {\dofastloopcs\c_tabl_framed_c\tabl_framed_flush_row +%    \stopframed +%    \nointerlineskip +%    \vskip\zeropoint\relax +%    \framedparameter\c!inbetween} +% +% \unexpanded\def\tabl_framed_flush_row +%   {\vpack to \d_tabl_framed_h{\flushbox\??framedtable{\number\fastloopindex}\vfill}% +%    \ifdim\d_tabl_framed_d=\zeropoint\else\kern\d_tabl_framed_d\fi} +% +% \unexpanded\def\startframedcell +%   {\advance\c_tabl_framed_c\plusone +%    \setbox\b_tabl_framed\hpack\bgroup +%   %\bgroup +%    \edef\currentframed{\number\c_tabl_framed_c}% +%    \edef\currentframed +%      {\??framedtablecolumn\currentframedtable +%       \ifcsname\??framedtablecolumn\currentframedtable:\currentframed\endcsname +%         :\currentframed +%       \else\ifcsname\??framedtablecolumn\currentframedtable:\v!each\endcsname +%         :\v!each +%       \fi\fi}% +%    \dosingleempty\pack_framed_start_framed_nop_indeed} +% +% \unexpanded\def\stopframedcell +%   {\stopframed +%   %\egroup +%    \ifdim\ht\b_tabl_framed>\d_tabl_framed_h +%      \d_tabl_framed_h\ht\b_tabl_framed +%    \fi +%    \savebox\??framedtable{\number\c_tabl_framed_c}{\box\b_tabl_framed}} + +% a two pass variant that deals with the height .. so no catcode changes here +  \unexpanded\def\startframedrow    {\advance\c_tabl_framed_r\plusone     \c_tabl_framed_c\zerocount @@ -160,6 +210,52 @@    {\vpack to \d_tabl_framed_h{\flushbox\??framedtable{\number\fastloopindex}\vfill}%     \ifdim\d_tabl_framed_d=\zeropoint\else\kern\d_tabl_framed_d\fi} +\newcount\c_tabl_framed_pass + +\let\stopframedrow\relax + +\unexpanded\def\startframedrow#1\stopframedrow +  {\advance\c_tabl_framed_r\plusone +   \startframedrow_one#1\stopframedrow_one +   \startframedrow_two#1\stopframedrow_two} + +\def\startframedrow_one +  {\bgroup +   \c_tabl_framed_pass\plusone +   \c_tabl_framed_c\zerocount +   \d_tabl_framed_h\zeropoint +   \settrialtypesetting +   \gobblesingleempty} + +\unexpanded\def\stopframedrow_one +  {\normalexpanded{\egroup\d_tabl_framed_h\the\d_tabl_framed_h\relax}} + +\def\startframedrow_two +  {\bgroup +   \c_tabl_framed_c\zerocount +   \c_tabl_framed_pass\plustwo +   \edef\currentframed{\number\c_tabl_framed_r}% +   \edef\currentframed +     {\??framedtablerow\currentframedtable +      \ifcsname\??framedtablerow\currentframedtable:\currentframed\endcsname +        :\currentframed +      \else\ifcsname\??framedtablerow\currentframedtable:\v!each\endcsname +        :\v!each +      \fi\fi}% +   \dosingleempty\pack_framed_start_framed_nop_indeed} + +\unexpanded\def\stopframedrow_two +  {\dofastloopcs\c_tabl_framed_c\tabl_framed_flush_row +   \stopframed +   \nointerlineskip +   \vskip\zeropoint\relax +   \framedparameter\c!inbetween} + +\unexpanded\def\tabl_framed_flush_row_two +  {\vpack to \d_tabl_framed_h{\flushbox\??framedtable{\number\fastloopindex}\vfill}% +   \ifdim\d_tabl_framed_d=\zeropoint\else\kern\d_tabl_framed_d\fi} + +  \unexpanded\def\startframedcell    {\advance\c_tabl_framed_c\plusone     \setbox\b_tabl_framed\hpack\bgroup @@ -172,15 +268,26 @@        \else\ifcsname\??framedtablecolumn\currentframedtable:\v!each\endcsname          :\v!each        \fi\fi}% +   \ifcase\c_tabl_framed_pass +   \or +     \letframedparameter\c!background\empty +     \letframedparameter\c!frame\v!off +   \or +     \letframedparameter\c!height\d_tabl_framed_h +   \fi     \dosingleempty\pack_framed_start_framed_nop_indeed}  \unexpanded\def\stopframedcell    {\stopframed    %\egroup -   \ifdim\ht\b_tabl_framed>\d_tabl_framed_h -     \d_tabl_framed_h\ht\b_tabl_framed -   \fi -   \savebox\??framedtable{\number\c_tabl_framed_c}{\box\b_tabl_framed}} +   \ifcase\c_tabl_framed_pass +   \or +     \ifdim\ht\b_tabl_framed>\d_tabl_framed_h +       \d_tabl_framed_h\ht\b_tabl_framed +     \fi +   \else +     \savebox\??framedtable{\number\c_tabl_framed_c}{\box\b_tabl_framed}% +   \fi}  \protect \endinput | 
