From fae4b42191ac9bb355d1692aac03438d28735f15 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Fri, 23 Aug 2024 20:57:58 +0000 Subject: zref-clever (23aug24) git-svn-id: svn://tug.org/texlive/trunk@72088 c570f23f-e606-0410-a88d-b1316a301751 --- .../tex/latex/zref-clever/zref-clever.sty | 108 +++++++++++++-------- 1 file changed, 70 insertions(+), 38 deletions(-) (limited to 'Master/texmf-dist/tex/latex') 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 } } } -- cgit v1.2.3