summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/zref-check
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2023-08-15 20:35:20 +0000
committerKarl Berry <karl@freefriends.org>2023-08-15 20:35:20 +0000
commitd676ca362b27cf4aaab8bf7061e0269cff11e3b7 (patch)
tree0682f9aecb88bae8aa3b377e5a6451cfae53097f /Master/texmf-dist/tex/latex/zref-check
parent3f8de867f34702ea4ac10dc0baf0126c09918f98 (diff)
zref-check (14aug23)
git-svn-id: svn://tug.org/texlive/trunk@67939 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/zref-check')
-rw-r--r--Master/texmf-dist/tex/latex/zref-check/zref-check.sty973
1 files changed, 485 insertions, 488 deletions
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 fd41bec44c1..277887b7938 100644
--- a/Master/texmf-dist/tex/latex/zref-check/zref-check.sty
+++ b/Master/texmf-dist/tex/latex/zref-check/zref-check.sty
@@ -42,19 +42,18 @@
%%
%% -----------------------------------------------------------------------
%%
-\NeedsTeXFormat{LaTeX2e}
+\def\zrefcheck@required@kernel{2021-06-01}
+\NeedsTeXFormat{LaTeX2e}[\zrefcheck@required@kernel]
\providecommand\IfFormatAtLeastTF{\@ifl@t@r\fmtversion}
-\IfFormatAtLeastTF{2021-06-01}
+\IfFormatAtLeastTF{\zrefcheck@required@kernel}
{}
{%
\PackageError{zref-check}{LaTeX kernel too old}
{%
- 'zref-check' requires a LaTeX kernel newer than 2021-06-01.%
- \MessageBreak Loading will abort!%
+ 'zref-check' requires a LaTeX kernel \zrefcheck@required@kernel\space or newer.%
}%
- \endinput
}%
-\ProvidesExplPackage {zref-check} {2023-06-14} {0.3.3}
+\ProvidesExplPackage {zref-check} {2023-08-13} {0.3.4}
{Flexible cross-references with contextual checks based on zref}
\RequirePackage { zref-user }
\RequirePackage { zref-abspage }
@@ -106,6 +105,13 @@
Same~page~check~\msg_line_context:.~
Double-check~'#1'~for~label~'#2'~on~page~#3.
}
+\msg_new:nnn { zref-check } { empty-label }
+ {
+ Check~failed~\msg_line_context:.~
+ Failed~check~'#1'~for~empty~label.
+ }
+\msg_new:nnn { zref-check } { no-checks }
+ { No~checks~for~'\iow_char:N\\zcheck'~\msg_line_context:. }
\msg_new:nnn { zref-check } { check-missing }
{ Check~'#1'~not~defined~\msg_line_context:. }
\msg_new:nnn { zref-check } { property-undefined }
@@ -121,9 +127,9 @@
}
\msg_new:nnn { zref-check } { missing-hyperref }
{ Missing~'hyperref'~package. \iow_newline: Setting~'hyperref=false'. }
-\msg_new:nnn { zref-check } { ignore-document-only }
+\msg_new:nnn { zref-check } { ignore-ok-document-only }
{
- Option~'ignore'~only~available~in~the~document. \iow_newline:
+ Option~'#1'~only~available~in~the~document. \iow_newline:
Use~option~'msglevel'~instead.
}
\msg_new:nnn { zref-check } { option-preamble-only }
@@ -230,28 +236,22 @@
{ \tl_set:Nn \l__zrefcheck_msglevel_tl { warning } }
{ \tl_set:Nn \l__zrefcheck_msglevel_tl { info } }
} ,
- msglevel / obeydraft .code:n =
- {
- % NOTE Option value deprecated in 2021-12-07 for v0.2.2.
- \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-with-alternative }
- { msglevel=obeyfinal } { msglevel=warniffinal }
- } ,
msglevel .value_required:n = true ,
msglevel .initial:n = warn ,
ignore .code:n =
- { \msg_warning:nn { zref-check } { ignore-document-only } } ,
- ignore .value_forbidden:n = true
+ { \msg_warning:nnn { zref-check } { ignore-ok-document-only } { ignore } } ,
+ ignore .value_forbidden:n = true ,
+ ok .code:n =
+ { \msg_warning:nnn { zref-check } { ignore-ok-document-only } { ok } } ,
+ ok .value_forbidden:n = true ,
}
\AddToHook { begindocument }
{
\keys_define:nn { zref-check }
- { ignore .meta:n = { msglevel = none } }
+ {
+ ignore .meta:n = { msglevel = none } ,
+ ok .meta:n = { msglevel = none } ,
+ }
}
\bool_new:N \l__zrefcheck_msgonpage_bool
\keys_define:nn { zref-check }
@@ -277,18 +277,6 @@
{ \bool_set_true:N \l__zrefcheck_msgonpage_bool }
{ \bool_set_false:N \l__zrefcheck_msgonpage_bool }
} ,
- onpage / obeydraft .code:n =
- {
- % NOTE Option value deprecated in 2021-12-07 for v0.2.2.
- \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-with-alternative }
- { onpage=obeyfinal } { onpage=msgiffinal }
- } ,
onpage .value_required:n = true ,
onpage .initial:n = labelseq
}
@@ -307,15 +295,6 @@
closerange .value_required:n = true ,
closerange .initial:n = 5
}
-\keys_define:nn { zref-check }
- {
- labelcmd .code:n =
- {
- % NOTE Option value deprecated in 2022-02-08 for v0.2.4.
- \msg_warning:nnn { zref-check }{ option-deprecated }
- { labelcmd }
- } ,
- }
\bool_lazy_and:nnT
{ \tl_if_exist_p:c { opt@ zref-check.sty } }
{ ! \tl_if_empty_p:c { opt@ zref-check.sty } }
@@ -328,32 +307,32 @@
{
\ior_open:Nn \g_tmpa_ior { \g_tmpa_tl }
\group_begin:
- \int_zero:N \l_tmpa_int
- \tl_clear:N \l_tmpa_tl
- \tl_clear:N \l_tmpb_tl
- \bool_set_false:N \l_tmpa_bool
- \ior_map_variable:NNn \g_tmpa_ior \l_tmpa_tl
- {
- \tl_map_variable:NNn \l_tmpa_tl \l_tmpb_tl
- {
- \tl_if_eq:NnTF \l_tmpb_tl { \zref@newlabel }
- {
- \bool_set_true:N \l_tmpa_bool
- }
- {
- \bool_if:NTF \l_tmpa_bool
- {
- \bool_set_false:N \l_tmpa_bool
- \int_incr:N \l_tmpa_int
- \prop_gput:Nxx \g__zrefcheck_auxfile_lblseq_prop
- { \l_tmpb_tl } { \int_use:N \l_tmpa_int }
- }
- {
- \tl_map_break:
- }
- }
- }
- }
+ \int_zero:N \l_tmpa_int
+ \tl_clear:N \l_tmpa_tl
+ \tl_clear:N \l_tmpb_tl
+ \bool_set_false:N \l_tmpa_bool
+ \ior_map_variable:NNn \g_tmpa_ior \l_tmpa_tl
+ {
+ \tl_map_variable:NNn \l_tmpa_tl \l_tmpb_tl
+ {
+ \tl_if_eq:NnTF \l_tmpb_tl { \zref@newlabel }
+ {
+ \bool_set_true:N \l_tmpa_bool
+ }
+ {
+ \bool_if:NTF \l_tmpa_bool
+ {
+ \bool_set_false:N \l_tmpa_bool
+ \int_incr:N \l_tmpa_int
+ \prop_gput:Nxx \g__zrefcheck_auxfile_lblseq_prop
+ { \l_tmpb_tl } { \int_use:N \l_tmpa_int }
+ }
+ {
+ \tl_map_break:
+ }
+ }
+ }
+ }
\group_end:
\ior_close:N \g_tmpa_ior
}
@@ -425,39 +404,40 @@
\cs_new_protected:Npn \__zrefcheck_zcheck:nnnn #1#2#3#4
{
\group_begin:
- \keys_set:nn { zref-check / zcheck } {#3}
- \seq_set_from_clist:Nn \l__zrefcheck_zcheck_labels_seq {#1}
- \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-check }
- \seq_get:NN \l__zrefcheck_zcheck_labels_seq \l__zrefcheck_link_label_tl
- \bool_set:Nn \l__zrefcheck_link_star_bool {#2}
- \zref@ifrefundefined { \l__zrefcheck_link_label_tl }
- {#4}
- {
- \bool_if:nTF
- {
- \l__zrefcheck_use_hyperref_bool &&
- ! \l__zrefcheck_link_star_bool
- }
- {
- \exp_args:Nx \zrefcheck_get_astl:nnn
- { \l__zrefcheck_link_label_tl }
- { anchor } { \l__zrefcheck_link_anchor_tl }
- \hyperlink { \l__zrefcheck_link_anchor_tl } {#4}
- }
- {#4}
- }
- \bool_if:NT \l__zrefcheck_zcheck_end_label_bool
- {
- \zref@labelbylist
- { \__zrefcheck_end_lblfmt:n { \l__zrefcheck_checkbeg_tl } }
- { zrefcheck-end }
- }
- \seq_map_function:NN \l__zrefcheck_zcheck_labels_seq \zref@refused
- \__zrefcheck_run_checks:nnx { \l__zrefcheck_zcheck_checks_seq }
- { \l__zrefcheck_zcheck_labels_seq } { \l__zrefcheck_checkbeg_tl }
+ \keys_set:nn { zref-check / zcheck } {#3}
+ \seq_set_split:Nnn \l__zrefcheck_zcheck_labels_seq { , } {#1}
+ \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-check }
+ \seq_get:NN \l__zrefcheck_zcheck_labels_seq \l__zrefcheck_link_label_tl
+ \bool_set:Nn \l__zrefcheck_link_star_bool {#2}
+ \zref@ifrefundefined { \l__zrefcheck_link_label_tl }
+ {#4}
+ {
+ \bool_if:nTF
+ {
+ \l__zrefcheck_use_hyperref_bool &&
+ ! \l__zrefcheck_link_star_bool
+ }
+ {
+ \exp_args:Nx \zrefcheck_get_astl:nnn
+ { \l__zrefcheck_link_label_tl }
+ { anchor } { \l__zrefcheck_link_anchor_tl }
+ \hyperlink { \l__zrefcheck_link_anchor_tl } {#4}
+ }
+ {#4}
+ }
+ \bool_if:NT \l__zrefcheck_zcheck_end_label_bool
+ {
+ \zref@labelbylist
+ { \__zrefcheck_end_lblfmt:n { \l__zrefcheck_checkbeg_tl } }
+ { zrefcheck-end }
+ }
+ \seq_map_inline:Nn \l__zrefcheck_zcheck_labels_seq
+ { \tl_if_empty:nF {##1} { \zref@refused {##1} } }
+ \__zrefcheck_run_checks:nnx { \l__zrefcheck_zcheck_checks_seq }
+ { \l__zrefcheck_zcheck_labels_seq } { \l__zrefcheck_checkbeg_tl }
\group_end:
}
\NewDocumentCommand \zctarget { m +m }
@@ -494,6 +474,7 @@
nextsec ,
secsbefore ,
secsafter ,
+ manual ,
}
\seq_new:N \l__zrefcheck_zcheck_checks_seq
\bool_new:N \l__zrefcheck_zcheck_end_label_bool
@@ -526,6 +507,7 @@
secsafter ,
close ,
far ,
+ manual ,
}
{
\keys_define:nn { zref-check / zcheck }
@@ -542,123 +524,136 @@
\cs_new_protected:Npn \__zrefcheck_run_checks:nnn #1#2#3
{
\group_begin:
- \seq_map_inline:Nn #2
- {
- \seq_map_inline:Nn #1
- { \__zrefcheck_do_check:nnn {####1} {##1} {#3} }
- }
+ \seq_map_inline:Nn #2
+ {
+ \seq_if_empty:NTF #1
+ { \__zrefcheck_message:nnnn { no-checks } { } { } { } }
+ {
+ \seq_map_inline:Nn #1
+ { \__zrefcheck_do_check:nnn {####1} {##1} {#3} }
+ }
+ }
\group_end:
}
\cs_generate_variant:Nn \__zrefcheck_run_checks:nnn { nnx }
\bool_new:N \l__zrefcheck_passedcheck_bool
\bool_new:N \l__zrefcheck_onpage_bool
+\bool_new:N \l__zrefcheck_empty_label_bool
\seq_const_from_clist:Nn \c__zrefcheck_onpage_checks_seq
{ above , below , before , after }
\cs_generate_variant:Nn \exp_args:Nnno { Nnoo }
\cs_new_protected:Npn \__zrefcheck_do_check:nnn #1#2#3
{
\group_begin:
- \zref@ifrefundefined {#2}
- {}
- {
- \tl_if_empty:nF {#1}
- {
- \bool_set_true:N \l__zrefcheck_passedcheck_bool
- \bool_set_false:N \l__zrefcheck_onpage_bool
- \cs_if_exist:cTF { __zrefcheck_check_ #1 :nnF }
- {
- % ``label beg'' vs ``reference beg''.
- \use:c { __zrefcheck_check_ #1 :nnF }
- {#2} {#3}
- { \bool_set_false:N \l__zrefcheck_passedcheck_bool }
- % ``reference end'' \emph{may} exist or not depending on the
- % checks.
- \zref@ifrefundefined { \__zrefcheck_end_lblfmt:n {#3} }
- {
- % ``label end'' \emph{may} have been created by the
- % target commands.
- \zref@ifrefundefined { \__zrefcheck_end_lblfmt:n {#2} }
- {}
- {
- % ``label end'' vs ``reference beg''.
- \exp_args:Nno \use:c { __zrefcheck_check_ #1 :nnF }
- { \__zrefcheck_end_lblfmt:n {#2} } {#3}
- { \bool_set_false:N \l__zrefcheck_passedcheck_bool }
- }
- }
- {
- % ``label beg'' vs ``reference end''.
- \exp_args:Nnno \use:c { __zrefcheck_check_ #1 :nnF }
- {#2} { \__zrefcheck_end_lblfmt:n {#3} }
- { \bool_set_false:N \l__zrefcheck_passedcheck_bool }
- % ``label end'' \emph{may} have been created by the
- % target commands.
- \zref@ifrefundefined { \__zrefcheck_end_lblfmt:n {#2} }
- {}
- {
- % ``label end'' vs ``reference beg''.
- \exp_args:Nno \use:c { __zrefcheck_check_ #1 :nnF }
- { \__zrefcheck_end_lblfmt:n {#2} } {#3}
- { \bool_set_false:N \l__zrefcheck_passedcheck_bool }
- % ``label end'' vs ``reference end''.
- \exp_args:Nnoo \use:c { __zrefcheck_check_ #1 :nnF }
- { \__zrefcheck_end_lblfmt:n {#2} }
- { \__zrefcheck_end_lblfmt:n {#3} }
- { \bool_set_false:N \l__zrefcheck_passedcheck_bool }
- }
- }
- \seq_if_in:NnT \c__zrefcheck_onpage_checks_seq {#1}
- {
- \__zrefcheck_check_thispage:nnT
- {#2} {#3}
- { \bool_set_true:N \l__zrefcheck_onpage_bool }
- \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
- {#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
- {
- \bool_if:nT
- {
- \l__zrefcheck_msgonpage_bool &&
- \l__zrefcheck_onpage_bool
- }
- {
- \__zrefcheck_message:nnnx { double-check } {#1} {#2}
- { \zref@extractdefault {#3} {page} {'unknown'} }
- }
- }
- {
- \__zrefcheck_message:nnnx { check-failed } {#1} {#2}
- { \zref@extractdefault {#3} {page} {'unknown'} }
- }
- }
- { \msg_warning:nnn { zref-check } { check-missing } {#1} }
- }
- }
+ \bool_set_true:N \l__zrefcheck_passedcheck_bool
+ \bool_set_false:N \l__zrefcheck_onpage_bool
+ \bool_set_false:N \l__zrefcheck_empty_label_bool
+ \cs_if_exist:cTF { __zrefcheck_check_ #1 :nnF }
+ {
+ \zref@ifrefundefined {#2}
+ {
+ \tl_if_empty:nT {#2}
+ {
+ \bool_set_false:N \l__zrefcheck_passedcheck_bool
+ \bool_set_true:N \l__zrefcheck_empty_label_bool
+ }
+ }
+ {
+ % ``label beg'' vs ``reference beg''.
+ \use:c { __zrefcheck_check_ #1 :nnF }
+ {#2} {#3}
+ { \bool_set_false:N \l__zrefcheck_passedcheck_bool }
+ % ``reference end'' \emph{may} exist or not depending on the
+ % checks.
+ \zref@ifrefundefined { \__zrefcheck_end_lblfmt:n {#3} }
+ {
+ % ``label end'' \emph{may} have been created by the
+ % target commands.
+ \zref@ifrefundefined { \__zrefcheck_end_lblfmt:n {#2} }
+ {}
+ {
+ % ``label end'' vs ``reference beg''.
+ \exp_args:Nno \use:c { __zrefcheck_check_ #1 :nnF }
+ { \__zrefcheck_end_lblfmt:n {#2} } {#3}
+ { \bool_set_false:N \l__zrefcheck_passedcheck_bool }
+ }
+ }
+ {
+ % ``label beg'' vs ``reference end''.
+ \exp_args:Nnno \use:c { __zrefcheck_check_ #1 :nnF }
+ {#2} { \__zrefcheck_end_lblfmt:n {#3} }
+ { \bool_set_false:N \l__zrefcheck_passedcheck_bool }
+ % ``label end'' \emph{may} have been created by the
+ % target commands.
+ \zref@ifrefundefined { \__zrefcheck_end_lblfmt:n {#2} }
+ {}
+ {
+ % ``label end'' vs ``reference beg''.
+ \exp_args:Nno \use:c { __zrefcheck_check_ #1 :nnF }
+ { \__zrefcheck_end_lblfmt:n {#2} } {#3}
+ { \bool_set_false:N \l__zrefcheck_passedcheck_bool }
+ % ``label end'' vs ``reference end''.
+ \exp_args:Nnoo \use:c { __zrefcheck_check_ #1 :nnF }
+ { \__zrefcheck_end_lblfmt:n {#2} }
+ { \__zrefcheck_end_lblfmt:n {#3} }
+ { \bool_set_false:N \l__zrefcheck_passedcheck_bool }
+ }
+ }
+ \seq_if_in:NnT \c__zrefcheck_onpage_checks_seq {#1}
+ {
+ \__zrefcheck_check_thispage:nnT
+ {#2} {#3}
+ { \bool_set_true:N \l__zrefcheck_onpage_bool }
+ \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
+ {#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 }
+ }
+ }
+ }
+ }
+ }
+ { \msg_warning:nnn { zref-check } { check-missing } {#1} }
+ \bool_if:NTF \l__zrefcheck_passedcheck_bool
+ {
+ \bool_if:nT
+ {
+ \l__zrefcheck_msgonpage_bool &&
+ \l__zrefcheck_onpage_bool
+ }
+ {
+ \__zrefcheck_message:nnnx { double-check } {#1} {#2}
+ { \zref@extractdefault {#3} {page} {'unknown'} }
+ }
+ }
+ {
+ \bool_if:NTF \l__zrefcheck_empty_label_bool
+ { \__zrefcheck_message:nnnn { empty-label } {#1} { } { } }
+ {
+ \__zrefcheck_message:nnnx { check-failed } {#1} {#2}
+ { \zref@extractdefault {#3} {page} {'unknown'} }
+ }
+ }
\group_end:
}
\cs_generate_variant:Nn \__zrefcheck_do_check:nnn { nnV }
@@ -669,19 +664,19 @@
\prg_new_protected_conditional:Npnn \__zrefcheck_check_thispage:nn #1#2 { T , F , TF }
{
\group_begin:
- \bool_set_true:N \l__zrefcheck_integer_bool
- \zrefcheck_get_asint:nnn {#1} { abspage } { \l__zrefcheck_lbl_int }
- \zrefcheck_get_asint:nnn {#2} { abspage } { \l__zrefcheck_ref_int }
- \bool_lazy_and:nnTF
- { \l__zrefcheck_integer_bool }
- {
- \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 }
- }
- { \group_insert_after:N \prg_return_true: }
- { \group_insert_after:N \prg_return_false: }
+ \bool_set_true:N \l__zrefcheck_integer_bool
+ \zrefcheck_get_asint:nnn {#1} { abspage } { \l__zrefcheck_lbl_int }
+ \zrefcheck_get_asint:nnn {#2} { abspage } { \l__zrefcheck_ref_int }
+ \bool_lazy_and:nnTF
+ { \l__zrefcheck_integer_bool }
+ {
+ \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 }
+ }
+ { \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 }
@@ -693,23 +688,23 @@
\prg_new_protected_conditional:Npnn \__zrefcheck_check_above:nn #1#2 { F , TF }
{
\group_begin:
- \__zrefcheck_check_thispage:nnTF {#1} {#2}
- {
- \bool_set_true:N \l__zrefcheck_integer_bool
- \zrefcheck_get_asint:nnn {#1} { lblseq } { \l__zrefcheck_lbl_int }
- \zrefcheck_get_asint:nnn {#2} { lblseq } { \l__zrefcheck_ref_int }
- \bool_lazy_and:nnTF
- { \l__zrefcheck_integer_bool }
- {
- \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 }
- }
- { \group_insert_after:N \prg_return_true: }
- { \group_insert_after:N \prg_return_false: }
- }
- { \group_insert_after:N \prg_return_false: }
+ \__zrefcheck_check_thispage:nnTF {#1} {#2}
+ {
+ \bool_set_true:N \l__zrefcheck_integer_bool
+ \zrefcheck_get_asint:nnn {#1} { lblseq } { \l__zrefcheck_lbl_int }
+ \zrefcheck_get_asint:nnn {#2} { lblseq } { \l__zrefcheck_ref_int }
+ \bool_lazy_and:nnTF
+ { \l__zrefcheck_integer_bool }
+ {
+ \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 }
+ }
+ { \group_insert_after:N \prg_return_true: }
+ { \group_insert_after:N \prg_return_false: }
+ }
+ { \group_insert_after:N \prg_return_false: }
\group_end:
}
\prg_new_protected_conditional:Npnn \__zrefcheck_check_below:nn #1#2 { F , TF }
@@ -745,142 +740,142 @@
\prg_new_protected_conditional:Npnn \__zrefcheck_check_nextpage:nn #1#2 { F }
{
\group_begin:
- \bool_set_true:N \l__zrefcheck_integer_bool
- \zrefcheck_get_asint:nnn {#1} { abspage } { \l__zrefcheck_lbl_int }
- \zrefcheck_get_asint:nnn {#2} { abspage } { \l__zrefcheck_ref_int }
- \bool_lazy_and:nnTF
- { \l__zrefcheck_integer_bool }
- {
- \int_compare_p:nNn
- { \l__zrefcheck_lbl_int } = { \l__zrefcheck_ref_int + 1 } &&
- ! \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: }
+ \bool_set_true:N \l__zrefcheck_integer_bool
+ \zrefcheck_get_asint:nnn {#1} { abspage } { \l__zrefcheck_lbl_int }
+ \zrefcheck_get_asint:nnn {#2} { abspage } { \l__zrefcheck_ref_int }
+ \bool_lazy_and:nnTF
+ { \l__zrefcheck_integer_bool }
+ {
+ \int_compare_p:nNn
+ { \l__zrefcheck_lbl_int } = { \l__zrefcheck_ref_int + 1 } &&
+ ! \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_prevpage:nn #1#2 { F }
{
\group_begin:
- \bool_set_true:N \l__zrefcheck_integer_bool
- \zrefcheck_get_asint:nnn {#1} { abspage } { \l__zrefcheck_lbl_int }
- \zrefcheck_get_asint:nnn {#2} { abspage } { \l__zrefcheck_ref_int }
- \bool_lazy_and:nnTF
- { \l__zrefcheck_integer_bool }
- {
- \int_compare_p:nNn
- { \l__zrefcheck_lbl_int } = { \l__zrefcheck_ref_int - 1 } &&
- ! \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: }
+ \bool_set_true:N \l__zrefcheck_integer_bool
+ \zrefcheck_get_asint:nnn {#1} { abspage } { \l__zrefcheck_lbl_int }
+ \zrefcheck_get_asint:nnn {#2} { abspage } { \l__zrefcheck_ref_int }
+ \bool_lazy_and:nnTF
+ { \l__zrefcheck_integer_bool }
+ {
+ \int_compare_p:nNn
+ { \l__zrefcheck_lbl_int } = { \l__zrefcheck_ref_int - 1 } &&
+ ! \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_pagesbefore:nn #1#2 { F , TF }
{
\group_begin:
- \bool_set_true:N \l__zrefcheck_integer_bool
- \zrefcheck_get_asint:nnn {#1} { abspage } { \l__zrefcheck_lbl_int }
- \zrefcheck_get_asint:nnn {#2} { abspage } { \l__zrefcheck_ref_int }
- \bool_lazy_and:nnTF
- { \l__zrefcheck_integer_bool }
- {
- \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 }
- }
- { \group_insert_after:N \prg_return_true: }
- { \group_insert_after:N \prg_return_false: }
+ \bool_set_true:N \l__zrefcheck_integer_bool
+ \zrefcheck_get_asint:nnn {#1} { abspage } { \l__zrefcheck_lbl_int }
+ \zrefcheck_get_asint:nnn {#2} { abspage } { \l__zrefcheck_ref_int }
+ \bool_lazy_and:nnTF
+ { \l__zrefcheck_integer_bool }
+ {
+ \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 }
+ }
+ { \group_insert_after:N \prg_return_true: }
+ { \group_insert_after:N \prg_return_false: }
\group_end:
}
\cs_new_eq:NN \__zrefcheck_check_ppbefore:nnF \__zrefcheck_check_pagesbefore:nnF
\prg_new_protected_conditional:Npnn \__zrefcheck_check_pagesafter:nn #1#2 { F , TF }
{
\group_begin:
- \bool_set_true:N \l__zrefcheck_integer_bool
- \zrefcheck_get_asint:nnn {#1} { abspage } { \l__zrefcheck_lbl_int }
- \zrefcheck_get_asint:nnn {#2} { abspage } { \l__zrefcheck_ref_int }
- \bool_lazy_and:nnTF
- { \l__zrefcheck_integer_bool }
- {
- \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 }
- }
- { \group_insert_after:N \prg_return_true: }
- { \group_insert_after:N \prg_return_false: }
+ \bool_set_true:N \l__zrefcheck_integer_bool
+ \zrefcheck_get_asint:nnn {#1} { abspage } { \l__zrefcheck_lbl_int }
+ \zrefcheck_get_asint:nnn {#2} { abspage } { \l__zrefcheck_ref_int }
+ \bool_lazy_and:nnTF
+ { \l__zrefcheck_integer_bool }
+ {
+ \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 }
+ }
+ { \group_insert_after:N \prg_return_true: }
+ { \group_insert_after:N \prg_return_false: }
\group_end:
}
\cs_new_eq:NN \__zrefcheck_check_ppafter:nnF \__zrefcheck_check_pagesafter:nnF
\prg_new_protected_conditional:Npnn \__zrefcheck_check_pagegap:nn #1#2 { F }
{
\group_begin:
- \bool_set_true:N \l__zrefcheck_integer_bool
- \zrefcheck_get_asint:nnn {#1} { abspage } { \l__zrefcheck_lbl_int }
- \zrefcheck_get_asint:nnn {#2} { abspage } { \l__zrefcheck_ref_int }
- \bool_lazy_and:nnTF
- { \l__zrefcheck_integer_bool }
- {
- \int_compare_p:nNn
- { \int_abs:n { \l__zrefcheck_lbl_int - \l__zrefcheck_ref_int } } > { 1 } &&
- ! \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: }
+ \bool_set_true:N \l__zrefcheck_integer_bool
+ \zrefcheck_get_asint:nnn {#1} { abspage } { \l__zrefcheck_lbl_int }
+ \zrefcheck_get_asint:nnn {#2} { abspage } { \l__zrefcheck_ref_int }
+ \bool_lazy_and:nnTF
+ { \l__zrefcheck_integer_bool }
+ {
+ \int_compare_p:nNn
+ { \int_abs:n { \l__zrefcheck_lbl_int - \l__zrefcheck_ref_int } } > { 1 } &&
+ ! \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_facing:nn #1#2 { F }
{
\group_begin:
- \bool_set_true:N \l__zrefcheck_integer_bool
- \zrefcheck_get_asint:nnn {#1} { abspage } { \l__zrefcheck_lbl_int }
- \zrefcheck_get_asint:nnn {#2} { abspage } { \l__zrefcheck_ref_int }
- \bool_lazy_and:nnTF
- { \l__zrefcheck_integer_bool }
- {
- \legacy_if_p:n { @twoside } &&
+ \bool_set_true:N \l__zrefcheck_integer_bool
+ \zrefcheck_get_asint:nnn {#1} { abspage } { \l__zrefcheck_lbl_int }
+ \zrefcheck_get_asint:nnn {#2} { abspage } { \l__zrefcheck_ref_int }
+ \bool_lazy_and:nnTF
+ { \l__zrefcheck_integer_bool }
+ {
+ \legacy_if_p:n { @twoside } &&
+ (
+ (
+ \int_if_odd_p:n { \l__zrefcheck_ref_int } &&
+ \int_compare_p:nNn
+ { \l__zrefcheck_lbl_int } = { \l__zrefcheck_ref_int - 1 }
+ ) ||
(
- (
- \int_if_odd_p:n { \l__zrefcheck_ref_int } &&
- \int_compare_p:nNn
- { \l__zrefcheck_lbl_int } = { \l__zrefcheck_ref_int - 1 }
- ) ||
- (
- \int_if_even_p:n { \l__zrefcheck_ref_int } &&
- \int_compare_p:nNn
- { \l__zrefcheck_lbl_int } = { \l__zrefcheck_ref_int + 1 }
- )
- ) &&
- ! \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: }
+ \int_if_even_p:n { \l__zrefcheck_ref_int } &&
+ \int_compare_p:nNn
+ { \l__zrefcheck_lbl_int } = { \l__zrefcheck_ref_int + 1 }
+ )
+ ) &&
+ ! \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_close:nn #1#2 { F , TF }
{
\group_begin:
- \bool_set_true:N \l__zrefcheck_integer_bool
- \zrefcheck_get_asint:nnn {#1} { abspage } { \l__zrefcheck_lbl_int }
- \zrefcheck_get_asint:nnn {#2} { abspage } { \l__zrefcheck_ref_int }
- \bool_lazy_and:nnTF
- { \l__zrefcheck_integer_bool }
- {
- \int_compare_p:nNn
- { \int_abs:n { \l__zrefcheck_lbl_int - \l__zrefcheck_ref_int } }
- <
- { \l__zrefcheck_close_range_int + 1 } &&
- ! \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: }
+ \bool_set_true:N \l__zrefcheck_integer_bool
+ \zrefcheck_get_asint:nnn {#1} { abspage } { \l__zrefcheck_lbl_int }
+ \zrefcheck_get_asint:nnn {#2} { abspage } { \l__zrefcheck_ref_int }
+ \bool_lazy_and:nnTF
+ { \l__zrefcheck_integer_bool }
+ {
+ \int_compare_p:nNn
+ { \int_abs:n { \l__zrefcheck_lbl_int - \l__zrefcheck_ref_int } }
+ <
+ { \l__zrefcheck_close_range_int + 1 } &&
+ ! \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_far:nn #1#2 { F }
@@ -892,199 +887,201 @@
\prg_new_protected_conditional:Npnn \__zrefcheck_check_thischap:nn #1#2 { F }
{
\group_begin:
- \bool_set_true:N \l__zrefcheck_integer_bool
- \zrefcheck_get_asint:nnn {#1} { zc@abschap } { \l__zrefcheck_lbl_int }
- \zrefcheck_get_asint:nnn {#2} { zc@abschap } { \l__zrefcheck_ref_int }
- \bool_lazy_and:nnTF
- { \l__zrefcheck_integer_bool }
- {
- \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 }
- }
- { \group_insert_after:N \prg_return_true: }
- { \group_insert_after:N \prg_return_false: }
+ \bool_set_true:N \l__zrefcheck_integer_bool
+ \zrefcheck_get_asint:nnn {#1} { zc@abschap } { \l__zrefcheck_lbl_int }
+ \zrefcheck_get_asint:nnn {#2} { zc@abschap } { \l__zrefcheck_ref_int }
+ \bool_lazy_and:nnTF
+ { \l__zrefcheck_integer_bool }
+ {
+ \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 }
+ }
+ { \group_insert_after:N \prg_return_true: }
+ { \group_insert_after:N \prg_return_false: }
\group_end:
}
\prg_new_protected_conditional:Npnn \__zrefcheck_check_nextchap:nn #1#2 { F }
{
\group_begin:
- \bool_set_true:N \l__zrefcheck_integer_bool
- \zrefcheck_get_asint:nnn {#1} { zc@abschap } { \l__zrefcheck_lbl_int }
- \zrefcheck_get_asint:nnn {#2} { zc@abschap } { \l__zrefcheck_ref_int }
- \bool_lazy_and:nnTF
- { \l__zrefcheck_integer_bool }
- {
- \int_compare_p:nNn
- { \l__zrefcheck_lbl_int } = { \l__zrefcheck_ref_int + 1 } &&
- ! \int_compare_p:nNn { \l__zrefcheck_lbl_int } = { 0 }
- }
- { \group_insert_after:N \prg_return_true: }
- { \group_insert_after:N \prg_return_false: }
+ \bool_set_true:N \l__zrefcheck_integer_bool
+ \zrefcheck_get_asint:nnn {#1} { zc@abschap } { \l__zrefcheck_lbl_int }
+ \zrefcheck_get_asint:nnn {#2} { zc@abschap } { \l__zrefcheck_ref_int }
+ \bool_lazy_and:nnTF
+ { \l__zrefcheck_integer_bool }
+ {
+ \int_compare_p:nNn
+ { \l__zrefcheck_lbl_int } = { \l__zrefcheck_ref_int + 1 } &&
+ ! \int_compare_p:nNn { \l__zrefcheck_lbl_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_prevchap:nn #1#2 { F }
{
\group_begin:
- \bool_set_true:N \l__zrefcheck_integer_bool
- \zrefcheck_get_asint:nnn {#1} { zc@abschap } { \l__zrefcheck_lbl_int }
- \zrefcheck_get_asint:nnn {#2} { zc@abschap } { \l__zrefcheck_ref_int }
- \bool_lazy_and:nnTF
- { \l__zrefcheck_integer_bool }
- {
- \int_compare_p:nNn
- { \l__zrefcheck_lbl_int } = { \l__zrefcheck_ref_int - 1 } &&
- ! \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: }
+ \bool_set_true:N \l__zrefcheck_integer_bool
+ \zrefcheck_get_asint:nnn {#1} { zc@abschap } { \l__zrefcheck_lbl_int }
+ \zrefcheck_get_asint:nnn {#2} { zc@abschap } { \l__zrefcheck_ref_int }
+ \bool_lazy_and:nnTF
+ { \l__zrefcheck_integer_bool }
+ {
+ \int_compare_p:nNn
+ { \l__zrefcheck_lbl_int } = { \l__zrefcheck_ref_int - 1 } &&
+ ! \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_chapsafter:nn #1#2 { F }
{
\group_begin:
- \bool_set_true:N \l__zrefcheck_integer_bool
- \zrefcheck_get_asint:nnn {#1} { zc@abschap } { \l__zrefcheck_lbl_int }
- \zrefcheck_get_asint:nnn {#2} { zc@abschap } { \l__zrefcheck_ref_int }
- \bool_lazy_and:nnTF
- { \l__zrefcheck_integer_bool }
- {
- \int_compare_p:nNn
- { \l__zrefcheck_lbl_int } > { \l__zrefcheck_ref_int } &&
- ! \int_compare_p:nNn { \l__zrefcheck_lbl_int } = { 0 }
- }
- { \group_insert_after:N \prg_return_true: }
- { \group_insert_after:N \prg_return_false: }
+ \bool_set_true:N \l__zrefcheck_integer_bool
+ \zrefcheck_get_asint:nnn {#1} { zc@abschap } { \l__zrefcheck_lbl_int }
+ \zrefcheck_get_asint:nnn {#2} { zc@abschap } { \l__zrefcheck_ref_int }
+ \bool_lazy_and:nnTF
+ { \l__zrefcheck_integer_bool }
+ {
+ \int_compare_p:nNn
+ { \l__zrefcheck_lbl_int } > { \l__zrefcheck_ref_int } &&
+ ! \int_compare_p:nNn { \l__zrefcheck_lbl_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_chapsbefore:nn #1#2 { F }
{
\group_begin:
- \bool_set_true:N \l__zrefcheck_integer_bool
- \zrefcheck_get_asint:nnn {#1} { zc@abschap } { \l__zrefcheck_lbl_int }
- \zrefcheck_get_asint:nnn {#2} { zc@abschap } { \l__zrefcheck_ref_int }
- \bool_lazy_and:nnTF
- { \l__zrefcheck_integer_bool }
- {
- \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 }
- }
- { \group_insert_after:N \prg_return_true: }
- { \group_insert_after:N \prg_return_false: }
+ \bool_set_true:N \l__zrefcheck_integer_bool
+ \zrefcheck_get_asint:nnn {#1} { zc@abschap } { \l__zrefcheck_lbl_int }
+ \zrefcheck_get_asint:nnn {#2} { zc@abschap } { \l__zrefcheck_ref_int }
+ \bool_lazy_and:nnTF
+ { \l__zrefcheck_integer_bool }
+ {
+ \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 }
+ }
+ { \group_insert_after:N \prg_return_true: }
+ { \group_insert_after:N \prg_return_false: }
\group_end:
}
\prg_new_protected_conditional:Npnn \__zrefcheck_check_thissec:nn #1#2 { F }
{
\group_begin:
- \bool_set_true:N \l__zrefcheck_integer_bool
- \zrefcheck_get_asint:nnn {#1} { zc@abssec } { \l__zrefcheck_lbl_int }
- \zrefcheck_get_asint:nnn {#2} { zc@abssec } { \l__zrefcheck_ref_int }
- \zrefcheck_get_asint:nnn {#1} { zc@abschap } { \l__zrefcheck_lbl_b_int }
- \zrefcheck_get_asint:nnn {#2} { zc@abschap } { \l__zrefcheck_ref_b_int }
- \bool_lazy_and:nnTF
- { \l__zrefcheck_integer_bool }
- {
- \int_compare_p:nNn
- { \l__zrefcheck_lbl_b_int } = { \l__zrefcheck_ref_b_int } &&
- \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 }
- }
- { \group_insert_after:N \prg_return_true: }
- { \group_insert_after:N \prg_return_false: }
+ \bool_set_true:N \l__zrefcheck_integer_bool
+ \zrefcheck_get_asint:nnn {#1} { zc@abssec } { \l__zrefcheck_lbl_int }
+ \zrefcheck_get_asint:nnn {#2} { zc@abssec } { \l__zrefcheck_ref_int }
+ \zrefcheck_get_asint:nnn {#1} { zc@abschap } { \l__zrefcheck_lbl_b_int }
+ \zrefcheck_get_asint:nnn {#2} { zc@abschap } { \l__zrefcheck_ref_b_int }
+ \bool_lazy_and:nnTF
+ { \l__zrefcheck_integer_bool }
+ {
+ \int_compare_p:nNn
+ { \l__zrefcheck_lbl_b_int } = { \l__zrefcheck_ref_b_int } &&
+ \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 }
+ }
+ { \group_insert_after:N \prg_return_true: }
+ { \group_insert_after:N \prg_return_false: }
\group_end:
}
\prg_new_protected_conditional:Npnn \__zrefcheck_check_nextsec:nn #1#2 { F }
{
\group_begin:
- \bool_set_true:N \l__zrefcheck_integer_bool
- \zrefcheck_get_asint:nnn {#1} { zc@abssec } { \l__zrefcheck_lbl_int }
- \zrefcheck_get_asint:nnn {#2} { zc@abssec } { \l__zrefcheck_ref_int }
- \zrefcheck_get_asint:nnn {#1} { zc@abschap } { \l__zrefcheck_lbl_b_int }
- \zrefcheck_get_asint:nnn {#2} { zc@abschap } { \l__zrefcheck_ref_b_int }
- \bool_lazy_and:nnTF
- { \l__zrefcheck_integer_bool }
- {
- \int_compare_p:nNn
- { \l__zrefcheck_lbl_b_int } = { \l__zrefcheck_ref_b_int } &&
- \int_compare_p:nNn
- { \l__zrefcheck_lbl_int } = { \l__zrefcheck_ref_int + 1 } &&
- ! \int_compare_p:nNn { \l__zrefcheck_lbl_int } = { 0 }
- }
- { \group_insert_after:N \prg_return_true: }
- { \group_insert_after:N \prg_return_false: }
+ \bool_set_true:N \l__zrefcheck_integer_bool
+ \zrefcheck_get_asint:nnn {#1} { zc@abssec } { \l__zrefcheck_lbl_int }
+ \zrefcheck_get_asint:nnn {#2} { zc@abssec } { \l__zrefcheck_ref_int }
+ \zrefcheck_get_asint:nnn {#1} { zc@abschap } { \l__zrefcheck_lbl_b_int }
+ \zrefcheck_get_asint:nnn {#2} { zc@abschap } { \l__zrefcheck_ref_b_int }
+ \bool_lazy_and:nnTF
+ { \l__zrefcheck_integer_bool }
+ {
+ \int_compare_p:nNn
+ { \l__zrefcheck_lbl_b_int } = { \l__zrefcheck_ref_b_int } &&
+ \int_compare_p:nNn
+ { \l__zrefcheck_lbl_int } = { \l__zrefcheck_ref_int + 1 } &&
+ ! \int_compare_p:nNn { \l__zrefcheck_lbl_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_prevsec:nn #1#2 { F }
{
\group_begin:
- \bool_set_true:N \l__zrefcheck_integer_bool
- \zrefcheck_get_asint:nnn {#1} { zc@abssec } { \l__zrefcheck_lbl_int }
- \zrefcheck_get_asint:nnn {#2} { zc@abssec } { \l__zrefcheck_ref_int }
- \zrefcheck_get_asint:nnn {#1} { zc@abschap } { \l__zrefcheck_lbl_b_int }
- \zrefcheck_get_asint:nnn {#2} { zc@abschap } { \l__zrefcheck_ref_b_int }
- \bool_lazy_and:nnTF
- { \l__zrefcheck_integer_bool }
- {
- \int_compare_p:nNn
- { \l__zrefcheck_lbl_b_int } = { \l__zrefcheck_ref_b_int } &&
- \int_compare_p:nNn
- { \l__zrefcheck_lbl_int } = { \l__zrefcheck_ref_int - 1 } &&
- ! \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: }
+ \bool_set_true:N \l__zrefcheck_integer_bool
+ \zrefcheck_get_asint:nnn {#1} { zc@abssec } { \l__zrefcheck_lbl_int }
+ \zrefcheck_get_asint:nnn {#2} { zc@abssec } { \l__zrefcheck_ref_int }
+ \zrefcheck_get_asint:nnn {#1} { zc@abschap } { \l__zrefcheck_lbl_b_int }
+ \zrefcheck_get_asint:nnn {#2} { zc@abschap } { \l__zrefcheck_ref_b_int }
+ \bool_lazy_and:nnTF
+ { \l__zrefcheck_integer_bool }
+ {
+ \int_compare_p:nNn
+ { \l__zrefcheck_lbl_b_int } = { \l__zrefcheck_ref_b_int } &&
+ \int_compare_p:nNn
+ { \l__zrefcheck_lbl_int } = { \l__zrefcheck_ref_int - 1 } &&
+ ! \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_secsafter:nn #1#2 { F }
{
\group_begin:
- \bool_set_true:N \l__zrefcheck_integer_bool
- \zrefcheck_get_asint:nnn {#1} { zc@abssec } { \l__zrefcheck_lbl_int }
- \zrefcheck_get_asint:nnn {#2} { zc@abssec } { \l__zrefcheck_ref_int }
- \zrefcheck_get_asint:nnn {#1} { zc@abschap } { \l__zrefcheck_lbl_b_int }
- \zrefcheck_get_asint:nnn {#2} { zc@abschap } { \l__zrefcheck_ref_b_int }
- \bool_lazy_and:nnTF
- { \l__zrefcheck_integer_bool }
- {
- \int_compare_p:nNn
- { \l__zrefcheck_lbl_b_int } = { \l__zrefcheck_ref_b_int } &&
- \int_compare_p:nNn
- { \l__zrefcheck_lbl_int } > { \l__zrefcheck_ref_int } &&
- ! \int_compare_p:nNn { \l__zrefcheck_lbl_int } = { 0 }
- }
- { \group_insert_after:N \prg_return_true: }
- { \group_insert_after:N \prg_return_false: }
+ \bool_set_true:N \l__zrefcheck_integer_bool
+ \zrefcheck_get_asint:nnn {#1} { zc@abssec } { \l__zrefcheck_lbl_int }
+ \zrefcheck_get_asint:nnn {#2} { zc@abssec } { \l__zrefcheck_ref_int }
+ \zrefcheck_get_asint:nnn {#1} { zc@abschap } { \l__zrefcheck_lbl_b_int }
+ \zrefcheck_get_asint:nnn {#2} { zc@abschap } { \l__zrefcheck_ref_b_int }
+ \bool_lazy_and:nnTF
+ { \l__zrefcheck_integer_bool }
+ {
+ \int_compare_p:nNn
+ { \l__zrefcheck_lbl_b_int } = { \l__zrefcheck_ref_b_int } &&
+ \int_compare_p:nNn
+ { \l__zrefcheck_lbl_int } > { \l__zrefcheck_ref_int } &&
+ ! \int_compare_p:nNn { \l__zrefcheck_lbl_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_secsbefore:nn #1#2 { F }
{
\group_begin:
- \bool_set_true:N \l__zrefcheck_integer_bool
- \zrefcheck_get_asint:nnn {#1} { zc@abssec } { \l__zrefcheck_lbl_int }
- \zrefcheck_get_asint:nnn {#2} { zc@abssec } { \l__zrefcheck_ref_int }
- \zrefcheck_get_asint:nnn {#1} { zc@abschap } { \l__zrefcheck_lbl_b_int }
- \zrefcheck_get_asint:nnn {#2} { zc@abschap } { \l__zrefcheck_ref_b_int }
- \bool_lazy_and:nnTF
- { \l__zrefcheck_integer_bool }
- {
- \int_compare_p:nNn
- { \l__zrefcheck_lbl_b_int } = { \l__zrefcheck_ref_b_int } &&
- \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 }
- }
- { \group_insert_after:N \prg_return_true: }
- { \group_insert_after:N \prg_return_false: }
+ \bool_set_true:N \l__zrefcheck_integer_bool
+ \zrefcheck_get_asint:nnn {#1} { zc@abssec } { \l__zrefcheck_lbl_int }
+ \zrefcheck_get_asint:nnn {#2} { zc@abssec } { \l__zrefcheck_ref_int }
+ \zrefcheck_get_asint:nnn {#1} { zc@abschap } { \l__zrefcheck_lbl_b_int }
+ \zrefcheck_get_asint:nnn {#2} { zc@abschap } { \l__zrefcheck_ref_b_int }
+ \bool_lazy_and:nnTF
+ { \l__zrefcheck_integer_bool }
+ {
+ \int_compare_p:nNn
+ { \l__zrefcheck_lbl_b_int } = { \l__zrefcheck_ref_b_int } &&
+ \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 }
+ }
+ { \group_insert_after:N \prg_return_true: }
+ { \group_insert_after:N \prg_return_false: }
\group_end:
}
+\prg_new_protected_conditional:Npnn \__zrefcheck_check_manual:nn #1#2 { F }
+ { \prg_return_false: }
\cs_new_protected:Npn \zrefcheck_zcref_beg_label:
{
\int_gincr:N \g__zrefcheck_id_int