From 35e83165817085cc1bdbbf9d5b7ba8e05a1bb8da Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Tue, 8 Feb 2022 21:51:11 +0000 Subject: zref-check (8feb22) git-svn-id: svn://tug.org/texlive/trunk@61950 c570f23f-e606-0410-a88d-b1316a301751 --- .../texmf-dist/tex/latex/zref-check/zref-check.sty | 123 +++++++++++---------- 1 file changed, 64 insertions(+), 59 deletions(-) (limited to 'Master/texmf-dist/tex/latex/zref-check') diff --git a/Master/texmf-dist/tex/latex/zref-check/zref-check.sty b/Master/texmf-dist/tex/latex/zref-check/zref-check.sty index 4fc4cf20659..b510378bd2b 100644 --- a/Master/texmf-dist/tex/latex/zref-check/zref-check.sty +++ b/Master/texmf-dist/tex/latex/zref-check/zref-check.sty @@ -8,7 +8,7 @@ %% %% This file was generated from file(s) of the LaTeX package "zref-check". %% -%% Copyright (C) 2021 Gustavo Barros +%% Copyright (C) 2021-2022 Gustavo Barros %% %% It may be distributed and/or modified under the conditions of the %% LaTeX Project Public License (LPPL), either version 1.3c of this @@ -53,7 +53,7 @@ }% \endinput }% -\ProvidesExplPackage {zref-check} {2021-12-20} {0.2.3} +\ProvidesExplPackage {zref-check} {2022-02-08} {0.2.4} {Flexible cross-references with contextual checks based on zref} \RequirePackage { zref-user } \RequirePackage { zref-abspage } @@ -86,6 +86,12 @@ zc@abschap , zc@abssec } +\zref@newlist { zrefcheck-zrefvario } +\zref@addprops { zrefcheck-zrefvario } + { + page , % for messages + abspage , + } \cs_new_protected:Npn \__zrefcheck_message:nnnn #1#2#3#4 { \use:c { msg_ \l__zrefcheck_msglevel_tl :nnnnn } @@ -128,11 +134,13 @@ Control~sequence~named~'#1'~used~in~option~'labelcmd'~is~not~defined.~ Using~default~value. } -\msg_new:nnn { zref-check } { option-deprecated } +\msg_new:nnn { zref-check } { option-deprecated-with-alternative } { - Option~'#1'~has~been~deprecated.\iow_newline: - Use~'#2'~as~a~replacement. + Option~'#1'~has~been~deprecated~\msg_line_context:.\iow_newline: + Use~'#2'~instead. } +\msg_new:nnn { zref-check } { option-deprecated } + { Option~'#1'~has~been~deprecated~\msg_line_context:. } \cs_new_eq:NN \__zrefcheck_int_to_roman:w \__int_to_roman:w \prg_new_conditional:Npnn \__zrefcheck_is_integer:n #1 { p, T , F , TF } { @@ -216,13 +224,13 @@ msglevel / obeydraft .code:n = { % NOTE Option value deprecated in 2021-12-07 for v0.2.2. - \msg_warning:nnnn { zref-check }{ option-deprecated } + \msg_warning:nnnn { zref-check }{ option-deprecated-with-alternative } { msglevel=obeydraft } { msglevel=infoifdraft } } , msglevel / obeyfinal .code:n = { % NOTE Option value deprecated in 2021-12-07 for v0.2.2. - \msg_warning:nnnn { zref-check }{ option-deprecated } + \msg_warning:nnnn { zref-check }{ option-deprecated-with-alternative } { msglevel=obeyfinal } { msglevel=warniffinal } } , msglevel .value_required:n = true , @@ -263,13 +271,13 @@ onpage / obeydraft .code:n = { % NOTE Option value deprecated in 2021-12-07 for v0.2.2. - \msg_warning:nnnn { zref-check }{ option-deprecated } + \msg_warning:nnnn { zref-check }{ option-deprecated-with-alternative } { onpage=obeydraft } { onpage=labelseqifdraft } } , onpage / obeyfinal .code:n = { % NOTE Option value deprecated in 2021-12-07 for v0.2.2. - \msg_warning:nnnn { zref-check }{ option-deprecated } + \msg_warning:nnnn { zref-check }{ option-deprecated-with-alternative } { onpage=obeyfinal } { onpage=msgiffinal } } , onpage .value_required:n = true , @@ -290,47 +298,14 @@ closerange .value_required:n = true , closerange .initial:n = 5 } -\tl_new:N \l__zrefcheck_target_label_tl -\bool_new:N \l__zrefcheck_target_label_bool \keys_define:nn { zref-check } { labelcmd .code:n = { - \tl_set:Nn \l__zrefcheck_target_label_tl {#1} - \bool_set_true:N \l__zrefcheck_target_label_bool + % NOTE Option value deprecated in 2022-02-08 for v0.2.4. + \msg_warning:nnn { zref-check }{ option-deprecated } + { labelcmd } } , - labelcmd .value_required:n = true , - } -\cs_new_protected:Npn \__zrefcheck_target_label:n #1 - { \zref@label {#1} } -\AddToHook { begindocument } - { - \bool_if:NT \l__zrefcheck_target_label_bool - { - \tl_if_blank:VT \l__zrefcheck_target_label_tl - { \tl_clear:N \l__zrefcheck_target_label_tl } - \cs_if_exist:cTF { \l__zrefcheck_target_label_tl } - { - \cs_set_protected:Npx \__zrefcheck_target_label:n #1 - { - \exp_not:o - { \cs:w \l__zrefcheck_target_label_tl \cs_end: } - {#1} - } - } - { - \exp_args:Nnno \msg_warning:nnn { zref-check } - { labelcmd-undefined } { \l__zrefcheck_target_label_tl } - } - } - \keys_define:nn { zref-check } - { - labelcmd .code:n = - { - \msg_warning:nnn { zref-check } - { option-preamble-only } { labelcmd } - } - } } \RequirePackage { l3keys2e } \ProcessKeysOptions { zref-check } @@ -478,7 +453,7 @@ { \group_begin: \refstepcounter { zrefcheck } - \zref@wrapper@babel \__zrefcheck_target_label:n {#1} + \zref@wrapper@babel \zref@label {#1} #2 \tl_if_empty:nF {#2} { @@ -490,7 +465,7 @@ \NewDocumentEnvironment {zcregion} { m } { \refstepcounter { zrefcheck } - \zref@wrapper@babel \__zrefcheck_target_label:n {#1} + \zref@wrapper@babel \zref@label {#1} } { \zref@wrapper@babel @@ -519,6 +494,7 @@ prevpage , nextpage , facing , + otherpage , pagegap , above , below , @@ -627,19 +603,31 @@ \__zrefcheck_check_thispage:nnT {#2} {#3} { \bool_set_true:N \l__zrefcheck_onpage_bool } - \__zrefcheck_check_thispage:nnT - {#2} { \__zrefcheck_end_lblfmt:n {#3} } - { \bool_set_true:N \l__zrefcheck_onpage_bool } - \zref@ifrefundefined { \__zrefcheck_end_lblfmt:n {#2} } - {} + \zref@ifrefundefined { \__zrefcheck_end_lblfmt:n {#3} } + { + \zref@ifrefundefined { \__zrefcheck_end_lblfmt:n {#2} } + {} + { + \__zrefcheck_check_thispage:nnT + { \__zrefcheck_end_lblfmt:n {#2} } {#3} + { \bool_set_true:N \l__zrefcheck_onpage_bool } + } + } { \__zrefcheck_check_thispage:nnT - { \__zrefcheck_end_lblfmt:n {#2} } {#3} - { \bool_set_true:N \l__zrefcheck_onpage_bool } - \__zrefcheck_check_thispage:nnT - { \__zrefcheck_end_lblfmt:n {#2} } - { \__zrefcheck_end_lblfmt:n {#3} } + {#2} { \__zrefcheck_end_lblfmt:n {#3} } { \bool_set_true:N \l__zrefcheck_onpage_bool } + \zref@ifrefundefined { \__zrefcheck_end_lblfmt:n {#2} } + {} + { + \__zrefcheck_check_thispage:nnT + { \__zrefcheck_end_lblfmt:n {#2} } {#3} + { \bool_set_true:N \l__zrefcheck_onpage_bool } + \__zrefcheck_check_thispage:nnT + { \__zrefcheck_end_lblfmt:n {#2} } + { \__zrefcheck_end_lblfmt:n {#3} } + { \bool_set_true:N \l__zrefcheck_onpage_bool } + } } } \bool_if:NTF \l__zrefcheck_passedcheck_bool @@ -664,6 +652,7 @@ } \group_end: } +\cs_generate_variant:Nn \__zrefcheck_do_check:nnn { nnV } \int_new:N \l__zrefcheck_lbl_int \int_new:N \l__zrefcheck_ref_int \int_new:N \l__zrefcheck_lbl_b_int @@ -679,13 +668,19 @@ { \int_compare_p:nNn { \l__zrefcheck_lbl_int } = { \l__zrefcheck_ref_int } && - ! \int_compare_p:nNn { \l__zrefcheck_lbl_int } = { 0 } && - ! \int_compare_p:nNn { \l__zrefcheck_ref_int } = { 0 } + ! \int_compare_p:nNn { \l__zrefcheck_lbl_int } = { 0 } && + ! \int_compare_p:nNn { \l__zrefcheck_ref_int } = { 0 } } { \group_insert_after:N \prg_return_true: } { \group_insert_after:N \prg_return_false: } \group_end: } +\prg_new_protected_conditional:Npnn \__zrefcheck_check_otherpage:nn #1#2 { T , F , TF } + { + \__zrefcheck_check_thispage:nnTF {#1} {#2} + { \prg_return_false: } + { \prg_return_true: } + } \prg_new_protected_conditional:Npnn \__zrefcheck_check_above:nn #1#2 { F , TF } { \group_begin: @@ -1102,6 +1097,16 @@ \__zrefcheck_run_checks:nnx { \l__zrefcheck_zcheck_checks_seq } {#1} { \l__zrefcheck_checkbeg_tl } } +\cs_new_protected:Npn \zrefcheck_zrefvario_label: + { + \int_gincr:N \g__zrefcheck_id_int + \tl_set:Nx \l__zrefcheck_checkbeg_tl + { \__zrefcheck_check_lblfmt:n { \g__zrefcheck_id_int } } + \zref@labelbylist { \l__zrefcheck_checkbeg_tl } { zrefcheck-zrefvario } + } +\cs_new_protected:Npn \zrefcheck_zrefvario_run_check_on_label:nn #1#2 + { \__zrefcheck_do_check:nnV {#1} {#2} \l__zrefcheck_checkbeg_tl } +\cs_generate_variant:Nn \zrefcheck_zrefvario_run_check_on_label:nn { Vn } %% %% %% End of file `zref-check.sty'. -- cgit v1.2.3