diff options
Diffstat (limited to 'tex/context/base/tabl-xtb.mkvi')
-rw-r--r-- | tex/context/base/tabl-xtb.mkvi | 376 |
1 files changed, 188 insertions, 188 deletions
diff --git a/tex/context/base/tabl-xtb.mkvi b/tex/context/base/tabl-xtb.mkvi index 20036a869..f8900e2d1 100644 --- a/tex/context/base/tabl-xtb.mkvi +++ b/tex/context/base/tabl-xtb.mkvi @@ -82,18 +82,18 @@ \def\dotagxtablesignal{\char\zerocount}% not used \to \everyenableelements -\newdimen\x_table_width -\newdimen\x_table_height -\newdimen\x_table_depth % not used -\newdimen\x_table_distance -\newcount\x_table_nx -\newcount\x_table_ny -\newcount\x_table_mode -\newbox \x_table_box -\newcount\x_table_state % 0=empty 1=content 3=splitleft -\newdimen\x_table_final_width -\newcount\x_table_nesting -\newcount\x_table_skip_mode % 1 = skip +\newdimen\d_tabl_x_width +\newdimen\d_tabl_x_height +\newdimen\d_tabl_x_depth % not used +\newdimen\d_tabl_x_distance +\newcount\c_tabl_x_nx +\newcount\c_tabl_x_ny +\newcount\c_tabl_x_mode +\newbox \b_tabl_x_box +\newcount\c_tabl_x_state % 0=empty 1=content 3=splitleft +\newdimen\d_tabl_x_final_width +\newcount\c_tabl_x_nesting +\newcount\c_tabl_x_skip_mode % 1 = skip % \setupxtable[one][parent][a=b,c=d] % \setupxtable[one] [a=b,c=d] @@ -143,97 +143,97 @@ ] \unexpanded\def\startxtable - {\dosingleempty\start_x_table} + {\dosingleempty\tabl_x_start_table} \let\stopxtable\relax -\def\x_table_default_buffer{x_table_\number\x_table_nesting} +\def\tabl_x_default_buffer{x_table_\number\c_tabl_x_nesting} -\unexpanded\def\start_x_table[#settings]% maybe two arguments: [tag][settings] | [tag] | [settings] +\unexpanded\def\tabl_x_start_table[#settings]% maybe two arguments: [tag][settings] | [tag] | [settings] {\bgroup - \x_table_prepare{#settings}% - \edef\x_table_current_buffer{\x_table_default_buffer}% - \buffers_pickup{\x_table_current_buffer}{startxtable}{stopxtable}\relax\x_table_process} + \tabl_x_prepare{#settings}% + \edef\tabl_x_current_buffer{\tabl_x_default_buffer}% + \buff_pickup{\tabl_x_current_buffer}{startxtable}{stopxtable}\relax\tabl_x_process} \unexpanded\def\processxtablebuffer - {\dosingleempty\process_x_table_buffer} + {\dosingleempty\tabl_x_process_buffer} -\let\normal_start_x_table\start_x_table +\let\tabl_x_normal_start\tabl_x_start_table % These direct buffers can be somewhat faster but it's probably neglectable. % Anyway, no nesting is supported as we then need to catch (e.g.) rows and % keep track of nesting and have a more complex redefinition of nested % instanced \unknown\ it's not worth the trouble. -\def\process_x_table_buffer[#name]% +\def\tabl_x_process_buffer[#name]% {\bgroup - \let\start_x_table\start_process_x_table_buffer - \edef\x_table_current_buffer{#name}% - \x_table_get_buffer % pickup settings - \x_table_process} + \let\tabl_x_start_table\tabl_x_process_buffer + \edef\tabl_x_current_buffer{#name}% + \tabl_x_get_buffer % pickup settings + \tabl_x_process} -\def\ignore_start_x_table[#settings]% +\def\tabl_x_start_ignore[#settings]% {} -\def\start_process_x_table_buffer[#settings]% - {\x_table_prepare{#settings}% - \let\start_x_table\ignore_start_x_table +\def\tabl_x_process_buffer[#settings]% + {\tabl_x_prepare{#settings}% + \let\tabl_x_start_table\tabl_x_start_ignore \gobbleuntil\stopxtable} %D A bonus: you can use the following construct inside a macro. \unexpanded\def\startembeddedxtable - {\dosingleempty\start_embedded_x_table} + {\dosingleempty\tabl_x_embedded_start} -\def\start_embedded_x_table[#settings]#content\stopembeddedxtable - {\x_table_prepare{#settings}% +\def\tabl_x_embedded_start[#settings]#content\stopembeddedxtable + {\tabl_x_prepare{#settings}% \ctxcommand{assignbuffer("embedded_x_table",\!!bs\detokenize{#content}\!!es)}% \bgroup - \let\start_x_table\start_process_x_table_buffer - \edef\x_table_current_buffer{embedded_x_table}% - \x_table_process} + \let\tabl_x_start_table\tabl_x_process_buffer + \edef\tabl_x_current_buffer{embedded_x_table}% + \tabl_x_process} \let\stopembeddedxtable\relax %D We can also define xtables. \appendtoks - \setuevalue{\e!start\currentxtable}{\start_named_x_table{\currentxtable}}% - \setuevalue{\e!stop \currentxtable}{\stop_named_x_table}% + \setuevalue{\e!start\currentxtable}{\tabl_x_start_named{\currentxtable}}% + \setuevalue{\e!stop \currentxtable}{\tabl_x_stop_named}% \to \everydefinextable -\unexpanded\def\start_named_x_table#tag% +\unexpanded\def\tabl_x_start_named#tag% {\bgroup \edef\currentxtable{#tag}% - \dosingleempty\start_named_x_table_indeed} + \dosingleempty\tabl_x_start_named_indeed} -\unexpanded\def\start_named_x_table_indeed[#settings]% - {\advance\x_table_nesting\plusone +\unexpanded\def\tabl_x_start_named_indeed[#settings]% + {\advance\c_tabl_x_nesting\plusone \dostarttagged\t!table\empty \forgetall \iffirstargument \setupcurrentxtable[#settings]% \fi - \edef\x_table_current_buffer{\x_table_default_buffer}% - \normalexpanded{\buffers_pickup{\x_table_current_buffer}{\e!start\currentxtable}{\e!stop\currentxtable}\relax\x_table_process}} + \edef\tabl_x_current_buffer{\tabl_x_default_buffer}% + \normalexpanded{\buff_pickup{\tabl_x_current_buffer}{\e!start\currentxtable}{\e!stop\currentxtable}\relax\tabl_x_process}} -\unexpanded\def\stop_named_x_table +\unexpanded\def\tabl_x_stop_named {} %D Now we come to processing: -\def\x_table_prepare#settings% assumes \iffirstargument to be set - {\advance\x_table_nesting\plusone +\def\tabl_x_prepare#settings% assumes \iffirstargument to be set + {\advance\c_tabl_x_nesting\plusone \dostarttagged\t!table\empty \forgetall \iffirstargument - \set_checked_x_table{#settings}% + \tabl_x_set_checked{#settings}% \fi} -\def\x_table_get_buffer - {\ctxcommand{gettexbuffer("\x_table_current_buffer")}} +\def\tabl_x_get_buffer + {\ctxcommand{gettexbuffer("\tabl_x_current_buffer")}} -\unexpanded\def\x_table_process +\unexpanded\def\tabl_x_process {\begingroup % * \doifsomething{\xtableparameter\c!bodyfont} {\setupbodyfont[\xtableparameter\c!bodyfont]}% @@ -255,76 +255,76 @@ \linewidth\xtableparameter\c!rulethickness\relax % so we freeze it \begingroup - \let\start_x_row_yes \start_x_row_reflow_width_yes - \let\start_x_row_nop \start_x_row_reflow_width_nop - \let\stop_x_row \stop_x_row_reflow_width - \let\start_x_cell_yes\start_x_cell_reflow_width_yes - \let\start_x_cell_nop\start_x_cell_reflow_width_nop - \let\stop_x_cell \stop_x_cell_reflow_width + \let\tabl_x_start_row_yes \tabl_x_start_row_reflow_width_yes + \let\tabl_x_start_row_nop \tabl_x_start_row_reflow_width_nop + \let\tabl_x_stop_row \tabl_x_stop_row_reflow_width + \let\tabl_x_start_cell_yes\tabl_x_start_cell_reflow_width_yes + \let\tabl_x_start_cell_nop\tabl_x_start_cell_reflow_width_nop + \let\tabl_x_stop_cell \tabl_x_stop_cell_reflow_width \settrialtypesetting - \x_table_get_buffer + \tabl_x_get_buffer \ctxcommand{x_table_reflow_width()}\relax \endgroup \begingroup - \let\start_x_row_yes \start_x_row_reflow_height_yes - \let\start_x_row_nop \start_x_row_reflow_height_nop - \let\stop_x_row \stop_x_row_reflow_height - \let\start_x_cell_yes\start_x_cell_reflow_height_yes - \let\start_x_cell_nop\start_x_cell_reflow_height_nop - \let\stop_x_cell \stop_x_cell_reflow_height + \let\tabl_x_start_row_yes \tabl_x_start_row_reflow_height_yes + \let\tabl_x_start_row_nop \tabl_x_start_row_reflow_height_nop + \let\tabl_x_stop_row \tabl_x_stop_row_reflow_height + \let\tabl_x_start_cell_yes\tabl_x_start_cell_reflow_height_yes + \let\tabl_x_start_cell_nop\tabl_x_start_cell_reflow_height_nop + \let\tabl_x_stop_cell \tabl_x_stop_cell_reflow_height \settrialtypesetting - \x_table_get_buffer + \tabl_x_get_buffer \ctxcommand{x_table_reflow_height()}\relax \endgroup \begingroup - \let\start_x_row_yes \start_x_row_construct_yes - \let\start_x_row_nop \start_x_row_construct_nop - \let\stop_x_row \stop_x_row_construct - \let\start_x_cell_yes\start_x_cell_construct_yes - \let\start_x_cell_nop\start_x_cell_construct_nop - \let\stop_x_cell \stop_x_cell_construct - \x_table_get_buffer + \let\tabl_x_start_row_yes \tabl_x_start_row_construct_yes + \let\tabl_x_start_row_nop \tabl_x_start_row_construct_nop + \let\tabl_x_stop_row \tabl_x_stop_row_construct + \let\tabl_x_start_cell_yes\tabl_x_start_cell_construct_yes + \let\tabl_x_start_cell_nop\tabl_x_start_cell_construct_nop + \let\tabl_x_stop_cell \tabl_x_stop_cell_construct + \tabl_x_get_buffer \ctxcommand{x_table_construct()}\relax \endgroup \endgroup % * \ifinsidesplitfloat - \x_table_flush_float_split + \tabl_x_flush_float_split \else\ifinsidefloat - \x_table_flush_float_normal + \tabl_x_flush_float_normal \else \doifelse{\xtableparameter\c!split}\v!yes - \x_table_flush_flow_split - \x_table_flush_flow_normal + \tabl_x_flush_flow_split + \tabl_x_flush_flow_normal \fi\fi \ctxcommand{x_table_cleanup()}% \dostoptagged - \resetbuffer[\x_table_current_buffer]% + \resetbuffer[\tabl_x_current_buffer]% \egroup} \let\extratxtablesplitheight\zeropoint % might disappear so don't depend on it -\def\x_table_flush_float_normal +\def\tabl_x_flush_float_normal {\ctxcommand{x_table_flush{ method = "\v!normal" }}} -\def\x_table_flush_float_split +\def\tabl_x_flush_float_split {\resetdirecttsplit \edef\extrasplitfloatlines {\xtableparameter\c!split}% \edef\tsplitminimumfreespace{\the\dimexpr\extratxtablesplitheight+\xtableparameter\c!splitoffset\relax}% % \edef\tsplitminimumfreelines{2}% not needed here as we're precise enough - \let\tsplitdirectsplitter\x_table_split_splitter - \let\tsplitdirectwidth \x_table_final_width + \let\tsplitdirectsplitter\tabl_x_split_splitter + \let\tsplitdirectwidth \d_tabl_x_final_width \handledirecttsplit} -\def\x_table_flush_flow_normal +\def\tabl_x_flush_flow_normal {\ctxcommand{x_table_flush{ method = "\v!normal" }}} -\def\x_table_flush_flow_split +\def\tabl_x_flush_flow_split {\ctxcommand{x_table_flush{ method = "\v!split" }}} -\def\x_table_split_splitter#vsize% +\def\tabl_x_split_splitter#vsize% {\setbox\tsplitresult\vbox {\ctxcommand{x_table_flush{ method = "\v!split", vsize = \number\dimexpr#vsize }}}% - \ifcase\x_table_state + \ifcase\c_tabl_x_state \global\setfalse\somenextsplitofffloat \else \global\settrue \somenextsplitofffloat @@ -332,49 +332,49 @@ \unexpanded\def\startxrow {\begingroup - \doifnextoptionalelse\start_x_row_yes\start_x_row_nop} + \doifnextoptionalelse\tabl_x_start_row_yes\tabl_x_start_row_nop} -\def\start_x_row_reflow_width_yes[#settings]% +\def\tabl_x_start_row_reflow_width_yes[#settings]% {\setupcurrentxtable[#settings]% \ctxcommand{x_table_next_row()}} -\def\start_x_row_reflow_width_nop +\def\tabl_x_start_row_reflow_width_nop {\ctxcommand{x_table_next_row()}} -\def\stop_x_row_reflow_width +\def\tabl_x_stop_row_reflow_width {} -\let\start_x_row_reflow_height_yes\start_x_row_reflow_width_yes -\let\start_x_row_reflow_height_nop\start_x_row_reflow_width_nop -\let\stop_x_row_reflow_height \stop_x_row_reflow_width +\let\tabl_x_start_row_reflow_height_yes\tabl_x_start_row_reflow_width_yes +\let\tabl_x_start_row_reflow_height_nop\tabl_x_start_row_reflow_width_nop +\let\tabl_x_stop_row_reflow_height \tabl_x_stop_row_reflow_width -\def\start_x_row_construct_yes[#settings]% +\def\tabl_x_start_row_construct_yes[#settings]% {\setupcurrentxtable[#settings]% \dostarttagged\t!tablerow\empty \ctxcommand{x_table_next_row()}} -\def\start_x_row_construct_nop +\def\tabl_x_start_row_construct_nop {\dostarttagged\t!tablerow\empty \ctxcommand{x_table_next_row()}} -\def\stop_x_row_construct +\def\tabl_x_stop_row_construct {\dostoptagged} \unexpanded\def\stopxrow - {\stop_x_row + {\tabl_x_stop_row \endgroup} \unexpanded\def\startxcell - {\doifnextoptionalelse\start_x_cell_yes\start_x_cell_nop} + {\doifnextoptionalelse\tabl_x_start_cell_yes\tabl_x_start_cell_nop} \unexpanded\def\stopxcell - {\stop_x_cell} + {\tabl_x_stop_cell} -\def\begin_of_cell +\def\tabl_x_begin_of_cell {\inhibitblank \everypar{\delayedbegstrut}} -\def\end_of_cell +\def\tabl_x_end_of_cell {\ifhmode \delayedendstrut \par @@ -391,18 +391,18 @@ % obsolete some day. The let as well as the direct speed things up a bit. We % could also consider a \defaultxtableparameter. % -% \x_table_nx\defaultxtableparameter\c!nc{\defaultxtableparameter\c!nx\plusone} -% \x_table_ny\defaultxtableparameter\c!nr{\defaultxtableparameter\c!ny\plusone} +% \c_tabl_x_nx\defaultxtableparameter\c!nc{\defaultxtableparameter\c!nx\plusone} +% \c_tabl_x_ny\defaultxtableparameter\c!nr{\defaultxtableparameter\c!ny\plusone} % % Although this becomes kind of messy. It saves already time that we only check % for it when we have settings. -\def\set_x_table_hsize +\def\tabl_x_set_hsize {\hsize.25\maxdimen} % let's be reasonable -\unexpanded\def\start_x_cell_reflow_width_yes[#settings]% - {\setbox\x_table_box\hbox\bgroup - \ifnum\x_table_nesting>\plusone +\unexpanded\def\tabl_x_start_cell_reflow_width_yes[#settings]% + {\setbox\b_tabl_x_box\hbox\bgroup + \ifnum\c_tabl_x_nesting>\plusone \letxtableparameter\c!width \v!fit % overloads given width \letxtableparameter\c!height\v!fit % overloads given height \fi @@ -414,99 +414,99 @@ % \setupcurrentxtable[#settings]% % - \x_table_nx\directxtableparameter\c!nc\relax - \x_table_ny\directxtableparameter\c!nr\relax - \ifnum\x_table_nx=\plusone - \x_table_nx\directxtableparameter\c!nx\relax + \c_tabl_x_nx\directxtableparameter\c!nc\relax + \c_tabl_x_ny\directxtableparameter\c!nr\relax + \ifnum\c_tabl_x_nx=\plusone + \c_tabl_x_nx\directxtableparameter\c!nx\relax \fi - \ifnum\x_table_ny=\plusone - \x_table_ny\directxtableparameter\c!ny\relax + \ifnum\c_tabl_x_ny=\plusone + \c_tabl_x_ny\directxtableparameter\c!ny\relax \fi % - \x_table_distance\xtableparameter\c!distance\relax + \d_tabl_x_distance\xtableparameter\c!distance\relax \ctxcommand{x_table_init_reflow_width()}% \inheritedxtableframed\bgroup - \begin_of_cell - \set_x_table_hsize} + \tabl_x_begin_of_cell + \tabl_x_set_hsize} -\unexpanded\def\start_x_cell_reflow_width_nop - {\setbox\x_table_box\hbox\bgroup - \ifnum\x_table_nesting>\plusone +\unexpanded\def\tabl_x_start_cell_reflow_width_nop + {\setbox\b_tabl_x_box\hbox\bgroup + \ifnum\c_tabl_x_nesting>\plusone \letxtableparameter\c!width \v!fit % overloads given width \letxtableparameter\c!height\v!fit % overloads given height \fi - \x_table_nx\plusone - \x_table_ny\plusone - \x_table_distance\xtableparameter\c!distance\relax + \c_tabl_x_nx\plusone + \c_tabl_x_ny\plusone + \d_tabl_x_distance\xtableparameter\c!distance\relax \ctxcommand{x_table_init_reflow_width()}% \inheritedxtableframed\bgroup - \begin_of_cell - \set_x_table_hsize} + \tabl_x_begin_of_cell + \tabl_x_set_hsize} -\unexpanded\def\stop_x_cell_reflow_width - {\end_of_cell +\unexpanded\def\tabl_x_stop_cell_reflow_width + {\tabl_x_end_of_cell \egroup \egroup \ctxcommand{x_table_set_reflow_width()}} -\unexpanded\def\start_x_cell_reflow_height_yes[#settings]% - {\setbox\x_table_box\hbox\bgroup +\unexpanded\def\tabl_x_start_cell_reflow_height_yes[#settings]% + {\setbox\b_tabl_x_box\hbox\bgroup \ctxcommand{x_table_init_reflow_height()}% - \ifcase\x_table_skip_mode % can be sped up - \ifnum\x_table_nesting>\plusone + \ifcase\c_tabl_x_skip_mode % can be sped up + \ifnum\c_tabl_x_nesting>\plusone \letxtableparameter\c!height\v!fit % overloads given height \fi \setupcurrentxtable[#settings]% \relax - \letxtableparameter\c!width\x_table_width % overloads given width + \letxtableparameter\c!width\d_tabl_x_width % overloads given width \inheritedxtableframed\bgroup - \begin_of_cell + \tabl_x_begin_of_cell \fi} -\unexpanded\def\start_x_cell_reflow_height_nop - {\setbox\x_table_box\hbox\bgroup +\unexpanded\def\tabl_x_start_cell_reflow_height_nop + {\setbox\b_tabl_x_box\hbox\bgroup \ctxcommand{x_table_init_reflow_height()}% - \ifcase\x_table_skip_mode % can be sped up - \ifnum\x_table_nesting>\plusone + \ifcase\c_tabl_x_skip_mode % can be sped up + \ifnum\c_tabl_x_nesting>\plusone \letxtableparameter\c!height\v!fit % overloads given height \fi \relax - \letxtableparameter\c!width\x_table_width % overloads given width + \letxtableparameter\c!width\d_tabl_x_width % overloads given width \inheritedxtableframed\bgroup - \begin_of_cell + \tabl_x_begin_of_cell \fi} -\unexpanded\def\stop_x_cell_reflow_height - {\ifcase\x_table_skip_mode - \end_of_cell +\unexpanded\def\tabl_x_stop_cell_reflow_height + {\ifcase\c_tabl_x_skip_mode + \tabl_x_end_of_cell \egroup \fi \egroup \ctxcommand{x_table_set_reflow_height()}} -\unexpanded\def\start_x_cell_construct_yes[#settings]% +\unexpanded\def\tabl_x_start_cell_construct_yes[#settings]% {\dostarttagged\t!tablecell\empty % can't we just tag the box - \setbox\x_table_box\hbox\bgroup + \setbox\b_tabl_x_box\hbox\bgroup \setupcurrentxtable[#settings]% - \letxtableparameter\c!width \x_table_width % overloads given width - \letxtableparameter\c!height\x_table_height % overloads given height + \letxtableparameter\c!width \d_tabl_x_width % overloads given width + \letxtableparameter\c!height\d_tabl_x_height % overloads given height \ctxcommand{x_table_init_construct()}% \inheritedxtableframed\bgroup - \begin_of_cell + \tabl_x_begin_of_cell \dotagxtablecell} -\unexpanded\def\start_x_cell_construct_nop +\unexpanded\def\tabl_x_start_cell_construct_nop {\dostarttagged\t!tablecell\empty % can't we just tag the box - \setbox\x_table_box\hbox\bgroup - \letxtableparameter\c!width \x_table_width % overloads given width - \letxtableparameter\c!height\x_table_height % overloads given height + \setbox\b_tabl_x_box\hbox\bgroup + \letxtableparameter\c!width \d_tabl_x_width % overloads given width + \letxtableparameter\c!height\d_tabl_x_height % overloads given height \ctxcommand{x_table_init_construct()}% \inheritedxtableframed\bgroup - \begin_of_cell + \tabl_x_begin_of_cell \dotagxtablecell} -\unexpanded\def\stop_x_cell_construct - {\end_of_cell +\unexpanded\def\tabl_x_stop_cell_construct + {\tabl_x_end_of_cell \egroup \egroup \ctxcommand{x_table_set_construct()}% @@ -514,60 +514,60 @@ \unexpanded\def\startxcellgroup {\begingroup - \dosingleempty\start_x_cell_group} + \dosingleempty\tabl_x_start_cell_group} \unexpanded\def\stopxcellgroup {\endgroup} -\unexpanded\def\start_x_cell_group[#settings]% +\unexpanded\def\tabl_x_start_cell_group[#settings]% {\iffirstargument - \set_checked_x_table{#settings}% + \tabl_x_set_checked{#settings}% \fi} \unexpanded\def\startxrowgroup {\begingroup - \dosingleempty\start_x_row_group} + \dosingleempty\tabl_x_start_row_group} \unexpanded\def\stopxrowgroup {\dostoptagged \endgroup} -\unexpanded\def\start_x_row_group[#settings]% +\unexpanded\def\tabl_x_start_row_group[#settings]% {\iffirstargument - \set_checked_x_table{#settings}% + \tabl_x_set_checked{#settings}% \fi} -% \def\set_checked_x_table#settings +% \def\tabl_x_set_checked#settings % {\doifassignmentelse{#settings} % {\setupcurrentxtable[#settings]} % {\ifcsname\namedxtablehash{#settings}\s!parent\endcsname % \edef\currentxtable{#settings}% % \fi}} -\unexpanded\def\set_checked_x_table#settings% +\unexpanded\def\tabl_x_set_checked#settings% {\ifcsname\namedxtablehash{#settings}\s!parent\endcsname \edef\currentxtable{#settings}% \else \setupcurrentxtable[#settings]% \fi} -\unexpanded\def\startxtablehead{\begingroup\x_table_mode\plusone \dosingleempty\start_x_table_partition} -\unexpanded\def\startxtablefoot{\begingroup\x_table_mode\plustwo \dosingleempty\start_x_table_partition} -\unexpanded\def\startxtablenext{\begingroup\x_table_mode\plusthree\dosingleempty\start_x_table_partition} -\unexpanded\def\startxtablebody{\begingroup\x_table_mode\plusfour \dosingleempty\start_x_table_partition} +\unexpanded\def\startxtablehead{\begingroup\c_tabl_x_mode\plusone \dosingleempty\tabl_x_start_partition} +\unexpanded\def\startxtablefoot{\begingroup\c_tabl_x_mode\plustwo \dosingleempty\tabl_x_start_partition} +\unexpanded\def\startxtablenext{\begingroup\c_tabl_x_mode\plusthree\dosingleempty\tabl_x_start_partition} +\unexpanded\def\startxtablebody{\begingroup\c_tabl_x_mode\plusfour \dosingleempty\tabl_x_start_partition} -\unexpanded\def\start_x_table_partition[#settings]% +\unexpanded\def\tabl_x_start_partition[#settings]% {\iffirstargument - \set_checked_x_table{#settings}% + \tabl_x_set_checked{#settings}% \fi} -\unexpanded\def\stop_x_table_partition +\unexpanded\def\tabl_x_stop_partition {\endgroup} -\let\stopxtablehead\stop_x_table_partition -\let\stopxtablefoot\stop_x_table_partition -\let\stopxtablenext\stop_x_table_partition -\let\stopxtablebody\stop_x_table_partition +\let\stopxtablehead\tabl_x_stop_partition +\let\stopxtablefoot\tabl_x_stop_partition +\let\stopxtablenext\tabl_x_stop_partition +\let\stopxtablebody\tabl_x_stop_partition %D This is an experiment! Beware: you can create loops by using nested %D references to already chained settings. @@ -606,20 +606,20 @@ \unexpanded\def\startxgroup {\begingroup - \doifnextoptionalelse\start_x_group_delayed_one\relax} + \doifnextoptionalelse\tabl_x_start_group_delayed_one\relax} \unexpanded\def\stopxgroup {\endgroup} -\def\start_x_group_delayed_one[#tag]% +\def\tabl_x_start_group_delayed_one[#tag]% % {\ifcsname\namedxtablehash{#tag}\s!parent\endcsname {\ifcsname\??xtablecheck#tag\endcsname - \expandafter\start_x_group_delayed_two + \expandafter\tabl_x_start_group_delayed_two \else \expandafter\setupcurrentxtable \fi[#tag]} -\def\start_x_group_delayed_two[#tag]% +\def\tabl_x_start_group_delayed_two[#tag]% {\ifx\currentxtable\empty \else \chaintocurrentxtable{#tag}% \fi @@ -635,50 +635,50 @@ \unexpanded\def\startxcell {\begingroup - \doifnextoptionalelse\start_x_cell_delayed_one\start_x_cell_nop} + \doifnextoptionalelse\tabl_x_start_cell_delayed_one\tabl_x_start_cell_nop} -\def\start_x_cell_delayed_one[#tag]% +\def\tabl_x_start_cell_delayed_one[#tag]% % {\ifcsname\namedxtablehash{#tag}\s!parent\endcsname {\ifcsname\??xtablecheck#tag\endcsname - \expandafter\start_x_cell_delayed_two + \expandafter\tabl_x_start_cell_delayed_two \else - \expandafter\start_x_cell_yes + \expandafter\tabl_x_start_cell_yes \fi[#tag]} -\def\start_x_cell_delayed_two[#tag]% +\def\tabl_x_start_cell_delayed_two[#tag]% {\ifx\currentxtable\empty \else \chaintocurrentxtable{#tag}% \fi \edef\currentxtable{#tag}% - \doifnextoptionalelse\start_x_cell_yes\start_x_cell_nop} + \doifnextoptionalelse\tabl_x_start_cell_yes\tabl_x_start_cell_nop} \unexpanded\def\stopxcell - {\stop_x_cell + {\tabl_x_stop_cell \endgroup} % rows \unexpanded\def\startxrow {\begingroup - \doifnextoptionalelse\start_x_row_delayed_one\start_x_row_nop} + \doifnextoptionalelse\tabl_x_start_row_delayed_one\tabl_x_start_row_nop} -\def\start_x_row_delayed_one[#tag]% +\def\tabl_x_start_row_delayed_one[#tag]% % {\ifcsname\namedxtablehash{#tag}\s!parent\endcsname {\ifcsname\??xtablecheck#tag\endcsname - \expandafter\start_x_row_delayed_two + \expandafter\tabl_x_start_row_delayed_two \else - \expandafter\start_x_row_yes + \expandafter\tabl_x_start_row_yes \fi[#tag]} -\def\start_x_row_delayed_two[#tag]% +\def\tabl_x_start_row_delayed_two[#tag]% {\ifx\currentxtable\empty \else \chaintocurrentxtable{#tag}% \fi \edef\currentxtable{#tag}% - \doifnextoptionalelse\start_x_row_yes\start_x_row_nop} + \doifnextoptionalelse\tabl_x_start_row_yes\tabl_x_start_row_nop} \unexpanded\def\stopxrow - {\stop_x_row + {\tabl_x_stop_row \endgroup} \protect \endinput |