implement hook rules for theorem groups
This commit is contained in:
parent
a8cca1cbc6
commit
886e562574
1 changed files with 31 additions and 1 deletions
|
@ -54,6 +54,8 @@ __HEADER__(Grouping theorems for easier customization.)
|
||||||
\tl_new:N \l_groupthm_mapname_clist
|
\tl_new:N \l_groupthm_mapname_clist
|
||||||
\tl_new:N \l_groupthm_thmtools_clist
|
\tl_new:N \l_groupthm_thmtools_clist
|
||||||
|
|
||||||
|
\tl_new:N \l_groupthm_relation_tl
|
||||||
|
|
||||||
|
|
||||||
%%% Keys
|
%%% Keys
|
||||||
|
|
||||||
|
@ -160,6 +162,8 @@ __HEADER__(Grouping theorems for easier customization.)
|
||||||
\hook_gremove_code:nn { groupthm / thmtools }{*}
|
\hook_gremove_code:nn { groupthm / thmtools }{*}
|
||||||
|
|
||||||
\clist_map_function:nN { #2 } \group_use:n
|
\clist_map_function:nN { #2 } \group_use:n
|
||||||
|
|
||||||
|
% \ShowHook{ groupthm / postname }
|
||||||
\hook_use:n { groupthm / prename }
|
\hook_use:n { groupthm / prename }
|
||||||
\hook_use:n { groupthm / postname }
|
\hook_use:n { groupthm / postname }
|
||||||
\hook_use:n { groupthm / mapname }
|
\hook_use:n { groupthm / mapname }
|
||||||
|
@ -211,6 +215,32 @@ __HEADER__(Grouping theorems for easier customization.)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
\cs_generate_variant:Nn \hook_gset_rule:nnnn { n n V n }
|
||||||
|
|
||||||
|
% hook group1 relation group2
|
||||||
|
\cs_new:Npn \declare_theorem_group_rule:nnnn #1 #2 #3 #4
|
||||||
|
{
|
||||||
|
\tl_set:Nx \l_groupthm_relation_tl { \tl_trim_spaces:n { #3 } }
|
||||||
|
|
||||||
|
\tl_if_eq:nnT { higher } { #3 }
|
||||||
|
{
|
||||||
|
\tl_set:Nn \l_groupthm_relation_tl { after }
|
||||||
|
}
|
||||||
|
|
||||||
|
\tl_if_eq:nnT { lower } { #3 }
|
||||||
|
{
|
||||||
|
\tl_set:Nn \l_groupthm_relation_tl { before }
|
||||||
|
}
|
||||||
|
|
||||||
|
\hook_gset_rule:nnVn {#1} {#2} \l_groupthm_relation_tl {#4}
|
||||||
|
}
|
||||||
|
|
||||||
|
% hook, group1, relation, group2
|
||||||
|
\NewDocumentCommand { \DeclareTheoremGroupRule } { O{??} m m m }
|
||||||
|
{
|
||||||
|
\declare_theorem_group_rule:nnnn {#1} {#2} {#3} {#4}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
%%% Default groups available
|
%%% Default groups available
|
||||||
|
|
||||||
|
@ -237,7 +267,7 @@ __HEADER__(Grouping theorems for easier customization.)
|
||||||
\NewTheoremGroup
|
\NewTheoremGroup
|
||||||
[
|
[
|
||||||
thmtools = { sibling = insubsection },
|
thmtools = { sibling = insubsection },
|
||||||
postname = { * }
|
postname = { * },
|
||||||
] { star }
|
] { star }
|
||||||
|
|
||||||
\NewTheoremGroup
|
\NewTheoremGroup
|
||||||
|
|
Loading…
Reference in a new issue