diff options
author | Hans Hagen <pragma@wxs.nl> | 2011-10-28 19:22:00 +0200 |
---|---|---|
committer | Hans Hagen <pragma@wxs.nl> | 2011-10-28 19:22:00 +0200 |
commit | 0a98dd77420b1dab699a8cba0e8c63d20cb20851 (patch) | |
tree | 25b7083f1013213583bbfeaf25e8bee29d9ba2fa /tex/context/base/tabl-xtb.mkvi | |
parent | 2b19e2480b81877d4c078682fa6cb2fc3127bef7 (diff) | |
download | context-0a98dd77420b1dab699a8cba0e8c63d20cb20851.tar.gz |
beta 2011.10.28 19:22
Diffstat (limited to 'tex/context/base/tabl-xtb.mkvi')
-rw-r--r-- | tex/context/base/tabl-xtb.mkvi | 41 |
1 files changed, 28 insertions, 13 deletions
diff --git a/tex/context/base/tabl-xtb.mkvi b/tex/context/base/tabl-xtb.mkvi index 2d47c2c73..8fcda9e19 100644 --- a/tex/context/base/tabl-xtb.mkvi +++ b/tex/context/base/tabl-xtb.mkvi @@ -58,7 +58,7 @@ % - maybe correction when non float usage % - tagging needs to be checked % - maybe only tag the box - +% % option=stretch : equal distribution % option={stretch,width} : proportional distribution @@ -130,21 +130,36 @@ \let\stopxtable\relax +\def\x_table_default_buffer{x_table_\number\x_table_nesting} + \unexpanded\def\start_x_table[#settings]% maybe two arguments: [tag][settings] | [tag] | [settings] {\bgroup - \advance\x_table_nesting\plusone + \x_table_prepare{#settings}% + \edef\x_table_current_buffer{\x_table_default_buffer}% + \dodowithbuffer{\x_table_current_buffer}{startxtable}{stopxtable}\relax\x_table_process} + +\unexpanded\def\processxtablebuffer + {\dosingleempty\process_x_table_buffer} + +\let\normal_start_x_table\start_x_table + +\def\process_x_table_buffer[#name]% + {\bgroup + \let\start_x_table\start_process_x_table_buffer + \edef\x_table_current_buffer{#name}% + \x_table_process} + +\def\start_process_x_table_buffer[#settings]% + {\x_table_prepare{#settings}% + \let\start_x_table\normal_start_x_table} + +\def\x_table_prepare#settings% assumes \iffirstargument to be set + {\advance\x_table_nesting\plusone \dostarttagged\t!table\empty \forgetall \iffirstargument \set_checked_x_table{#settings}% - \fi - \normalexpanded - {\dodowithbuffer - {x_table:\number\x_table_nesting}% - {\e!start\v!xtable}% - {\e!stop\v!xtable} - \relax - \x_table_process}} % name start stop before after + \fi} \unexpanded\def\x_table_process {\setbox\scratchbox\vbox{\xtableparameter\c!spaceinbetween}% @@ -164,7 +179,7 @@ \let\start_x_cell\start_x_cell_one \let\stop_x_cell \stop_x_cell_one \settrialtypesetting - \doprocesstexbuffer{x_table:\number\x_table_nesting}\relax + \doprocesstexbuffer\x_table_current_buffer\relax \ctxcommand{x_table_reflow()}% \relax \endgroup @@ -173,7 +188,7 @@ \let\stop_x_row \stop_x_row_two \let\start_x_cell\start_x_cell_two \let\stop_x_cell \stop_x_cell_two - \doprocesstexbuffer{x_table:\number\x_table_nesting}\relax + \doprocesstexbuffer\x_table_current_buffer\relax \ctxcommand{x_table_construct()}% \relax \endgroup @@ -188,7 +203,7 @@ \fi\fi \ctxcommand{x_table_cleanup()}% \dostoptagged - \resetbuffer[x_table:\number\x_table_nesting]% + \resetbuffer[\x_table_current_buffer]% \egroup} \let\extratxtablesplitheight\zeropoint % might disappear so don't depend on it |