setup sockets for array patches

This commit is contained in:
Ulrike Fischer 2024-11-29 16:45:29 +01:00
parent 3c70bd11ef
commit 13b820a339

View File

@ -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}