diff --git a/luamml-patches-array.sty b/luamml-patches-array.sty index b08d561..9e83552 100644 --- a/luamml-patches-array.sty +++ b/luamml-patches-array.sty @@ -3,99 +3,42 @@ \lua_now:n { require'luamml-array' } -\cs_set:Npn \@classz { - \@classx - \@tempcnta \count@ - \prepnext@tok - \@addtopreamble { - \ifcase \@chnum - \hfil - \hskip 1sp - \d@llarbegin - \cs_if_eq:NNTF \d@llarbegin \begingroup { - \insert@column - \d@llarend - } { - \__luamml_array_init_col: - \insert@column - \luamml_save:nn {} {mtd} - \d@llarend - \__luamml_array_finalize_col:w 0~ - } - \do@row@strut - \hfil - \or - \hskip 1sp - \d@llarbegin - \cs_if_eq:NNTF \d@llarbegin \begingroup { - \insert@column - \d@llarend - } { - \__luamml_array_init_col: - \insert@column - \luamml_save:nn {} {mtd} - \d@llarend - \__luamml_array_finalize_col:w 1~ - } - \do@row@strut - \hfil - \or - \hfil - \hskip 1sp - \d@llarbegin - \cs_if_eq:NNTF \d@llarbegin \begingroup { - \insert@column - \d@llarend - } { - \__luamml_array_init_col: - \insert@column - \luamml_save:nn {} {mtd} - \d@llarend - \__luamml_array_finalize_col:w 2~ - } - \do@row@strut - \or - \setbox \ar@mcellbox \vbox \@startpbox { \@nextchar } - \insert@pcolumn - \@endpbox - \ar@align@mcell - \do@row@strut - \or - \vtop \@startpbox { \@nextchar } - \insert@pcolumn - \@endpbox - \do@row@strut - \or - \vbox \@startpbox { \@nextchar } - \insert@pcolumn - \@endpbox - \do@row@strut - \fi +\str_if_exist:cF { l__socket_tagsupport/math/luamml/array/save_plug_str } + { + \NewSocket{tagsupport/math/luamml/array/save}{0} + \NewSocket{tagsupport/math/luamml/array/finalize}{0} + \NewSocket{tagsupport/math/luamml/array/initcol}{0} + \NewSocket{tagsupport/math/luamml/array/savecol}{0} + \NewSocket{tagsupport/math/luamml/array/finalizecol}{1} } - \prepnext@tok -} -\IfPackageAtLeastTF {array} {2023/12/11} { - \cs_set:Npn \endarray { - \tbl_crcr:n{endarray} - \__luamml_array_save_array: - \egroup - \UseTaggingSocket{tbl/finalize} - \tbl_restore_outer_cell_data: - \egroup - \mode_if_math:T { \__luamml_array_finalize_array: } - \@arrayright - \gdef \@preamble {} - } -} { - \cs_new_eq:NN \insert@pcolumn \insert@column - \cs_set:Npn \endarray { - \crcr - \__luamml_array_save_array: - \egroup - \egroup - \mode_if_math:T { \__luamml_array_finalize_array: } - \@arrayright - \gdef \@preamble {} - } -} +\NewSocketPlug{tagsupport/math/luamml/array/save}{default} + { + \__luamml_array_save_array: + } + +\NewSocketPlug{tagsupport/math/luamml/array/finalize}{default} + { + \mode_if_math:T { \__luamml_array_finalize_array: } + } + +\NewSocketPlug{tagsupport/math/luamml/array/initcol}{default} + { + \__luamml_array_init_col: + } + +\NewSocketPlug{tagsupport/math/luamml/array/savecol}{default} + { + \luamml_save:nn {} {mtd} + } + +\NewSocketPlug{tagsupport/math/luamml/array/finalizecol}{default} + { + \__luamml_array_finalize_col:w #1~ + } + +\AssignSocketPlug{tagsupport/math/luamml/array/save}{default} +\AssignSocketPlug{tagsupport/math/luamml/array/finalize}{default} +\AssignSocketPlug{tagsupport/math/luamml/array/initcol}{default} +\AssignSocketPlug{tagsupport/math/luamml/array/savecol}{default} +\AssignSocketPlug{tagsupport/math/luamml/array/finalizecol}{default}