summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex')
-rw-r--r--Master/texmf-dist/tex/latex/zref-clever/zref-clever.sty108
1 files changed, 70 insertions, 38 deletions
diff --git a/Master/texmf-dist/tex/latex/zref-clever/zref-clever.sty b/Master/texmf-dist/tex/latex/zref-clever/zref-clever.sty
index 5a91bc017a9..03bab0e35d0 100644
--- a/Master/texmf-dist/tex/latex/zref-clever/zref-clever.sty
+++ b/Master/texmf-dist/tex/latex/zref-clever/zref-clever.sty
@@ -52,7 +52,7 @@
'zref-clever' requires a LaTeX kernel \zrefclever@required@kernel\space or newer.%
}%
}%
-\ProvidesExplPackage {zref-clever} {2024-05-20} {0.4.5}
+\ProvidesExplPackage {zref-clever} {2024-08-23} {0.4.6}
{Clever LaTeX cross-references based on zref}
\RequirePackage { zref-base }
\RequirePackage { zref-user }
@@ -102,6 +102,15 @@
\zref@addprop \ZREF@mainlist { zc@cntval }
\zref@newprop* { zc@pgval } [0] { \int_use:c { c@page } }
\zref@addprop \ZREF@mainlist { zc@pgval }
+\cs_new:Npn \__zrefclever_get_enclosing_counters:n #1
+ {
+ \cs_if_exist:cT { c@ \__zrefclever_counter_reset_by:n {#1} }
+ {
+ { \__zrefclever_counter_reset_by:n {#1} }
+ \__zrefclever_get_enclosing_counters:e
+ { \__zrefclever_counter_reset_by:n {#1} }
+ }
+ }
\cs_new:Npn \__zrefclever_get_enclosing_counters_value:n #1
{
\cs_if_exist:cT { c@ \__zrefclever_counter_reset_by:n {#1} }
@@ -111,6 +120,7 @@
{ \__zrefclever_counter_reset_by:n {#1} }
}
}
+\cs_generate_variant:Nn \__zrefclever_get_enclosing_counters:n { e }
\cs_generate_variant:Nn \__zrefclever_get_enclosing_counters_value:n { e }
\cs_new:Npn \__zrefclever_counter_reset_by:n #1
{
@@ -144,6 +154,8 @@
\l__zrefclever_current_counter_tl
}
\zref@addprop \ZREF@mainlist { zc@enclval }
+\zref@newprop { zc@enclcnt }
+ { \__zrefclever_get_enclosing_counters:e \l__zrefclever_current_counter_tl }
\int_new:N \g__zrefclever_page_format_int
\tl_new:N \g__zrefclever_prev_page_format_tl
\AddToHook { shipout / before }
@@ -2418,25 +2430,16 @@
\keys_define:nn { zref-clever/label }
{
counterresetters .code:n =
- {
- \clist_map_inline:nn {#1}
- {
- \seq_if_in:NnF \l__zrefclever_counter_resetters_seq {##1}
- {
- \seq_put_right:Nn
- \l__zrefclever_counter_resetters_seq {##1}
- }
- }
- } ,
+ { \seq_set_from_clist:Nn \l__zrefclever_counter_resetters_seq {#1} } ,
counterresetters .initial:n =
{
- part ,
- chapter ,
- section ,
- subsection ,
- subsubsection ,
- paragraph ,
subparagraph ,
+ paragraph ,
+ subsubsection ,
+ subsection ,
+ section ,
+ chapter ,
+ part ,
},
counterresetters .value_required:n = true ,
}
@@ -5389,8 +5392,34 @@
\cs_generate_variant:Nn \__zrefclever_get_rf_opt_bool:nnnnN { nneeN }
\__zrefclever_compat_module:nn { appendix }
{
+ \newcounter { zc@appendix }
+ \cs_if_exist:cTF { chapter }
+ {
+ \__zrefclever_zcsetup:e
+ {
+ counterresetby =
+ {
+ zc@appendix = \__zrefclever_counter_reset_by:n { chapter } ,
+ chapter = zc@appendix ,
+ } ,
+ }
+ }
+ {
+ \cs_if_exist:cT { section }
+ {
+ \__zrefclever_zcsetup:e
+ {
+ counterresetby =
+ {
+ zc@appendix = \__zrefclever_counter_reset_by:n { section } ,
+ section = zc@appendix ,
+ } ,
+ }
+ }
+ }
\AddToHook { cmd / appendix / before }
{
+ \setcounter { zc@appendix } { 1 }
\__zrefclever_zcsetup:n
{
countertype =
@@ -5409,26 +5438,9 @@
{
\__zrefclever_if_package_loaded:nT { appendix }
{
- \newcounter { zc@appendix }
- \newcounter { zc@save@appendix }
- \setcounter { zc@appendix } { 0 }
- \setcounter { zc@save@appendix } { 0 }
- \cs_if_exist:cTF { chapter }
- {
- \__zrefclever_zcsetup:n
- { counterresetby = { chapter = zc@appendix } }
- }
- {
- \cs_if_exist:cT { section }
- {
- \__zrefclever_zcsetup:n
- { counterresetby = { section = zc@appendix } }
- }
- }
\AddToHook { env / appendices / begin }
{
- \stepcounter { zc@save@appendix }
- \setcounter { zc@appendix } { \value { zc@save@appendix } }
+ \setcounter { zc@appendix } { 1 }
\__zrefclever_zcsetup:n
{
countertype =
@@ -5444,13 +5456,31 @@
}
\AddToHook { env / appendices / end }
{ \setcounter { zc@appendix } { 0 } }
- \AddToHook { cmd / appendix / before }
+ \newcounter { zc@subappendix }
+ \cs_if_exist:cTF { chapter }
+ {
+ \__zrefclever_zcsetup:e
+ {
+ counterresetby =
+ {
+ zc@subappendix = \__zrefclever_counter_reset_by:n { section } ,
+ section = zc@subappendix ,
+ } ,
+ }
+ }
{
- \stepcounter { zc@save@appendix }
- \setcounter { zc@appendix } { \value { zc@save@appendix } }
+ \__zrefclever_zcsetup:e
+ {
+ counterresetby =
+ {
+ zc@subappendix = \__zrefclever_counter_reset_by:n { subsection } ,
+ subsection = zc@subappendix ,
+ } ,
+ }
}
\AddToHook { env / subappendices / begin }
{
+ \setcounter { zc@subappendix } { 1 }
\__zrefclever_zcsetup:n
{
countertype =
@@ -5463,6 +5493,8 @@
} ,
}
}
+ \AddToHook { env / subappendices / end }
+ { \setcounter { zc@subappendix } { 0 } }
\msg_info:nnn { zref-clever } { compat-package } { appendix }
}
}