[Vastly superior, more fool-proof and consistent table system Panu Kalliokoski **20040720101107 Keywords: (atehwa@sange.fi--2004/stx2any--prod--2--patch-138) ] { hunk ./common/markup.lm4 288 +! Table infrastructure + +Generic table environment. These transform low-level `w_horizbr' and +`w_linebr' into high-level environment calls. The environment is based +on `w_table', to be defined output-format-specifically. +{{{ +w_derive_env(`table', `w_table', 0, +`w_setup_list(columns, $@)w_newcounter(column)w_newcounter(row,column)'dnl +`pushdef(`w_pending_block_hook',)'dnl +`pushdef(`w_linebr', + `w_end(w_cell)`'w_end(w_row)`'define(`w_pending_block_hook', + `w_begin_row`'w_begin_cell`'')')'dnl +`pushdef(`w_horizbr', `w_end(w_cell)`'w_begin_cell`'')'dnl +`pushdef(`w_sectbreak', `w_table_rule(w_length_list(columns))')', +`w_begin_row`'w_begin_cell`'undefine(`@w_para_flag')', +, +`popdef(`w_linebr')popdef(`w_horizbr')popdef(`w_sectbreak')'dnl +`popdef(`w_pending_block_hook')w_delcounter(column)w_delcounter(row)'dnl +`w_unsetup_list(columns)') +define(`w_begin_row', +`w_reinit_list(columns)w_stepcounter(row)'dnl +`w_beg(w_row, w_counter_arabic(row))`'') +define(`w_begin_cell', +`w_stepcounter(column)w_beg(w_cell, w_counter_arabic(row), + w_counter_arabic(column), w_next_in_list(columns))') +}}} + hunk ./docbook-xml/make.lm4 133 - -w_define_env(table, - -`pushdef(`w_sectbreak',)'dnl TODO? -`pushdef(`w_linebr', `w_close')'dnl -`pushdef(`w_horizbr', `w_close')'dnl -`w_closew_make_tablespec($@)'dnl -`undefine(`@w_para_flag')'dnl -`', - -`w_closew_softopen`''dnl -`popdef(`w_linebr')popdef(`w_horizbr')popdef(`w_sectbreak')') +w_define_env(w_table, +`w_closew_make_tablespec($@)w_nl', +`w_closew_softopen`'') +w_define_env(w_row, `w_close', `w_close') +w_define_env(w_cell, `w_close', `w_close') +define(`w_table_rule',) dnl TODO? hunk ./html/make.lm4 77 -define(`w_cell_markup', -`') -define(`w_begin_cell', `w_cell_markup(w_next_in_list(columns))') -define(`w_prepare_row', -`define(`w_pending_block_hook', `w_begin_cell`'')') - -w_define_env(table, - -`w_setup_list(columns, $@)'dnl -`pushdef(`w_pending_block_hook',)'dnl -`pushdef(`w_sectbreak', - `
')'dnl -`pushdef(`w_linebr', `w_reinit_list(columns)w_prepare_row')'dnl -`pushdef(`w_horizbr', `w_begin_cell`'')'dnl -`undefine(`@w_para_flag')'dnl -`w_prepare_row', - -`ifelse(defn(`w_pending_block_hook'),,)
'dnl -`w_unsetup_list(columns)'dnl -`popdef(`w_linebr')popdef(`w_horizbr')popdef(`w_sectbreak')'dnl -`popdef(`w_pending_block_hook')') +w_define_env(w_table, `', `
') +w_define_env(w_row, `', `') +w_define_env(w_cell, +`', `') +define(`w_table_rule', `
') hunk ./latex/make.lm4 84 -define(`w_img', `w_ensure_pkg(graphicx)\includegraphics{w_file(`$1.'w_picture_suffix)}') +define(`w_img', +`w_ensure_pkg(graphicx)\includegraphics{w_file(`$1.'w_picture_suffix)}') hunk ./latex/make.lm4 95 -`ifelse(`$*',,,`ifelse(`$1',p,`p{0.3\textwidth}',`$1')`'w_make_tablespec(shift($@))')') -w_define_env(`table', -`pushdef(`w_horizbr', `&')'dnl -`pushdef(`w_sectbreak', `\hline')'dnl -`\begin{tabular}{w_make_tablespec($@)}w_nl', -`\end{tabular}popdef(`w_horizbr')popdef(`w_sectbreak')') +`ifelse(`$*',,, + `ifelse(`$1',p,`p{0.3\textwidth}',`$1')`'w_make_tablespec(shift($@))')') +w_define_env(`w_table', +`\begin{tabular}{w_make_tablespec($@)}w_nl', `\end{tabular}w_nl') +w_define_env(`w_row',,`undefine(`@w_in_row_flag')\\') +w_define_env(`w_cell', +`ifdef(`@w_in_row_flag',`&')define(`@w_in_row_flag',t)',) +define(`w_table_rule', `\hline') hunk ./man/make.lm4 97 -define(`w_begin_cell', -`ifelse(w_next_in_list(columns),p,`w_table_emb_text')') -define(`w_prepare_row', -`define(`w_pending_block_hook', ``'w_begin_cell`'')') - -w_define_env(table, - -`w_setup_list(columns, $@)'dnl -`pushdef(`w_horizbr', - `w_end_emb_text w_begin_cell')'dnl -`pushdef(`w_linebr', - `w_end_emb_text`'w_reinit_list(columns)w_prepare_row`'define(`w_eline', - `define(`w_eline',` \')')')'dnl -`pushdef(`w_eline',` \')pushdef(`w_sectbreak',`_')pushdef(`w_paragraph',)'dnl -`\&w_nl`'.TS`'w_nl`'w_make_tablespec($@).w_nl`'w_begin_cell', - -`w_end_emb_text\&w_nl`'.TE`'w_nl`''dnl -`popdef(`w_eline')popdef(`w_linebr')popdef(`w_sectbreak')'dnl -`popdef(`w_horizbr')popdef(`w_paragraph')') - -define(`w_end_emb_text',) -define(`w_table_emb_text', -`T{w_nl\&define(`w_end_emb_text', - `\&w_nl`'T}define(`w_end_emb_text',)')') +w_define_env(w_table, +`pushdef(`w_eline',` \')\&w_nl`'.TS`'w_nl`'w_make_tablespec($@).w_nl`'', +`\&w_nl`'.TE`'w_nl`'popdef(`w_eline')') +w_define_env(w_row,, +`undefine(`@w_in_row_flag')define(`w_eline',`define(`w_eline',` \')')') +w_define_env(w_cell, +`ifdef(`@w_in_row_flag',` ')define(`@w_in_row_flag',t)'dnl +`ifelse(`$3',p,`T{w_nl\&')', +`ifelse(`$3',p,`\&w_nl`'T}')') +define(`w_table_rule', `_') hunk ./regression/table.docbook-xml 10 -Emigration is nice! foo -Immigration is even nicer! bar - -account name miscellaneous notes + +Emigration is nice! foo +Immigration is even nicer! bar + + +account name miscellaneous notes hunk ./regression/table.docbook-xml 17 -pkalliok Panu not trustworthy, but a nice fellow overall. Good to -get acquainted with. -atehwa Panu the same person -root superuser found in every Unix under the sky - -j", -L J -`_' - -first row -first row, first item -first row, second item - -second row -second row, first item -second row, second item - - -still works? +pkalliok Panu not trustworthy, but a nice fellow overall. Good to +get acquainted with. +atehwa Panu the same person +root superuser found in every Unix under the sky + + +j", +L J +`_' + + +still works? hunk ./regression/table.html 12 -Immigration is even nicer! bar - +Immigration is even nicer! bar + hunk ./regression/table.html 19 -root superuser found in every Unix under the sky - +root superuser found in every Unix under the sky + hunk ./regression/table.html 23 -`_' - - - + hunk ./regression/table.html 25 +

hunk ./regression/table.latex 16 -Immigration is even nicer! & bar +Immigration is even nicer! & bar \\ hunk ./regression/table.latex 18 + hunk ./regression/table.latex 25 -root & superuser & found in every Unix under the sky +root & superuser & found in every Unix under the sky \\ hunk ./regression/table.latex 27 + hunk ./regression/table.latex 31 -`&_&' +`&_&'\\ hunk ./regression/table.latex 33 -\begin{tabular}{rp{0.3\textwidth}p{0.3\textwidth}} -first row -&first row, first item -&first row, second item -\\ -second row -&second row, first item -&second row, second item -\\ -\end{tabular} + + hunk ./regression/table.man 10 -T} bar \ +T} bar hunk ./regression/table.man 28 -\& found in every Unix under the sky \ +\& found in every Unix under the sky \& +T} hunk ./regression/table.man 31 -T}\& hunk ./regression/table.man 37 -` _ ' \ +` _ ' hunk ./regression/table.man 40 -\& -.TS -r l l . -first row \ - T{ -\&first row, first item \ -\& -T} T{ -\&first row, second item \ -\& -T} -second row - T{ -\&second row, first item \ -\& -T} T{ -\&second row, second item \ -\& -T} -\& -.TE +.PP hunk ./regression/table.test 4 -Immigration is even nicer! || bar +Immigration is even nicer! || bar // hunk ./regression/table.test 13 -root || superuser || found in every Unix under the sky +root || superuser || found in every Unix under the sky // hunk ./regression/table.test 19 -w_bq||_||' +w_bq||_||'// hunk ./regression/table.test 22 -w_beg(listtable, r, p, p) -* first row - * first row, first item - * first row, second item -* second row - * second row, first item - * second row, second item -w_end(listtable) +dnl w_beg(listtable, r, p, p) +dnl * first row +dnl * first row, first item +dnl * first row, second item +dnl * second row +dnl * second row, first item +dnl * second row, second item +dnl w_end(listtable) }

first row -first row, first item -first row, second item -
second row -second row, first item -second row, second item -
`_'