From e3d3d9ba0f9c92fa84a5ce0a71cc9f96b70ae5ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maximilian=20Ke=C3=9Fler?= Date: Sun, 16 Jan 2022 17:39:02 +0100 Subject: [PATCH] fixed bugs, working version again --- src/environments/groupthm.pysty3 | 58 ++++++++++++++++++-------------- 1 file changed, 32 insertions(+), 26 deletions(-) diff --git a/src/environments/groupthm.pysty3 b/src/environments/groupthm.pysty3 index 4c5ce13..e1882a0 100644 --- a/src/environments/groupthm.pysty3 +++ b/src/environments/groupthm.pysty3 @@ -23,6 +23,7 @@ __HEADER__(Grouping theorems for easier customization.) { \declaretheorem [ #2 ] { #1 } } + \cs_generate_variant:Nn \declaretheorem:nn { n V } @@ -30,12 +31,12 @@ __HEADER__(Grouping theorems for easier customization.) \msg_new:nnn { groupthm } { unknown ~ key } { - \msg_error_text:n { groupthm } Unknown key #1 supplied \msg_line_context: + Unknown ~ key ~ #1 ~ supplied ~ \msg_line_context: } \msg_new:nnn { groupthm } { unknown ~ group } { - \msg_error_text:n { groupthm} Unknown group #1 supplied \msg_line_context: + Unknown ~ group ~ #1 ~ supplied ~ \msg_line_context: } %%% Variables @@ -68,13 +69,13 @@ __HEADER__(Grouping theorems for easier customization.) postname .default:n = \c_empty_tl, postname .groups:n = { theoremgroup }, group .clist_set:N = \l_groupthm_key_group_clist, - group .default:n = \c_empty_clist, + group .default:n = {}, group .groups:n = { groupedtheorem }, mapname .clist_set:N = \l_groupthm_mapname_clist, - mapname .default:n = \c_empty_clist, + mapname .default:n = {}, mapname .groups:n = { theoremgroup }, thmtools .clist_set:N = \l_groupthm_thmtools_clist, - thmtools .default:n = \c_empty_clist, + thmtools .default:n = {}, thmtools .groups:n = { theoremgroup, groupedtheorem, theoremvariants } } @@ -100,7 +101,7 @@ __HEADER__(Grouping theorems for easier customization.) } \AddToHook { groupthm / thmtools } [ #1 ] { - \clist_put_right:Nn \l_groupthm_thmtools_clist) { #5 } + \clist_put_right:Nn \l_groupthm_thmtools_clist { #5 } } } } @@ -130,7 +131,7 @@ __HEADER__(Grouping theorems for easier customization.) { \cs_if_exist_use:cF { group_use_#1: } { - \msg_error:nnn { groupthm } { unknown ~ group } + \msg_error:nnn { groupthm } { unknown ~ group } { #1 } } } @@ -148,26 +149,26 @@ __HEADER__(Grouping theorems for easier customization.) \RemoveFromHook { groupthm / postname }[*] \RemoveFromHook { groupthm / mapname }[*] \RemoveFromHook { groupthm / thmtools }[*] + + \clist_map_function:nN { #2 } \group_use:n - \clist_map_function:nN { #1 } \group_use:n \hook_use:n { groupthm / prename } \hook_use:n { groupthm / postname } \hook_use:n { groupthm / mapname } + %% this next line fails somehow \hook_use:n { groupthm / thmtools } - \clist_put_right:Nx \l_groupthm_thmtools_tl + \clist_put_right:Nx \l_groupthm_thmtools_clist { name = \tl_use:N \l_groupthm_prename_tl \tl_use:N \l_groupthm_name_tl \tl_use:N \l_groupthm_postname_tl } - \declaretheorem:Vn - { - \l_groupthm_thmtools_clist - } - { #2 } + \declaretheorem:nV + { #1 } + \l_groupthm_thmtools_clist } \cs_generate_variant:Nn \new_grouped_theorem:nnnn { n V V V } @@ -175,14 +176,14 @@ __HEADER__(Grouping theorems for easier customization.) \cs_new:Npn \new_grouped_theorem_from_keys:nn #1 #2 { \keys_set_groups:nnn { groupthm } { groupedtheorem } { name, group, thmtools } - \keys_set_groups:nnn { groupthm } { groupedtheorem } { #1 } + \keys_set_groups:nnn { groupthm } { groupedtheorem } { #2 } % Construct name \tl_if_eq:NnTF \l_groupthm_key_name_tl { \c_novalue_tl } { \tl_set:Nx \l_groupthm_name_tl { - \text_titlecase_first:n {#2} + \text_titlecase_first:n {#1} } } { @@ -203,28 +204,33 @@ __HEADER__(Grouping theorems for easier customization.) %%% Default groups available -\NewTheoremGroup { all } +\NewTheoremGroup [ -] +]{ all } -\NewTheoremGroup { big } +\NewTheoremGroup [ thmtools = { sibling = insection } -] +] { big } -\NewTheoremGroup { dagger } +\NewTheoremGroup [ postname = { $\dagger$ }, thmtools = { sibling = insubsection } -] +] { dagger } -\NewTheoremGroup { small } +\NewTheoremGroup [ thmtools = { sibling = insubsection } -] +] { small } -\NewTheoremGroup { star } +\NewTheoremGroup [ thmtools = { sibling = insubsection }, postname = { * } -] +] { star } + +\NewTheoremGroup +[ + thmtools = { numbered = no } +] { starred }