diff options
Diffstat (limited to 'Master/texmf-dist/tex/luatex/lutabulartools/lutabulartools.sty')
-rw-r--r-- | Master/texmf-dist/tex/luatex/lutabulartools/lutabulartools.sty | 63 |
1 files changed, 37 insertions, 26 deletions
diff --git a/Master/texmf-dist/tex/luatex/lutabulartools/lutabulartools.sty b/Master/texmf-dist/tex/luatex/lutabulartools/lutabulartools.sty index 1d2522b099d..4ca37525780 100644 --- a/Master/texmf-dist/tex/luatex/lutabulartools/lutabulartools.sty +++ b/Master/texmf-dist/tex/luatex/lutabulartools/lutabulartools.sty @@ -1,5 +1,5 @@ % Kale Ewasiuk (kalekje@gmail.com) -% 2022-11-27 +% 2022-11-29 % Copyright (C) 2021-2022 Kale Ewasiuk % % Permission is hereby granted, free of charge, to any person obtaining a copy @@ -23,7 +23,7 @@ % OR OTHER DEALINGS IN THE SOFTWARE. \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{lutabulartools}[2022-11-27] +\ProvidesPackage{lutabulartools}[2022-11-29] \RequirePackage{booktabs} \RequirePackage{multirow} @@ -39,6 +39,7 @@ \newcommand{\lttdebugON}{\luadirect{lutabt.debug = true}} \newcommand{\lttdebugOFF}{\luadirect{lutabt.debug = true}} +\newcommand{\lttdebugprt}{\luadirect{__lutabt__debugprtall()}} \newcolumntype{\lttltrim}{} \newcolumntype{\lttrtrim}{} @@ -46,15 +47,38 @@ %%% midrule every X rows -\def\midruleX{\aftergroup\aftergroup\aftergroup\midruleX@aux} -\def\midruleX@aux{\luadirect{lutabt.mrX.midruleX('')}} % todo argument for vadjust or noalign?? -\NewDocumentCommand{\setmidruleX}{s O{N} m}{% +% NO LONGER NEEDED %%% this was used for @{\midruleX} in colspec, but I made a better way +%\def\midruleX{\aftergroup\aftergroup\aftergroup\midruleX@aux} +%\def\midruleX@aux{\luadirect{lutabt.mrX.midruleX('')}} % +%%% + +\NewDocumentCommand{\midruleX}{s O{N} m}{% \MakeluastringCommands[N]{#2}% \luadirect{lutabt.mrX.set_midruleX(\plluastringA{#3}, \luastring{#1})}% } -\NewDocumentCommand{\midruleXreset}{O{0}}{\luadirect{lutabt.mrX.cntr = tonumber(\luastring{#1})}} -\NewCommandCopy\resetmidruleX\midruleXreset +\NewDocumentCommand{\resetmidruleX}{O{0}}{\luadirect{lutabt.mrX.reset_midruleX(\luastring{#1})}} + + +\NewDocumentCommand{\settabular}{s m}{\luadirect{lutabt.set_tabular(\luastring{#2})}} % + +\def\ltt@resetrownum{\luadirect{lutabt.reset_rows()}} +\def\ltt@resetrownumhard{\luadirect{lutabt.row_num = 0}} +\def\ltt@autotoprule{\luadirect{lutabt.process_auto_topbot_rule('top')}} +\def\ltt@autobotrule{\luadirect{lutabt.process_auto_topbot_rule('bottom')}} +\def\ltt@storeautotbandfalse{\luadirect{ + lutabt.auto_topbot_old = lutabt.auto_topbot + lutabt.auto_topbot = false}} +\def\ltt@restoreautotb{\luadirect{lutabt.auto_topbot = lutabt.auto_topbot_old}} +\def\ltt@inctablelevel{\luadirect{lutabt.tablelevel = lutabt.tablelevel + 1}} +\def\ltt@dectablelevel{\luadirect{lutabt.tablelevel = lutabt.tablelevel - 1}} +\def\ltt@midruleXoff{\luadirect{lutabt.mrX.off()}} +\def\ltt@actlevelreset{\luadirect{lutabt.actlvl = 1}} + +\apptocmd{\@arraycr}{\luadirect{lutabt.process_auto_rules()}}{}{} + + +\NewDocumentCommand{\midrulesat}{m}{\luadirect{lutabt.add_auto_midrules(\luastring{#1})}} %%%% @@ -138,16 +162,11 @@ -\NewDocumentCommand{\midrulesat}{m}{\luadirect{lutabt.add_auto_midrules(\luastring{#1})}} +\apptocmd{\LTXtable}{\ltt@actlevelreset\ltt@resetrownumhard\luadirect{lutabt.tablelevel=0}}{}{} -\NewDocumentCommand{\settabular}{s m}{\luadirect{lutabt.set_tabular(\luastring{#2})}} % make kv interface for auto - -\def\ltt@resetrownum{\luadirect{lutabt.reset_rows()}} -\def\ltt@autotoprule{\luadirect{lutabt.process_auto_topbot_rule('top')}} -\def\ltt@autobotrule{\luadirect{lutabt.process_auto_topbot_rule('bottom')}} \let\oldtabular\tabular \let\oldendtabular\endtabular @@ -155,9 +174,7 @@ \luadirect{lutabt.set_col_spec(\luastringN{#2})}% \oldtabular[#1]{\lttltrim#2\lttrtrim}\ltt@inctablelevel\ltt@resetrownum\ltt@autotoprule% } -\def\endtabular{\ltt@autobotrule\ltt@dectablelevel\oldendtabular} - - +\def\endtabular{\ltt@autobotrule\ltt@midruleXoff\ltt@dectablelevel\oldendtabular} \expandafter\let\expandafter\oldtabulars\csname tabular*\endcsname @@ -166,27 +183,21 @@ \luadirect{lutabt.set_col_spec(\luastringN{#3})}% \begin{oldtabulars}{#1}[#2]{\lttltrim#3\lttrtrim}\ltt@inctablelevel\ltt@resetrownum\ltt@autotoprule% }{% - \ltt@autobotrule\ltt@dectablelevel\end{oldtabulars}% + \ltt@autobotrule\ltt@midruleXoff\ltt@dectablelevel\end{oldtabulars}% } %%% NOTE tabularx uses tabular*, NO NEED TO CHANGE TABULARX! + \let\oldlongtable\longtable \RenewExpandableDocumentCommand{\longtable}{ O{l} m }{% - \luadirect{lutabt.auto_topbot_old = lutabt.auto_topbot - lutabt.auto_topbot = false}% + \ltt@storeautotbandfalse% \luadirect{lutabt.set_col_spec(\luastringN{#2})}% \oldlongtable[#1]{\lttltrim#2\lttrtrim}\ltt@inctablelevel\ltt@resetrownum% } \let\oldendlongtable\endlongtable -\def\endlongtable{\luadirect{lutabt.auto_topbot = lutabt.auto_topbot_old} - \ltt@dectablelevel\oldendlongtable}% restore status of auto topbot rule - -\apptocmd{\@arraycr}{\luadirect{lutabt.process_auto_rules()}}{}{} +\def\endlongtable{\ltt@restoreautotb\ltt@midruleXoff\ltt@dectablelevel\oldendlongtable}% restore status of auto topbot rule -\def\ltt@inctablelevel{\luadirect{lutabt.tablelevel = lutabt.tablelevel + 1}} -\def\ltt@dectablelevel{\luadirect{lutabt.tablelevel = lutabt.tablelevel - 1}} - %s0,spec,mcspec,pre,content % Magic Cell \NewExpandableDocumentCommand{\MC}{ s O{} O{} D<>{} D(){x} m }{% |