From ae324fcd8289f7f50d9b53ab455987b7a03baeac Mon Sep 17 00:00:00 2001 From: Ulrike Fischer Date: Mon, 11 Nov 2024 08:09:56 +0100 Subject: [PATCH] Add missing \expandafter for gh1544 (#1545) * add missing expandafter * update hooks tests * trim spaces --- base/testfiles-lthooks/ltcmdhooks-001.tlg | 2 +- base/testfiles-lthooks/lthooks-000.tlg | 2 +- base/testfiles-lthooks/lthooks-001.tlg | 4 +- base/testfiles-lthooks/lthooks-002.tlg | 4 +- base/testfiles-lthooks/lthooks-003.tlg | 2 +- base/testfiles-lthooks/lthooks-004.tlg | 2 +- base/testfiles-lthooks/lthooks-005.tlg | 2 +- base/testfiles-lthooks/lthooks-006.tlg | 2 +- base/testfiles-lthooks/lthooks-007.tlg | 4 +- base/testfiles-lthooks/lthooks-008.tlg | 2 +- base/testfiles-lthooks/lthooks-009.tlg | 2 +- base/testfiles-lthooks/lthooks-011.tlg | 8 +- base/testfiles-lthooks/lthooks-013.tlg | 2 +- base/testfiles-lthooks/lthooks-021.tlg | 2 +- base/testfiles-lthooks/lthooks-legacy.tlg | 2 +- base/testfiles-lthooks2/lthooks2-002.tlg | 2 +- base/testfiles-lthooks2/lthooks2-005.tlg | 4 +- required/firstaid/changes.txt | 4 + .../latex2e-first-aid-for-external-files.dtx | 81 ++++++++++--------- 19 files changed, 69 insertions(+), 64 deletions(-) diff --git a/base/testfiles-lthooks/ltcmdhooks-001.tlg b/base/testfiles-lthooks/ltcmdhooks-001.tlg index e7741b43f..05904d524 100644 --- a/base/testfiles-lthooks/ltcmdhooks-001.tlg +++ b/base/testfiles-lthooks/ltcmdhooks-001.tlg @@ -258,7 +258,7 @@ All initialized (non-empty) hooks: package/acro/after -> \__hook_toplevel package/acro/after \FirstAidNeededT {acro}{sty}{....-..-.. v... typeset acronyms and other abbreviations (CN)} {\UseName {prop_new:c}{l__acro_tmpa_prop}\acsetup {patch/longtable=false}}\__hook_next package/acro/after package/chemformula/before -> \RequirePackage {l3keys2e}\__hook_toplevel package/chemformula/before \__hook_next package/chemformula/before package/chemnum/after -> \__hook_toplevel package/chemnum/after \FirstAidNeededT {chemnum}{sty}{....-..-.. v... a comprehensive approach for the numbering of chemical compounds (CN)} {\UseName {prop_new:c}{l__chemnum_tmpa_prop}}\__hook_next package/chemnum/after - package/cleveref/after -> \__hook_toplevel package/cleveref/after \FirstAidNeededT {cleveref}{sty}{....-..-.. v... Intelligent cross-referencing} {\def \cref@getref ##1##2{\expandafter \let \expandafter ##2\csname r@##1@cref\endcsname \expandafter \expandafter \expandafter \def \expandafter \expandafter \expandafter ##2\expandafter \expandafter \expandafter {\expandafter \@firstoffive ##2}}\def \cpageref@getref ##1##2{\expandafter \let \expandafter ##2\csname r@##1@cref\endcsname \expandafter \expandafter \expandafter \def \expandafter \expandafter \expandafter ##2\expandafter \expandafter \expandafter {\expandafter \@secondoffive ##2}}\AddToHook {begindocument}[cleveref]{\def \label@noarg ##1{\cref@old@label {##1}\@bsphack \edef \@tempa {{page}{\the \c@page }}\setcounter {page}{1}\edef \@tempb {\thepage }\expandafter \setcounter \@tempa \cref@constructprefix {page}{\cref@result }\protected@write \@auxout {}{\string \newlabel {##1@cref}{{\cref@currentlabel }{[\@tempb ][\arabic {page}][\cref@result ]\thepage }{}{}{}}}\@esphack }\def \label@optarg [##1]##2{\cref@old@label {##2}\@bsphack \edef \@tempa {{page}{\the \c@page }}\setcounter {page}{1}\edef \@tempb {\thepage }\expandafter \setcounter \@tempa \cref@constructprefix {page}{\cref@result }\protected@edef \cref@currentlabel {\expandafter \cref@override@label@type \cref@currentlabel \@nil {##1}}\protected@write \@auxout {}{\string \newlabel {##2@cref}{{\cref@currentlabel }{[\@tempb ][\arabic {page}][\cref@result ]\thepage }{}{}{}}}\@esphack }} \newcommand \firstaid@cref@smugglelabel {\let \cref@currentlabel \cref@gcurrentlabel@temp } \newcommand \firstaid@cref@updatelabeldata [1]{\cref@constructprefix {##1}{\cref@result }\@ifundefined {cref@##1@alias}{\def \@tempa {##1}}{\def \@tempa {\csname cref@##1@alias\endcsname }}\protected@xdef \cref@gcurrentlabel@temp {[\@tempa ][\arabic {##1}][\cref@result ]\csname p@##1\endcsname \csname the##1\endcsname }\aftergroup \firstaid@cref@smugglelabel } \AddToHook {label}[firstaid/cleveref] {\ifx \@currentcounter \@empty \else \firstaid@cref@updatelabeldata {\@currentcounter }\fi } }\__hook_next package/cleveref/after + package/cleveref/after -> \__hook_toplevel package/cleveref/after \FirstAidNeededT {cleveref}{sty}{....-..-.. v... Intelligent cross-referencing} {\def \cref@getref ##1##2{\expandafter \let \expandafter ##2\csname r@##1@cref\endcsname \expandafter \expandafter \expandafter \def \expandafter \expandafter \expandafter ##2\expandafter \expandafter \expandafter {\expandafter \@firstoffive ##2}}\def \cpageref@getref ##1##2{\expandafter \let \expandafter ##2\csname r@##1@cref\endcsname \expandafter \expandafter \expandafter \def \expandafter \expandafter \expandafter ##2\expandafter \expandafter \expandafter {\expandafter \@secondoffive ##2}}\AddToHook {begindocument}[cleveref]{\def \label@noarg ##1{\cref@old@label {##1}\@bsphack \edef \@tempa {{page}{\the \c@page }}\setcounter {page}{1}\edef \@tempb {\thepage }\expandafter \setcounter \@tempa \cref@constructprefix {page}{\cref@result }\protected@write \@auxout {}{\string \newlabel {##1@cref}{{\cref@currentlabel }{[\@tempb ][\arabic {page}][\cref@result ]\thepage }{}{}{}}}\@esphack }\def \label@optarg [##1]##2{\cref@old@label {##2}\@bsphack \edef \@tempa {{page}{\the \c@page }}\setcounter {page}{1}\edef \@tempb {\thepage }\expandafter \setcounter \@tempa \cref@constructprefix {page}{\cref@result }\protected@edef \cref@currentlabel {\expandafter \cref@override@label@type \cref@currentlabel \@nil {##1}}\protected@write \@auxout {}{\string \newlabel {##2@cref}{{\cref@currentlabel }{[\@tempb ][\arabic {page}][\cref@result ]\thepage }{}{}{}}}\@esphack }} \newcommand \firstaid@cref@smugglelabel {\let \cref@currentlabel \cref@gcurrentlabel@temp } \newcommand \firstaid@cref@updatelabeldata [1]{\cref@constructprefix {##1}{\cref@result }\@ifundefined {cref@##1@alias}{\def \@tempa {##1}}{\def \@tempa {\csname cref@##1@alias\endcsname }}\protected@xdef \cref@gcurrentlabel@temp {[\@tempa ][\arabic {##1}][\cref@result ]\csname p@##1\expandafter \endcsname \csname the##1\endcsname }\aftergroup \firstaid@cref@smugglelabel } \AddToHook {label}[firstaid/cleveref] {\ifx \@currentcounter \@empty \else \firstaid@cref@updatelabeldata {\@currentcounter }\fi } }\__hook_next package/cleveref/after package/arydshln/after -> \__hook_toplevel package/arydshln/after \FirstAidNeededT {arydshln}{sty}{....-..-.. v... } {\protected \def \adl@@vlineL ##1##2##3##4{\adl@ivline ##4\@nil {##1}{##2}\xdef \adl@colsL {\adl@colsL \@elt {##3}{\number \@tempcnta }{\number \@tempcntb }{\adl@dashcolor }{\adl@gapcolor }}}\protected \def \adl@@vlineR ##1##2##3##4{\adl@ivline ##4\@nil {##1}{##2}\xdef \adl@colsR {\@elt {##3}{\number \@tempcnta }{\number \@tempcntb }{\adl@dashcolor }{\adl@gapcolor }\adl@colsR }}\let \adl@act@@vlineL \adl@@vlineL \let \adl@act@@vlineR \adl@@vlineR }\__hook_next package/arydshln/after package/l3graphics/after -> \__hook_toplevel package/l3graphics/after \seq_set_from_clist:Nn \l_graphics_search_ext_seq {.pdf,.eps,.ps,.png,.jpg,.jpeg}\__hook_next package/l3graphics/after cmd/foo/before -> before 1 before 2 \__hook_toplevel cmd/foo/before {#1}{#2}{#3}{#4}{#5}{#6}{#7}{#8}{#9}\__hook_next cmd/foo/before {#1}{#2}{#3}{#4}{#5}{#6}{#7}{#8}{#9} diff --git a/base/testfiles-lthooks/lthooks-000.tlg b/base/testfiles-lthooks/lthooks-000.tlg index fcc64bf6e..6ebbbec95 100644 --- a/base/testfiles-lthooks/lthooks-000.tlg +++ b/base/testfiles-lthooks/lthooks-000.tlg @@ -182,7 +182,7 @@ All initialized (non-empty) hooks: package/acro/after -> \__hook_toplevel package/acro/after \FirstAidNeededT {acro}{sty}{....-..-.. v... typeset acronyms and other abbreviations (CN)} {\UseName {prop_new:c}{l__acro_tmpa_prop}\acsetup {patch/longtable=false}}\__hook_next package/acro/after package/chemformula/before -> \RequirePackage {l3keys2e}\__hook_toplevel package/chemformula/before \__hook_next package/chemformula/before package/chemnum/after -> \__hook_toplevel package/chemnum/after \FirstAidNeededT {chemnum}{sty}{....-..-.. v... a comprehensive approach for the numbering of chemical compounds (CN)} {\UseName {prop_new:c}{l__chemnum_tmpa_prop}}\__hook_next package/chemnum/after - package/cleveref/after -> \__hook_toplevel package/cleveref/after \FirstAidNeededT {cleveref}{sty}{....-..-.. v... Intelligent cross-referencing} {\def \cref@getref ##1##2{\expandafter \let \expandafter ##2\csname r@##1@cref\endcsname \expandafter \expandafter \expandafter \def \expandafter \expandafter \expandafter ##2\expandafter \expandafter \expandafter {\expandafter \@firstoffive ##2}}\def \cpageref@getref ##1##2{\expandafter \let \expandafter ##2\csname r@##1@cref\endcsname \expandafter \expandafter \expandafter \def \expandafter \expandafter \expandafter ##2\expandafter \expandafter \expandafter {\expandafter \@secondoffive ##2}}\AddToHook {begindocument}[cleveref]{\def \label@noarg ##1{\cref@old@label {##1}\@bsphack \edef \@tempa {{page}{\the \c@page }}\setcounter {page}{1}\edef \@tempb {\thepage }\expandafter \setcounter \@tempa \cref@constructprefix {page}{\cref@result }\protected@write \@auxout {}{\string \newlabel {##1@cref}{{\cref@currentlabel }{[\@tempb ][\arabic {page}][\cref@result ]\thepage }{}{}{}}}\@esphack }\def \label@optarg [##1]##2{\cref@old@label {##2}\@bsphack \edef \@tempa {{page}{\the \c@page }}\setcounter {page}{1}\edef \@tempb {\thepage }\expandafter \setcounter \@tempa \cref@constructprefix {page}{\cref@result }\protected@edef \cref@currentlabel {\expandafter \cref@override@label@type \cref@currentlabel \@nil {##1}}\protected@write \@auxout {}{\string \newlabel {##2@cref}{{\cref@currentlabel }{[\@tempb ][\arabic {page}][\cref@result ]\thepage }{}{}{}}}\@esphack }} \newcommand \firstaid@cref@smugglelabel {\let \cref@currentlabel \cref@gcurrentlabel@temp } \newcommand \firstaid@cref@updatelabeldata [1]{\cref@constructprefix {##1}{\cref@result }\@ifundefined {cref@##1@alias}{\def \@tempa {##1}}{\def \@tempa {\csname cref@##1@alias\endcsname }}\protected@xdef \cref@gcurrentlabel@temp {[\@tempa ][\arabic {##1}][\cref@result ]\csname p@##1\endcsname \csname the##1\endcsname }\aftergroup \firstaid@cref@smugglelabel } \AddToHook {label}[firstaid/cleveref] {\ifx \@currentcounter \@empty \else \firstaid@cref@updatelabeldata {\@currentcounter }\fi } }\__hook_next package/cleveref/after + package/cleveref/after -> \__hook_toplevel package/cleveref/after \FirstAidNeededT {cleveref}{sty}{....-..-.. v... Intelligent cross-referencing} {\def \cref@getref ##1##2{\expandafter \let \expandafter ##2\csname r@##1@cref\endcsname \expandafter \expandafter \expandafter \def \expandafter \expandafter \expandafter ##2\expandafter \expandafter \expandafter {\expandafter \@firstoffive ##2}}\def \cpageref@getref ##1##2{\expandafter \let \expandafter ##2\csname r@##1@cref\endcsname \expandafter \expandafter \expandafter \def \expandafter \expandafter \expandafter ##2\expandafter \expandafter \expandafter {\expandafter \@secondoffive ##2}}\AddToHook {begindocument}[cleveref]{\def \label@noarg ##1{\cref@old@label {##1}\@bsphack \edef \@tempa {{page}{\the \c@page }}\setcounter {page}{1}\edef \@tempb {\thepage }\expandafter \setcounter \@tempa \cref@constructprefix {page}{\cref@result }\protected@write \@auxout {}{\string \newlabel {##1@cref}{{\cref@currentlabel }{[\@tempb ][\arabic {page}][\cref@result ]\thepage }{}{}{}}}\@esphack }\def \label@optarg [##1]##2{\cref@old@label {##2}\@bsphack \edef \@tempa {{page}{\the \c@page }}\setcounter {page}{1}\edef \@tempb {\thepage }\expandafter \setcounter \@tempa \cref@constructprefix {page}{\cref@result }\protected@edef \cref@currentlabel {\expandafter \cref@override@label@type \cref@currentlabel \@nil {##1}}\protected@write \@auxout {}{\string \newlabel {##2@cref}{{\cref@currentlabel }{[\@tempb ][\arabic {page}][\cref@result ]\thepage }{}{}{}}}\@esphack }} \newcommand \firstaid@cref@smugglelabel {\let \cref@currentlabel \cref@gcurrentlabel@temp } \newcommand \firstaid@cref@updatelabeldata [1]{\cref@constructprefix {##1}{\cref@result }\@ifundefined {cref@##1@alias}{\def \@tempa {##1}}{\def \@tempa {\csname cref@##1@alias\endcsname }}\protected@xdef \cref@gcurrentlabel@temp {[\@tempa ][\arabic {##1}][\cref@result ]\csname p@##1\expandafter \endcsname \csname the##1\endcsname }\aftergroup \firstaid@cref@smugglelabel } \AddToHook {label}[firstaid/cleveref] {\ifx \@currentcounter \@empty \else \firstaid@cref@updatelabeldata {\@currentcounter }\fi } }\__hook_next package/cleveref/after package/arydshln/after -> \__hook_toplevel package/arydshln/after \FirstAidNeededT {arydshln}{sty}{....-..-.. v... } {\protected \def \adl@@vlineL ##1##2##3##4{\adl@ivline ##4\@nil {##1}{##2}\xdef \adl@colsL {\adl@colsL \@elt {##3}{\number \@tempcnta }{\number \@tempcntb }{\adl@dashcolor }{\adl@gapcolor }}}\protected \def \adl@@vlineR ##1##2##3##4{\adl@ivline ##4\@nil {##1}{##2}\xdef \adl@colsR {\@elt {##3}{\number \@tempcnta }{\number \@tempcntb }{\adl@dashcolor }{\adl@gapcolor }\adl@colsR }}\let \adl@act@@vlineL \adl@@vlineL \let \adl@act@@vlineR \adl@@vlineR }\__hook_next package/arydshln/after package/l3graphics/after -> \__hook_toplevel package/l3graphics/after \seq_set_from_clist:Nn \l_graphics_search_ext_seq {.pdf,.eps,.ps,.png,.jpg,.jpeg}\__hook_next package/l3graphics/after No file lthooks-000.aux. diff --git a/base/testfiles-lthooks/lthooks-001.tlg b/base/testfiles-lthooks/lthooks-001.tlg index b6b9ed65f..bc531f94e 100644 --- a/base/testfiles-lthooks/lthooks-001.tlg +++ b/base/testfiles-lthooks/lthooks-001.tlg @@ -189,7 +189,7 @@ All initialized (non-empty) hooks: package/acro/after -> \__hook_toplevel package/acro/after \FirstAidNeededT {acro}{sty}{....-..-.. v... typeset acronyms and other abbreviations (CN)} {\UseName {prop_new:c}{l__acro_tmpa_prop}\acsetup {patch/longtable=false}}\__hook_next package/acro/after package/chemformula/before -> \RequirePackage {l3keys2e}\__hook_toplevel package/chemformula/before \__hook_next package/chemformula/before package/chemnum/after -> \__hook_toplevel package/chemnum/after \FirstAidNeededT {chemnum}{sty}{....-..-.. v... a comprehensive approach for the numbering of chemical compounds (CN)} {\UseName {prop_new:c}{l__chemnum_tmpa_prop}}\__hook_next package/chemnum/after - package/cleveref/after -> \__hook_toplevel package/cleveref/after \FirstAidNeededT {cleveref}{sty}{....-..-.. v... Intelligent cross-referencing} {\def \cref@getref ##1##2{\expandafter \let \expandafter ##2\csname r@##1@cref\endcsname \expandafter \expandafter \expandafter \def \expandafter \expandafter \expandafter ##2\expandafter \expandafter \expandafter {\expandafter \@firstoffive ##2}}\def \cpageref@getref ##1##2{\expandafter \let \expandafter ##2\csname r@##1@cref\endcsname \expandafter \expandafter \expandafter \def \expandafter \expandafter \expandafter ##2\expandafter \expandafter \expandafter {\expandafter \@secondoffive ##2}}\AddToHook {begindocument}[cleveref]{\def \label@noarg ##1{\cref@old@label {##1}\@bsphack \edef \@tempa {{page}{\the \c@page }}\setcounter {page}{1}\edef \@tempb {\thepage }\expandafter \setcounter \@tempa \cref@constructprefix {page}{\cref@result }\protected@write \@auxout {}{\string \newlabel {##1@cref}{{\cref@currentlabel }{[\@tempb ][\arabic {page}][\cref@result ]\thepage }{}{}{}}}\@esphack }\def \label@optarg [##1]##2{\cref@old@label {##2}\@bsphack \edef \@tempa {{page}{\the \c@page }}\setcounter {page}{1}\edef \@tempb {\thepage }\expandafter \setcounter \@tempa \cref@constructprefix {page}{\cref@result }\protected@edef \cref@currentlabel {\expandafter \cref@override@label@type \cref@currentlabel \@nil {##1}}\protected@write \@auxout {}{\string \newlabel {##2@cref}{{\cref@currentlabel }{[\@tempb ][\arabic {page}][\cref@result ]\thepage }{}{}{}}}\@esphack }} \newcommand \firstaid@cref@smugglelabel {\let \cref@currentlabel \cref@gcurrentlabel@temp } \newcommand \firstaid@cref@updatelabeldata [1]{\cref@constructprefix {##1}{\cref@result }\@ifundefined {cref@##1@alias}{\def \@tempa {##1}}{\def \@tempa {\csname cref@##1@alias\endcsname }}\protected@xdef \cref@gcurrentlabel@temp {[\@tempa ][\arabic {##1}][\cref@result ]\csname p@##1\endcsname \csname the##1\endcsname }\aftergroup \firstaid@cref@smugglelabel } \AddToHook {label}[firstaid/cleveref] {\ifx \@currentcounter \@empty \else \firstaid@cref@updatelabeldata {\@currentcounter }\fi } }\__hook_next package/cleveref/after + package/cleveref/after -> \__hook_toplevel package/cleveref/after \FirstAidNeededT {cleveref}{sty}{....-..-.. v... Intelligent cross-referencing} {\def \cref@getref ##1##2{\expandafter \let \expandafter ##2\csname r@##1@cref\endcsname \expandafter \expandafter \expandafter \def \expandafter \expandafter \expandafter ##2\expandafter \expandafter \expandafter {\expandafter \@firstoffive ##2}}\def \cpageref@getref ##1##2{\expandafter \let \expandafter ##2\csname r@##1@cref\endcsname \expandafter \expandafter \expandafter \def \expandafter \expandafter \expandafter ##2\expandafter \expandafter \expandafter {\expandafter \@secondoffive ##2}}\AddToHook {begindocument}[cleveref]{\def \label@noarg ##1{\cref@old@label {##1}\@bsphack \edef \@tempa {{page}{\the \c@page }}\setcounter {page}{1}\edef \@tempb {\thepage }\expandafter \setcounter \@tempa \cref@constructprefix {page}{\cref@result }\protected@write \@auxout {}{\string \newlabel {##1@cref}{{\cref@currentlabel }{[\@tempb ][\arabic {page}][\cref@result ]\thepage }{}{}{}}}\@esphack }\def \label@optarg [##1]##2{\cref@old@label {##2}\@bsphack \edef \@tempa {{page}{\the \c@page }}\setcounter {page}{1}\edef \@tempb {\thepage }\expandafter \setcounter \@tempa \cref@constructprefix {page}{\cref@result }\protected@edef \cref@currentlabel {\expandafter \cref@override@label@type \cref@currentlabel \@nil {##1}}\protected@write \@auxout {}{\string \newlabel {##2@cref}{{\cref@currentlabel }{[\@tempb ][\arabic {page}][\cref@result ]\thepage }{}{}{}}}\@esphack }} \newcommand \firstaid@cref@smugglelabel {\let \cref@currentlabel \cref@gcurrentlabel@temp } \newcommand \firstaid@cref@updatelabeldata [1]{\cref@constructprefix {##1}{\cref@result }\@ifundefined {cref@##1@alias}{\def \@tempa {##1}}{\def \@tempa {\csname cref@##1@alias\endcsname }}\protected@xdef \cref@gcurrentlabel@temp {[\@tempa ][\arabic {##1}][\cref@result ]\csname p@##1\expandafter \endcsname \csname the##1\endcsname }\aftergroup \firstaid@cref@smugglelabel } \AddToHook {label}[firstaid/cleveref] {\ifx \@currentcounter \@empty \else \firstaid@cref@updatelabeldata {\@currentcounter }\fi } }\__hook_next package/cleveref/after package/arydshln/after -> \__hook_toplevel package/arydshln/after \FirstAidNeededT {arydshln}{sty}{....-..-.. v... } {\protected \def \adl@@vlineL ##1##2##3##4{\adl@ivline ##4\@nil {##1}{##2}\xdef \adl@colsL {\adl@colsL \@elt {##3}{\number \@tempcnta }{\number \@tempcntb }{\adl@dashcolor }{\adl@gapcolor }}}\protected \def \adl@@vlineR ##1##2##3##4{\adl@ivline ##4\@nil {##1}{##2}\xdef \adl@colsR {\@elt {##3}{\number \@tempcnta }{\number \@tempcntb }{\adl@dashcolor }{\adl@gapcolor }\adl@colsR }}\let \adl@act@@vlineL \adl@@vlineL \let \adl@act@@vlineR \adl@@vlineR }\__hook_next package/arydshln/after xxx -> foobar\__hook_toplevel xxx \__hook_next xxx LaTeX hooks Warning: Cannot remove chunk 'label3' from hook 'xxx' because it does not exist in that hook. @@ -439,7 +439,7 @@ All initialized (non-empty) hooks: package/acro/after -> \__hook_toplevel package/acro/after \FirstAidNeededT {acro}{sty}{....-..-.. v... typeset acronyms and other abbreviations (CN)} {\UseName {prop_new:c}{l__acro_tmpa_prop}\acsetup {patch/longtable=false}}\__hook_next package/acro/after package/chemformula/before -> \RequirePackage {l3keys2e}\__hook_toplevel package/chemformula/before \__hook_next package/chemformula/before package/chemnum/after -> \__hook_toplevel package/chemnum/after \FirstAidNeededT {chemnum}{sty}{....-..-.. v... a comprehensive approach for the numbering of chemical compounds (CN)} {\UseName {prop_new:c}{l__chemnum_tmpa_prop}}\__hook_next package/chemnum/after - package/cleveref/after -> \__hook_toplevel package/cleveref/after \FirstAidNeededT {cleveref}{sty}{....-..-.. v... Intelligent cross-referencing} {\def \cref@getref ##1##2{\expandafter \let \expandafter ##2\csname r@##1@cref\endcsname \expandafter \expandafter \expandafter \def \expandafter \expandafter \expandafter ##2\expandafter \expandafter \expandafter {\expandafter \@firstoffive ##2}}\def \cpageref@getref ##1##2{\expandafter \let \expandafter ##2\csname r@##1@cref\endcsname \expandafter \expandafter \expandafter \def \expandafter \expandafter \expandafter ##2\expandafter \expandafter \expandafter {\expandafter \@secondoffive ##2}}\AddToHook {begindocument}[cleveref]{\def \label@noarg ##1{\cref@old@label {##1}\@bsphack \edef \@tempa {{page}{\the \c@page }}\setcounter {page}{1}\edef \@tempb {\thepage }\expandafter \setcounter \@tempa \cref@constructprefix {page}{\cref@result }\protected@write \@auxout {}{\string \newlabel {##1@cref}{{\cref@currentlabel }{[\@tempb ][\arabic {page}][\cref@result ]\thepage }{}{}{}}}\@esphack }\def \label@optarg [##1]##2{\cref@old@label {##2}\@bsphack \edef \@tempa {{page}{\the \c@page }}\setcounter {page}{1}\edef \@tempb {\thepage }\expandafter \setcounter \@tempa \cref@constructprefix {page}{\cref@result }\protected@edef \cref@currentlabel {\expandafter \cref@override@label@type \cref@currentlabel \@nil {##1}}\protected@write \@auxout {}{\string \newlabel {##2@cref}{{\cref@currentlabel }{[\@tempb ][\arabic {page}][\cref@result ]\thepage }{}{}{}}}\@esphack }} \newcommand \firstaid@cref@smugglelabel {\let \cref@currentlabel \cref@gcurrentlabel@temp } \newcommand \firstaid@cref@updatelabeldata [1]{\cref@constructprefix {##1}{\cref@result }\@ifundefined {cref@##1@alias}{\def \@tempa {##1}}{\def \@tempa {\csname cref@##1@alias\endcsname }}\protected@xdef \cref@gcurrentlabel@temp {[\@tempa ][\arabic {##1}][\cref@result ]\csname p@##1\endcsname \csname the##1\endcsname }\aftergroup \firstaid@cref@smugglelabel } \AddToHook {label}[firstaid/cleveref] {\ifx \@currentcounter \@empty \else \firstaid@cref@updatelabeldata {\@currentcounter }\fi } }\__hook_next package/cleveref/after + package/cleveref/after -> \__hook_toplevel package/cleveref/after \FirstAidNeededT {cleveref}{sty}{....-..-.. v... Intelligent cross-referencing} {\def \cref@getref ##1##2{\expandafter \let \expandafter ##2\csname r@##1@cref\endcsname \expandafter \expandafter \expandafter \def \expandafter \expandafter \expandafter ##2\expandafter \expandafter \expandafter {\expandafter \@firstoffive ##2}}\def \cpageref@getref ##1##2{\expandafter \let \expandafter ##2\csname r@##1@cref\endcsname \expandafter \expandafter \expandafter \def \expandafter \expandafter \expandafter ##2\expandafter \expandafter \expandafter {\expandafter \@secondoffive ##2}}\AddToHook {begindocument}[cleveref]{\def \label@noarg ##1{\cref@old@label {##1}\@bsphack \edef \@tempa {{page}{\the \c@page }}\setcounter {page}{1}\edef \@tempb {\thepage }\expandafter \setcounter \@tempa \cref@constructprefix {page}{\cref@result }\protected@write \@auxout {}{\string \newlabel {##1@cref}{{\cref@currentlabel }{[\@tempb ][\arabic {page}][\cref@result ]\thepage }{}{}{}}}\@esphack }\def \label@optarg [##1]##2{\cref@old@label {##2}\@bsphack \edef \@tempa {{page}{\the \c@page }}\setcounter {page}{1}\edef \@tempb {\thepage }\expandafter \setcounter \@tempa \cref@constructprefix {page}{\cref@result }\protected@edef \cref@currentlabel {\expandafter \cref@override@label@type \cref@currentlabel \@nil {##1}}\protected@write \@auxout {}{\string \newlabel {##2@cref}{{\cref@currentlabel }{[\@tempb ][\arabic {page}][\cref@result ]\thepage }{}{}{}}}\@esphack }} \newcommand \firstaid@cref@smugglelabel {\let \cref@currentlabel \cref@gcurrentlabel@temp } \newcommand \firstaid@cref@updatelabeldata [1]{\cref@constructprefix {##1}{\cref@result }\@ifundefined {cref@##1@alias}{\def \@tempa {##1}}{\def \@tempa {\csname cref@##1@alias\endcsname }}\protected@xdef \cref@gcurrentlabel@temp {[\@tempa ][\arabic {##1}][\cref@result ]\csname p@##1\expandafter \endcsname \csname the##1\endcsname }\aftergroup \firstaid@cref@smugglelabel } \AddToHook {label}[firstaid/cleveref] {\ifx \@currentcounter \@empty \else \firstaid@cref@updatelabeldata {\@currentcounter }\fi } }\__hook_next package/cleveref/after package/arydshln/after -> \__hook_toplevel package/arydshln/after \FirstAidNeededT {arydshln}{sty}{....-..-.. v... } {\protected \def \adl@@vlineL ##1##2##3##4{\adl@ivline ##4\@nil {##1}{##2}\xdef \adl@colsL {\adl@colsL \@elt {##3}{\number \@tempcnta }{\number \@tempcntb }{\adl@dashcolor }{\adl@gapcolor }}}\protected \def \adl@@vlineR ##1##2##3##4{\adl@ivline ##4\@nil {##1}{##2}\xdef \adl@colsR {\@elt {##3}{\number \@tempcnta }{\number \@tempcntb }{\adl@dashcolor }{\adl@gapcolor }\adl@colsR }}\let \adl@act@@vlineL \adl@@vlineL \let \adl@act@@vlineR \adl@@vlineR }\__hook_next package/arydshln/after xxx -> foo\__hook_toplevel xxx \__hook_next xxx The hook xxx contains the rules: diff --git a/base/testfiles-lthooks/lthooks-002.tlg b/base/testfiles-lthooks/lthooks-002.tlg index a7b87d723..c77c08aef 100644 --- a/base/testfiles-lthooks/lthooks-002.tlg +++ b/base/testfiles-lthooks/lthooks-002.tlg @@ -189,7 +189,7 @@ All initialized (non-empty) hooks: package/acro/after -> \__hook_toplevel package/acro/after \FirstAidNeededT {acro}{sty}{....-..-.. v... typeset acronyms and other abbreviations (CN)} {\UseName {prop_new:c}{l__acro_tmpa_prop}\acsetup {patch/longtable=false}}\__hook_next package/acro/after package/chemformula/before -> \RequirePackage {l3keys2e}\__hook_toplevel package/chemformula/before \__hook_next package/chemformula/before package/chemnum/after -> \__hook_toplevel package/chemnum/after \FirstAidNeededT {chemnum}{sty}{....-..-.. v... a comprehensive approach for the numbering of chemical compounds (CN)} {\UseName {prop_new:c}{l__chemnum_tmpa_prop}}\__hook_next package/chemnum/after - package/cleveref/after -> \__hook_toplevel package/cleveref/after \FirstAidNeededT {cleveref}{sty}{....-..-.. v... Intelligent cross-referencing} {\def \cref@getref ##1##2{\expandafter \let \expandafter ##2\csname r@##1@cref\endcsname \expandafter \expandafter \expandafter \def \expandafter \expandafter \expandafter ##2\expandafter \expandafter \expandafter {\expandafter \@firstoffive ##2}}\def \cpageref@getref ##1##2{\expandafter \let \expandafter ##2\csname r@##1@cref\endcsname \expandafter \expandafter \expandafter \def \expandafter \expandafter \expandafter ##2\expandafter \expandafter \expandafter {\expandafter \@secondoffive ##2}}\AddToHook {begindocument}[cleveref]{\def \label@noarg ##1{\cref@old@label {##1}\@bsphack \edef \@tempa {{page}{\the \c@page }}\setcounter {page}{1}\edef \@tempb {\thepage }\expandafter \setcounter \@tempa \cref@constructprefix {page}{\cref@result }\protected@write \@auxout {}{\string \newlabel {##1@cref}{{\cref@currentlabel }{[\@tempb ][\arabic {page}][\cref@result ]\thepage }{}{}{}}}\@esphack }\def \label@optarg [##1]##2{\cref@old@label {##2}\@bsphack \edef \@tempa {{page}{\the \c@page }}\setcounter {page}{1}\edef \@tempb {\thepage }\expandafter \setcounter \@tempa \cref@constructprefix {page}{\cref@result }\protected@edef \cref@currentlabel {\expandafter \cref@override@label@type \cref@currentlabel \@nil {##1}}\protected@write \@auxout {}{\string \newlabel {##2@cref}{{\cref@currentlabel }{[\@tempb ][\arabic {page}][\cref@result ]\thepage }{}{}{}}}\@esphack }} \newcommand \firstaid@cref@smugglelabel {\let \cref@currentlabel \cref@gcurrentlabel@temp } \newcommand \firstaid@cref@updatelabeldata [1]{\cref@constructprefix {##1}{\cref@result }\@ifundefined {cref@##1@alias}{\def \@tempa {##1}}{\def \@tempa {\csname cref@##1@alias\endcsname }}\protected@xdef \cref@gcurrentlabel@temp {[\@tempa ][\arabic {##1}][\cref@result ]\csname p@##1\endcsname \csname the##1\endcsname }\aftergroup \firstaid@cref@smugglelabel } \AddToHook {label}[firstaid/cleveref] {\ifx \@currentcounter \@empty \else \firstaid@cref@updatelabeldata {\@currentcounter }\fi } }\__hook_next package/cleveref/after + package/cleveref/after -> \__hook_toplevel package/cleveref/after \FirstAidNeededT {cleveref}{sty}{....-..-.. v... Intelligent cross-referencing} {\def \cref@getref ##1##2{\expandafter \let \expandafter ##2\csname r@##1@cref\endcsname \expandafter \expandafter \expandafter \def \expandafter \expandafter \expandafter ##2\expandafter \expandafter \expandafter {\expandafter \@firstoffive ##2}}\def \cpageref@getref ##1##2{\expandafter \let \expandafter ##2\csname r@##1@cref\endcsname \expandafter \expandafter \expandafter \def \expandafter \expandafter \expandafter ##2\expandafter \expandafter \expandafter {\expandafter \@secondoffive ##2}}\AddToHook {begindocument}[cleveref]{\def \label@noarg ##1{\cref@old@label {##1}\@bsphack \edef \@tempa {{page}{\the \c@page }}\setcounter {page}{1}\edef \@tempb {\thepage }\expandafter \setcounter \@tempa \cref@constructprefix {page}{\cref@result }\protected@write \@auxout {}{\string \newlabel {##1@cref}{{\cref@currentlabel }{[\@tempb ][\arabic {page}][\cref@result ]\thepage }{}{}{}}}\@esphack }\def \label@optarg [##1]##2{\cref@old@label {##2}\@bsphack \edef \@tempa {{page}{\the \c@page }}\setcounter {page}{1}\edef \@tempb {\thepage }\expandafter \setcounter \@tempa \cref@constructprefix {page}{\cref@result }\protected@edef \cref@currentlabel {\expandafter \cref@override@label@type \cref@currentlabel \@nil {##1}}\protected@write \@auxout {}{\string \newlabel {##2@cref}{{\cref@currentlabel }{[\@tempb ][\arabic {page}][\cref@result ]\thepage }{}{}{}}}\@esphack }} \newcommand \firstaid@cref@smugglelabel {\let \cref@currentlabel \cref@gcurrentlabel@temp } \newcommand \firstaid@cref@updatelabeldata [1]{\cref@constructprefix {##1}{\cref@result }\@ifundefined {cref@##1@alias}{\def \@tempa {##1}}{\def \@tempa {\csname cref@##1@alias\endcsname }}\protected@xdef \cref@gcurrentlabel@temp {[\@tempa ][\arabic {##1}][\cref@result ]\csname p@##1\expandafter \endcsname \csname the##1\endcsname }\aftergroup \firstaid@cref@smugglelabel } \AddToHook {label}[firstaid/cleveref] {\ifx \@currentcounter \@empty \else \firstaid@cref@updatelabeldata {\@currentcounter }\fi } }\__hook_next package/cleveref/after package/arydshln/after -> \__hook_toplevel package/arydshln/after \FirstAidNeededT {arydshln}{sty}{....-..-.. v... } {\protected \def \adl@@vlineL ##1##2##3##4{\adl@ivline ##4\@nil {##1}{##2}\xdef \adl@colsL {\adl@colsL \@elt {##3}{\number \@tempcnta }{\number \@tempcntb }{\adl@dashcolor }{\adl@gapcolor }}}\protected \def \adl@@vlineR ##1##2##3##4{\adl@ivline ##4\@nil {##1}{##2}\xdef \adl@colsR {\@elt {##3}{\number \@tempcnta }{\number \@tempcntb }{\adl@dashcolor }{\adl@gapcolor }\adl@colsR }}\let \adl@act@@vlineL \adl@@vlineL \let \adl@act@@vlineR \adl@@vlineR }\__hook_next package/arydshln/after xxx -> foobar\__hook_toplevel xxx \__hook_next xxx LaTeX hooks Warning: Cannot remove chunk 'label3' from hook 'xxx' because it does not exist in that hook. @@ -441,7 +441,7 @@ All initialized (non-empty) hooks: package/acro/after -> \__hook_toplevel package/acro/after \FirstAidNeededT {acro}{sty}{....-..-.. v... typeset acronyms and other abbreviations (CN)} {\UseName {prop_new:c}{l__acro_tmpa_prop}\acsetup {patch/longtable=false}}\__hook_next package/acro/after package/chemformula/before -> \RequirePackage {l3keys2e}\__hook_toplevel package/chemformula/before \__hook_next package/chemformula/before package/chemnum/after -> \__hook_toplevel package/chemnum/after \FirstAidNeededT {chemnum}{sty}{....-..-.. v... a comprehensive approach for the numbering of chemical compounds (CN)} {\UseName {prop_new:c}{l__chemnum_tmpa_prop}}\__hook_next package/chemnum/after - package/cleveref/after -> \__hook_toplevel package/cleveref/after \FirstAidNeededT {cleveref}{sty}{....-..-.. v... Intelligent cross-referencing} {\def \cref@getref ##1##2{\expandafter \let \expandafter ##2\csname r@##1@cref\endcsname \expandafter \expandafter \expandafter \def \expandafter \expandafter \expandafter ##2\expandafter \expandafter \expandafter {\expandafter \@firstoffive ##2}}\def \cpageref@getref ##1##2{\expandafter \let \expandafter ##2\csname r@##1@cref\endcsname \expandafter \expandafter \expandafter \def \expandafter \expandafter \expandafter ##2\expandafter \expandafter \expandafter {\expandafter \@secondoffive ##2}}\AddToHook {begindocument}[cleveref]{\def \label@noarg ##1{\cref@old@label {##1}\@bsphack \edef \@tempa {{page}{\the \c@page }}\setcounter {page}{1}\edef \@tempb {\thepage }\expandafter \setcounter \@tempa \cref@constructprefix {page}{\cref@result }\protected@write \@auxout {}{\string \newlabel {##1@cref}{{\cref@currentlabel }{[\@tempb ][\arabic {page}][\cref@result ]\thepage }{}{}{}}}\@esphack }\def \label@optarg [##1]##2{\cref@old@label {##2}\@bsphack \edef \@tempa {{page}{\the \c@page }}\setcounter {page}{1}\edef \@tempb {\thepage }\expandafter \setcounter \@tempa \cref@constructprefix {page}{\cref@result }\protected@edef \cref@currentlabel {\expandafter \cref@override@label@type \cref@currentlabel \@nil {##1}}\protected@write \@auxout {}{\string \newlabel {##2@cref}{{\cref@currentlabel }{[\@tempb ][\arabic {page}][\cref@result ]\thepage }{}{}{}}}\@esphack }} \newcommand \firstaid@cref@smugglelabel {\let \cref@currentlabel \cref@gcurrentlabel@temp } \newcommand \firstaid@cref@updatelabeldata [1]{\cref@constructprefix {##1}{\cref@result }\@ifundefined {cref@##1@alias}{\def \@tempa {##1}}{\def \@tempa {\csname cref@##1@alias\endcsname }}\protected@xdef \cref@gcurrentlabel@temp {[\@tempa ][\arabic {##1}][\cref@result ]\csname p@##1\endcsname \csname the##1\endcsname }\aftergroup \firstaid@cref@smugglelabel } \AddToHook {label}[firstaid/cleveref] {\ifx \@currentcounter \@empty \else \firstaid@cref@updatelabeldata {\@currentcounter }\fi } }\__hook_next package/cleveref/after + package/cleveref/after -> \__hook_toplevel package/cleveref/after \FirstAidNeededT {cleveref}{sty}{....-..-.. v... Intelligent cross-referencing} {\def \cref@getref ##1##2{\expandafter \let \expandafter ##2\csname r@##1@cref\endcsname \expandafter \expandafter \expandafter \def \expandafter \expandafter \expandafter ##2\expandafter \expandafter \expandafter {\expandafter \@firstoffive ##2}}\def \cpageref@getref ##1##2{\expandafter \let \expandafter ##2\csname r@##1@cref\endcsname \expandafter \expandafter \expandafter \def \expandafter \expandafter \expandafter ##2\expandafter \expandafter \expandafter {\expandafter \@secondoffive ##2}}\AddToHook {begindocument}[cleveref]{\def \label@noarg ##1{\cref@old@label {##1}\@bsphack \edef \@tempa {{page}{\the \c@page }}\setcounter {page}{1}\edef \@tempb {\thepage }\expandafter \setcounter \@tempa \cref@constructprefix {page}{\cref@result }\protected@write \@auxout {}{\string \newlabel {##1@cref}{{\cref@currentlabel }{[\@tempb ][\arabic {page}][\cref@result ]\thepage }{}{}{}}}\@esphack }\def \label@optarg [##1]##2{\cref@old@label {##2}\@bsphack \edef \@tempa {{page}{\the \c@page }}\setcounter {page}{1}\edef \@tempb {\thepage }\expandafter \setcounter \@tempa \cref@constructprefix {page}{\cref@result }\protected@edef \cref@currentlabel {\expandafter \cref@override@label@type \cref@currentlabel \@nil {##1}}\protected@write \@auxout {}{\string \newlabel {##2@cref}{{\cref@currentlabel }{[\@tempb ][\arabic {page}][\cref@result ]\thepage }{}{}{}}}\@esphack }} \newcommand \firstaid@cref@smugglelabel {\let \cref@currentlabel \cref@gcurrentlabel@temp } \newcommand \firstaid@cref@updatelabeldata [1]{\cref@constructprefix {##1}{\cref@result }\@ifundefined {cref@##1@alias}{\def \@tempa {##1}}{\def \@tempa {\csname cref@##1@alias\endcsname }}\protected@xdef \cref@gcurrentlabel@temp {[\@tempa ][\arabic {##1}][\cref@result ]\csname p@##1\expandafter \endcsname \csname the##1\endcsname }\aftergroup \firstaid@cref@smugglelabel } \AddToHook {label}[firstaid/cleveref] {\ifx \@currentcounter \@empty \else \firstaid@cref@updatelabeldata {\@currentcounter }\fi } }\__hook_next package/cleveref/after package/arydshln/after -> \__hook_toplevel package/arydshln/after \FirstAidNeededT {arydshln}{sty}{....-..-.. v... } {\protected \def \adl@@vlineL ##1##2##3##4{\adl@ivline ##4\@nil {##1}{##2}\xdef \adl@colsL {\adl@colsL \@elt {##3}{\number \@tempcnta }{\number \@tempcntb }{\adl@dashcolor }{\adl@gapcolor }}}\protected \def \adl@@vlineR ##1##2##3##4{\adl@ivline ##4\@nil {##1}{##2}\xdef \adl@colsR {\@elt {##3}{\number \@tempcnta }{\number \@tempcntb }{\adl@dashcolor }{\adl@gapcolor }\adl@colsR }}\let \adl@act@@vlineL \adl@@vlineL \let \adl@act@@vlineR \adl@@vlineR }\__hook_next package/arydshln/after xxx -> foo\__hook_toplevel xxx \__hook_next xxx The hook xxx contains the rules: diff --git a/base/testfiles-lthooks/lthooks-003.tlg b/base/testfiles-lthooks/lthooks-003.tlg index 4d973492d..1ea1e115a 100644 --- a/base/testfiles-lthooks/lthooks-003.tlg +++ b/base/testfiles-lthooks/lthooks-003.tlg @@ -299,6 +299,6 @@ All initialized (non-empty) hooks: package/acro/after -> \__hook_toplevel package/acro/after \FirstAidNeededT {acro}{sty}{....-..-.. v... typeset acronyms and other abbreviations (CN)} {\UseName {prop_new:c}{l__acro_tmpa_prop}\acsetup {patch/longtable=false}}\__hook_next package/acro/after package/chemformula/before -> \RequirePackage {l3keys2e}\__hook_toplevel package/chemformula/before \__hook_next package/chemformula/before package/chemnum/after -> \__hook_toplevel package/chemnum/after \FirstAidNeededT {chemnum}{sty}{....-..-.. v... a comprehensive approach for the numbering of chemical compounds (CN)} {\UseName {prop_new:c}{l__chemnum_tmpa_prop}}\__hook_next package/chemnum/after - package/cleveref/after -> \__hook_toplevel package/cleveref/after \FirstAidNeededT {cleveref}{sty}{....-..-.. v... Intelligent cross-referencing} {\def \cref@getref ##1##2{\expandafter \let \expandafter ##2\csname r@##1@cref\endcsname \expandafter \expandafter \expandafter \def \expandafter \expandafter \expandafter ##2\expandafter \expandafter \expandafter {\expandafter \@firstoffive ##2}}\def \cpageref@getref ##1##2{\expandafter \let \expandafter ##2\csname r@##1@cref\endcsname \expandafter \expandafter \expandafter \def \expandafter \expandafter \expandafter ##2\expandafter \expandafter \expandafter {\expandafter \@secondoffive ##2}}\AddToHook {begindocument}[cleveref]{\def \label@noarg ##1{\cref@old@label {##1}\@bsphack \edef \@tempa {{page}{\the \c@page }}\setcounter {page}{1}\edef \@tempb {\thepage }\expandafter \setcounter \@tempa \cref@constructprefix {page}{\cref@result }\protected@write \@auxout {}{\string \newlabel {##1@cref}{{\cref@currentlabel }{[\@tempb ][\arabic {page}][\cref@result ]\thepage }{}{}{}}}\@esphack }\def \label@optarg [##1]##2{\cref@old@label {##2}\@bsphack \edef \@tempa {{page}{\the \c@page }}\setcounter {page}{1}\edef \@tempb {\thepage }\expandafter \setcounter \@tempa \cref@constructprefix {page}{\cref@result }\protected@edef \cref@currentlabel {\expandafter \cref@override@label@type \cref@currentlabel \@nil {##1}}\protected@write \@auxout {}{\string \newlabel {##2@cref}{{\cref@currentlabel }{[\@tempb ][\arabic {page}][\cref@result ]\thepage }{}{}{}}}\@esphack }} \newcommand \firstaid@cref@smugglelabel {\let \cref@currentlabel \cref@gcurrentlabel@temp } \newcommand \firstaid@cref@updatelabeldata [1]{\cref@constructprefix {##1}{\cref@result }\@ifundefined {cref@##1@alias}{\def \@tempa {##1}}{\def \@tempa {\csname cref@##1@alias\endcsname }}\protected@xdef \cref@gcurrentlabel@temp {[\@tempa ][\arabic {##1}][\cref@result ]\csname p@##1\endcsname \csname the##1\endcsname }\aftergroup \firstaid@cref@smugglelabel } \AddToHook {label}[firstaid/cleveref] {\ifx \@currentcounter \@empty \else \firstaid@cref@updatelabeldata {\@currentcounter }\fi } }\__hook_next package/cleveref/after + package/cleveref/after -> \__hook_toplevel package/cleveref/after \FirstAidNeededT {cleveref}{sty}{....-..-.. v... Intelligent cross-referencing} {\def \cref@getref ##1##2{\expandafter \let \expandafter ##2\csname r@##1@cref\endcsname \expandafter \expandafter \expandafter \def \expandafter \expandafter \expandafter ##2\expandafter \expandafter \expandafter {\expandafter \@firstoffive ##2}}\def \cpageref@getref ##1##2{\expandafter \let \expandafter ##2\csname r@##1@cref\endcsname \expandafter \expandafter \expandafter \def \expandafter \expandafter \expandafter ##2\expandafter \expandafter \expandafter {\expandafter \@secondoffive ##2}}\AddToHook {begindocument}[cleveref]{\def \label@noarg ##1{\cref@old@label {##1}\@bsphack \edef \@tempa {{page}{\the \c@page }}\setcounter {page}{1}\edef \@tempb {\thepage }\expandafter \setcounter \@tempa \cref@constructprefix {page}{\cref@result }\protected@write \@auxout {}{\string \newlabel {##1@cref}{{\cref@currentlabel }{[\@tempb ][\arabic {page}][\cref@result ]\thepage }{}{}{}}}\@esphack }\def \label@optarg [##1]##2{\cref@old@label {##2}\@bsphack \edef \@tempa {{page}{\the \c@page }}\setcounter {page}{1}\edef \@tempb {\thepage }\expandafter \setcounter \@tempa \cref@constructprefix {page}{\cref@result }\protected@edef \cref@currentlabel {\expandafter \cref@override@label@type \cref@currentlabel \@nil {##1}}\protected@write \@auxout {}{\string \newlabel {##2@cref}{{\cref@currentlabel }{[\@tempb ][\arabic {page}][\cref@result ]\thepage }{}{}{}}}\@esphack }} \newcommand \firstaid@cref@smugglelabel {\let \cref@currentlabel \cref@gcurrentlabel@temp } \newcommand \firstaid@cref@updatelabeldata [1]{\cref@constructprefix {##1}{\cref@result }\@ifundefined {cref@##1@alias}{\def \@tempa {##1}}{\def \@tempa {\csname cref@##1@alias\endcsname }}\protected@xdef \cref@gcurrentlabel@temp {[\@tempa ][\arabic {##1}][\cref@result ]\csname p@##1\expandafter \endcsname \csname the##1\endcsname }\aftergroup \firstaid@cref@smugglelabel } \AddToHook {label}[firstaid/cleveref] {\ifx \@currentcounter \@empty \else \firstaid@cref@updatelabeldata {\@currentcounter }\fi } }\__hook_next package/cleveref/after package/arydshln/after -> \__hook_toplevel package/arydshln/after \FirstAidNeededT {arydshln}{sty}{....-..-.. v... } {\protected \def \adl@@vlineL ##1##2##3##4{\adl@ivline ##4\@nil {##1}{##2}\xdef \adl@colsL {\adl@colsL \@elt {##3}{\number \@tempcnta }{\number \@tempcntb }{\adl@dashcolor }{\adl@gapcolor }}}\protected \def \adl@@vlineR ##1##2##3##4{\adl@ivline ##4\@nil {##1}{##2}\xdef \adl@colsR {\@elt {##3}{\number \@tempcnta }{\number \@tempcntb }{\adl@dashcolor }{\adl@gapcolor }\adl@colsR }}\let \adl@act@@vlineL \adl@@vlineL \let \adl@act@@vlineR \adl@@vlineR }\__hook_next package/arydshln/after xxx -> foo1 foo9 foo3 foo2 foo7 foo4 foo5 foo8 foo6\__hook_toplevel xxx \__hook_next xxx diff --git a/base/testfiles-lthooks/lthooks-004.tlg b/base/testfiles-lthooks/lthooks-004.tlg index 3f361be05..656665371 100644 --- a/base/testfiles-lthooks/lthooks-004.tlg +++ b/base/testfiles-lthooks/lthooks-004.tlg @@ -274,6 +274,6 @@ All initialized (non-empty) hooks: package/acro/after -> \__hook_toplevel package/acro/after \FirstAidNeededT {acro}{sty}{....-..-.. v... typeset acronyms and other abbreviations (CN)} {\UseName {prop_new:c}{l__acro_tmpa_prop}\acsetup {patch/longtable=false}}\__hook_next package/acro/after package/chemformula/before -> \RequirePackage {l3keys2e}\__hook_toplevel package/chemformula/before \__hook_next package/chemformula/before package/chemnum/after -> \__hook_toplevel package/chemnum/after \FirstAidNeededT {chemnum}{sty}{....-..-.. v... a comprehensive approach for the numbering of chemical compounds (CN)} {\UseName {prop_new:c}{l__chemnum_tmpa_prop}}\__hook_next package/chemnum/after - package/cleveref/after -> \__hook_toplevel package/cleveref/after \FirstAidNeededT {cleveref}{sty}{....-..-.. v... Intelligent cross-referencing} {\def \cref@getref ##1##2{\expandafter \let \expandafter ##2\csname r@##1@cref\endcsname \expandafter \expandafter \expandafter \def \expandafter \expandafter \expandafter ##2\expandafter \expandafter \expandafter {\expandafter \@firstoffive ##2}}\def \cpageref@getref ##1##2{\expandafter \let \expandafter ##2\csname r@##1@cref\endcsname \expandafter \expandafter \expandafter \def \expandafter \expandafter \expandafter ##2\expandafter \expandafter \expandafter {\expandafter \@secondoffive ##2}}\AddToHook {begindocument}[cleveref]{\def \label@noarg ##1{\cref@old@label {##1}\@bsphack \edef \@tempa {{page}{\the \c@page }}\setcounter {page}{1}\edef \@tempb {\thepage }\expandafter \setcounter \@tempa \cref@constructprefix {page}{\cref@result }\protected@write \@auxout {}{\string \newlabel {##1@cref}{{\cref@currentlabel }{[\@tempb ][\arabic {page}][\cref@result ]\thepage }{}{}{}}}\@esphack }\def \label@optarg [##1]##2{\cref@old@label {##2}\@bsphack \edef \@tempa {{page}{\the \c@page }}\setcounter {page}{1}\edef \@tempb {\thepage }\expandafter \setcounter \@tempa \cref@constructprefix {page}{\cref@result }\protected@edef \cref@currentlabel {\expandafter \cref@override@label@type \cref@currentlabel \@nil {##1}}\protected@write \@auxout {}{\string \newlabel {##2@cref}{{\cref@currentlabel }{[\@tempb ][\arabic {page}][\cref@result ]\thepage }{}{}{}}}\@esphack }} \newcommand \firstaid@cref@smugglelabel {\let \cref@currentlabel \cref@gcurrentlabel@temp } \newcommand \firstaid@cref@updatelabeldata [1]{\cref@constructprefix {##1}{\cref@result }\@ifundefined {cref@##1@alias}{\def \@tempa {##1}}{\def \@tempa {\csname cref@##1@alias\endcsname }}\protected@xdef \cref@gcurrentlabel@temp {[\@tempa ][\arabic {##1}][\cref@result ]\csname p@##1\endcsname \csname the##1\endcsname }\aftergroup \firstaid@cref@smugglelabel } \AddToHook {label}[firstaid/cleveref] {\ifx \@currentcounter \@empty \else \firstaid@cref@updatelabeldata {\@currentcounter }\fi } }\__hook_next package/cleveref/after + package/cleveref/after -> \__hook_toplevel package/cleveref/after \FirstAidNeededT {cleveref}{sty}{....-..-.. v... Intelligent cross-referencing} {\def \cref@getref ##1##2{\expandafter \let \expandafter ##2\csname r@##1@cref\endcsname \expandafter \expandafter \expandafter \def \expandafter \expandafter \expandafter ##2\expandafter \expandafter \expandafter {\expandafter \@firstoffive ##2}}\def \cpageref@getref ##1##2{\expandafter \let \expandafter ##2\csname r@##1@cref\endcsname \expandafter \expandafter \expandafter \def \expandafter \expandafter \expandafter ##2\expandafter \expandafter \expandafter {\expandafter \@secondoffive ##2}}\AddToHook {begindocument}[cleveref]{\def \label@noarg ##1{\cref@old@label {##1}\@bsphack \edef \@tempa {{page}{\the \c@page }}\setcounter {page}{1}\edef \@tempb {\thepage }\expandafter \setcounter \@tempa \cref@constructprefix {page}{\cref@result }\protected@write \@auxout {}{\string \newlabel {##1@cref}{{\cref@currentlabel }{[\@tempb ][\arabic {page}][\cref@result ]\thepage }{}{}{}}}\@esphack }\def \label@optarg [##1]##2{\cref@old@label {##2}\@bsphack \edef \@tempa {{page}{\the \c@page }}\setcounter {page}{1}\edef \@tempb {\thepage }\expandafter \setcounter \@tempa \cref@constructprefix {page}{\cref@result }\protected@edef \cref@currentlabel {\expandafter \cref@override@label@type \cref@currentlabel \@nil {##1}}\protected@write \@auxout {}{\string \newlabel {##2@cref}{{\cref@currentlabel }{[\@tempb ][\arabic {page}][\cref@result ]\thepage }{}{}{}}}\@esphack }} \newcommand \firstaid@cref@smugglelabel {\let \cref@currentlabel \cref@gcurrentlabel@temp } \newcommand \firstaid@cref@updatelabeldata [1]{\cref@constructprefix {##1}{\cref@result }\@ifundefined {cref@##1@alias}{\def \@tempa {##1}}{\def \@tempa {\csname cref@##1@alias\endcsname }}\protected@xdef \cref@gcurrentlabel@temp {[\@tempa ][\arabic {##1}][\cref@result ]\csname p@##1\expandafter \endcsname \csname the##1\endcsname }\aftergroup \firstaid@cref@smugglelabel } \AddToHook {label}[firstaid/cleveref] {\ifx \@currentcounter \@empty \else \firstaid@cref@updatelabeldata {\@currentcounter }\fi } }\__hook_next package/cleveref/after package/arydshln/after -> \__hook_toplevel package/arydshln/after \FirstAidNeededT {arydshln}{sty}{....-..-.. v... } {\protected \def \adl@@vlineL ##1##2##3##4{\adl@ivline ##4\@nil {##1}{##2}\xdef \adl@colsL {\adl@colsL \@elt {##3}{\number \@tempcnta }{\number \@tempcntb }{\adl@dashcolor }{\adl@gapcolor }}}\protected \def \adl@@vlineR ##1##2##3##4{\adl@ivline ##4\@nil {##1}{##2}\xdef \adl@colsR {\@elt {##3}{\number \@tempcnta }{\number \@tempcntb }{\adl@dashcolor }{\adl@gapcolor }\adl@colsR }}\let \adl@act@@vlineL \adl@@vlineL \let \adl@act@@vlineR \adl@@vlineR }\__hook_next package/arydshln/after xxx -> foo4\__hook_toplevel xxx \__hook_next xxx diff --git a/base/testfiles-lthooks/lthooks-005.tlg b/base/testfiles-lthooks/lthooks-005.tlg index b9f98b801..6b149a7a2 100644 --- a/base/testfiles-lthooks/lthooks-005.tlg +++ b/base/testfiles-lthooks/lthooks-005.tlg @@ -306,6 +306,6 @@ All initialized (non-empty) hooks: package/acro/after -> \__hook_toplevel package/acro/after \FirstAidNeededT {acro}{sty}{....-..-.. v... typeset acronyms and other abbreviations (CN)} {\UseName {prop_new:c}{l__acro_tmpa_prop}\acsetup {patch/longtable=false}}\__hook_next package/acro/after package/chemformula/before -> \RequirePackage {l3keys2e}\__hook_toplevel package/chemformula/before \__hook_next package/chemformula/before package/chemnum/after -> \__hook_toplevel package/chemnum/after \FirstAidNeededT {chemnum}{sty}{....-..-.. v... a comprehensive approach for the numbering of chemical compounds (CN)} {\UseName {prop_new:c}{l__chemnum_tmpa_prop}}\__hook_next package/chemnum/after - package/cleveref/after -> \__hook_toplevel package/cleveref/after \FirstAidNeededT {cleveref}{sty}{....-..-.. v... Intelligent cross-referencing} {\def \cref@getref ##1##2{\expandafter \let \expandafter ##2\csname r@##1@cref\endcsname \expandafter \expandafter \expandafter \def \expandafter \expandafter \expandafter ##2\expandafter \expandafter \expandafter {\expandafter \@firstoffive ##2}}\def \cpageref@getref ##1##2{\expandafter \let \expandafter ##2\csname r@##1@cref\endcsname \expandafter \expandafter \expandafter \def \expandafter \expandafter \expandafter ##2\expandafter \expandafter \expandafter {\expandafter \@secondoffive ##2}}\AddToHook {begindocument}[cleveref]{\def \label@noarg ##1{\cref@old@label {##1}\@bsphack \edef \@tempa {{page}{\the \c@page }}\setcounter {page}{1}\edef \@tempb {\thepage }\expandafter \setcounter \@tempa \cref@constructprefix {page}{\cref@result }\protected@write \@auxout {}{\string \newlabel {##1@cref}{{\cref@currentlabel }{[\@tempb ][\arabic {page}][\cref@result ]\thepage }{}{}{}}}\@esphack }\def \label@optarg [##1]##2{\cref@old@label {##2}\@bsphack \edef \@tempa {{page}{\the \c@page }}\setcounter {page}{1}\edef \@tempb {\thepage }\expandafter \setcounter \@tempa \cref@constructprefix {page}{\cref@result }\protected@edef \cref@currentlabel {\expandafter \cref@override@label@type \cref@currentlabel \@nil {##1}}\protected@write \@auxout {}{\string \newlabel {##2@cref}{{\cref@currentlabel }{[\@tempb ][\arabic {page}][\cref@result ]\thepage }{}{}{}}}\@esphack }} \newcommand \firstaid@cref@smugglelabel {\let \cref@currentlabel \cref@gcurrentlabel@temp } \newcommand \firstaid@cref@updatelabeldata [1]{\cref@constructprefix {##1}{\cref@result }\@ifundefined {cref@##1@alias}{\def \@tempa {##1}}{\def \@tempa {\csname cref@##1@alias\endcsname }}\protected@xdef \cref@gcurrentlabel@temp {[\@tempa ][\arabic {##1}][\cref@result ]\csname p@##1\endcsname \csname the##1\endcsname }\aftergroup \firstaid@cref@smugglelabel } \AddToHook {label}[firstaid/cleveref] {\ifx \@currentcounter \@empty \else \firstaid@cref@updatelabeldata {\@currentcounter }\fi } }\__hook_next package/cleveref/after + package/cleveref/after -> \__hook_toplevel package/cleveref/after \FirstAidNeededT {cleveref}{sty}{....-..-.. v... Intelligent cross-referencing} {\def \cref@getref ##1##2{\expandafter \let \expandafter ##2\csname r@##1@cref\endcsname \expandafter \expandafter \expandafter \def \expandafter \expandafter \expandafter ##2\expandafter \expandafter \expandafter {\expandafter \@firstoffive ##2}}\def \cpageref@getref ##1##2{\expandafter \let \expandafter ##2\csname r@##1@cref\endcsname \expandafter \expandafter \expandafter \def \expandafter \expandafter \expandafter ##2\expandafter \expandafter \expandafter {\expandafter \@secondoffive ##2}}\AddToHook {begindocument}[cleveref]{\def \label@noarg ##1{\cref@old@label {##1}\@bsphack \edef \@tempa {{page}{\the \c@page }}\setcounter {page}{1}\edef \@tempb {\thepage }\expandafter \setcounter \@tempa \cref@constructprefix {page}{\cref@result }\protected@write \@auxout {}{\string \newlabel {##1@cref}{{\cref@currentlabel }{[\@tempb ][\arabic {page}][\cref@result ]\thepage }{}{}{}}}\@esphack }\def \label@optarg [##1]##2{\cref@old@label {##2}\@bsphack \edef \@tempa {{page}{\the \c@page }}\setcounter {page}{1}\edef \@tempb {\thepage }\expandafter \setcounter \@tempa \cref@constructprefix {page}{\cref@result }\protected@edef \cref@currentlabel {\expandafter \cref@override@label@type \cref@currentlabel \@nil {##1}}\protected@write \@auxout {}{\string \newlabel {##2@cref}{{\cref@currentlabel }{[\@tempb ][\arabic {page}][\cref@result ]\thepage }{}{}{}}}\@esphack }} \newcommand \firstaid@cref@smugglelabel {\let \cref@currentlabel \cref@gcurrentlabel@temp } \newcommand \firstaid@cref@updatelabeldata [1]{\cref@constructprefix {##1}{\cref@result }\@ifundefined {cref@##1@alias}{\def \@tempa {##1}}{\def \@tempa {\csname cref@##1@alias\endcsname }}\protected@xdef \cref@gcurrentlabel@temp {[\@tempa ][\arabic {##1}][\cref@result ]\csname p@##1\expandafter \endcsname \csname the##1\endcsname }\aftergroup \firstaid@cref@smugglelabel } \AddToHook {label}[firstaid/cleveref] {\ifx \@currentcounter \@empty \else \firstaid@cref@updatelabeldata {\@currentcounter }\fi } }\__hook_next package/cleveref/after package/arydshln/after -> \__hook_toplevel package/arydshln/after \FirstAidNeededT {arydshln}{sty}{....-..-.. v... } {\protected \def \adl@@vlineL ##1##2##3##4{\adl@ivline ##4\@nil {##1}{##2}\xdef \adl@colsL {\adl@colsL \@elt {##3}{\number \@tempcnta }{\number \@tempcntb }{\adl@dashcolor }{\adl@gapcolor }}}\protected \def \adl@@vlineR ##1##2##3##4{\adl@ivline ##4\@nil {##1}{##2}\xdef \adl@colsR {\@elt {##3}{\number \@tempcnta }{\number \@tempcntb }{\adl@dashcolor }{\adl@gapcolor }\adl@colsR }}\let \adl@act@@vlineL \adl@@vlineL \let \adl@act@@vlineR \adl@@vlineR }\__hook_next package/arydshln/after xxx -> foo1 foo9 foo3 foo2 foo7 foo4 foo5 foo8 foo6\__hook_toplevel xxx \__hook_next xxx diff --git a/base/testfiles-lthooks/lthooks-006.tlg b/base/testfiles-lthooks/lthooks-006.tlg index ff2011d20..287829878 100644 --- a/base/testfiles-lthooks/lthooks-006.tlg +++ b/base/testfiles-lthooks/lthooks-006.tlg @@ -260,6 +260,6 @@ All initialized (non-empty) hooks: package/acro/after -> \__hook_toplevel package/acro/after \FirstAidNeededT {acro}{sty}{....-..-.. v... typeset acronyms and other abbreviations (CN)} {\UseName {prop_new:c}{l__acro_tmpa_prop}\acsetup {patch/longtable=false}}\__hook_next package/acro/after package/chemformula/before -> \RequirePackage {l3keys2e}\__hook_toplevel package/chemformula/before \__hook_next package/chemformula/before package/chemnum/after -> \__hook_toplevel package/chemnum/after \FirstAidNeededT {chemnum}{sty}{....-..-.. v... a comprehensive approach for the numbering of chemical compounds (CN)} {\UseName {prop_new:c}{l__chemnum_tmpa_prop}}\__hook_next package/chemnum/after - package/cleveref/after -> \__hook_toplevel package/cleveref/after \FirstAidNeededT {cleveref}{sty}{....-..-.. v... Intelligent cross-referencing} {\def \cref@getref ##1##2{\expandafter \let \expandafter ##2\csname r@##1@cref\endcsname \expandafter \expandafter \expandafter \def \expandafter \expandafter \expandafter ##2\expandafter \expandafter \expandafter {\expandafter \@firstoffive ##2}}\def \cpageref@getref ##1##2{\expandafter \let \expandafter ##2\csname r@##1@cref\endcsname \expandafter \expandafter \expandafter \def \expandafter \expandafter \expandafter ##2\expandafter \expandafter \expandafter {\expandafter \@secondoffive ##2}}\AddToHook {begindocument}[cleveref]{\def \label@noarg ##1{\cref@old@label {##1}\@bsphack \edef \@tempa {{page}{\the \c@page }}\setcounter {page}{1}\edef \@tempb {\thepage }\expandafter \setcounter \@tempa \cref@constructprefix {page}{\cref@result }\protected@write \@auxout {}{\string \newlabel {##1@cref}{{\cref@currentlabel }{[\@tempb ][\arabic {page}][\cref@result ]\thepage }{}{}{}}}\@esphack }\def \label@optarg [##1]##2{\cref@old@label {##2}\@bsphack \edef \@tempa {{page}{\the \c@page }}\setcounter {page}{1}\edef \@tempb {\thepage }\expandafter \setcounter \@tempa \cref@constructprefix {page}{\cref@result }\protected@edef \cref@currentlabel {\expandafter \cref@override@label@type \cref@currentlabel \@nil {##1}}\protected@write \@auxout {}{\string \newlabel {##2@cref}{{\cref@currentlabel }{[\@tempb ][\arabic {page}][\cref@result ]\thepage }{}{}{}}}\@esphack }} \newcommand \firstaid@cref@smugglelabel {\let \cref@currentlabel \cref@gcurrentlabel@temp } \newcommand \firstaid@cref@updatelabeldata [1]{\cref@constructprefix {##1}{\cref@result }\@ifundefined {cref@##1@alias}{\def \@tempa {##1}}{\def \@tempa {\csname cref@##1@alias\endcsname }}\protected@xdef \cref@gcurrentlabel@temp {[\@tempa ][\arabic {##1}][\cref@result ]\csname p@##1\endcsname \csname the##1\endcsname }\aftergroup \firstaid@cref@smugglelabel } \AddToHook {label}[firstaid/cleveref] {\ifx \@currentcounter \@empty \else \firstaid@cref@updatelabeldata {\@currentcounter }\fi } }\__hook_next package/cleveref/after + package/cleveref/after -> \__hook_toplevel package/cleveref/after \FirstAidNeededT {cleveref}{sty}{....-..-.. v... Intelligent cross-referencing} {\def \cref@getref ##1##2{\expandafter \let \expandafter ##2\csname r@##1@cref\endcsname \expandafter \expandafter \expandafter \def \expandafter \expandafter \expandafter ##2\expandafter \expandafter \expandafter {\expandafter \@firstoffive ##2}}\def \cpageref@getref ##1##2{\expandafter \let \expandafter ##2\csname r@##1@cref\endcsname \expandafter \expandafter \expandafter \def \expandafter \expandafter \expandafter ##2\expandafter \expandafter \expandafter {\expandafter \@secondoffive ##2}}\AddToHook {begindocument}[cleveref]{\def \label@noarg ##1{\cref@old@label {##1}\@bsphack \edef \@tempa {{page}{\the \c@page }}\setcounter {page}{1}\edef \@tempb {\thepage }\expandafter \setcounter \@tempa \cref@constructprefix {page}{\cref@result }\protected@write \@auxout {}{\string \newlabel {##1@cref}{{\cref@currentlabel }{[\@tempb ][\arabic {page}][\cref@result ]\thepage }{}{}{}}}\@esphack }\def \label@optarg [##1]##2{\cref@old@label {##2}\@bsphack \edef \@tempa {{page}{\the \c@page }}\setcounter {page}{1}\edef \@tempb {\thepage }\expandafter \setcounter \@tempa \cref@constructprefix {page}{\cref@result }\protected@edef \cref@currentlabel {\expandafter \cref@override@label@type \cref@currentlabel \@nil {##1}}\protected@write \@auxout {}{\string \newlabel {##2@cref}{{\cref@currentlabel }{[\@tempb ][\arabic {page}][\cref@result ]\thepage }{}{}{}}}\@esphack }} \newcommand \firstaid@cref@smugglelabel {\let \cref@currentlabel \cref@gcurrentlabel@temp } \newcommand \firstaid@cref@updatelabeldata [1]{\cref@constructprefix {##1}{\cref@result }\@ifundefined {cref@##1@alias}{\def \@tempa {##1}}{\def \@tempa {\csname cref@##1@alias\endcsname }}\protected@xdef \cref@gcurrentlabel@temp {[\@tempa ][\arabic {##1}][\cref@result ]\csname p@##1\expandafter \endcsname \csname the##1\endcsname }\aftergroup \firstaid@cref@smugglelabel } \AddToHook {label}[firstaid/cleveref] {\ifx \@currentcounter \@empty \else \firstaid@cref@updatelabeldata {\@currentcounter }\fi } }\__hook_next package/cleveref/after package/arydshln/after -> \__hook_toplevel package/arydshln/after \FirstAidNeededT {arydshln}{sty}{....-..-.. v... } {\protected \def \adl@@vlineL ##1##2##3##4{\adl@ivline ##4\@nil {##1}{##2}\xdef \adl@colsL {\adl@colsL \@elt {##3}{\number \@tempcnta }{\number \@tempcntb }{\adl@dashcolor }{\adl@gapcolor }}}\protected \def \adl@@vlineR ##1##2##3##4{\adl@ivline ##4\@nil {##1}{##2}\xdef \adl@colsR {\@elt {##3}{\number \@tempcnta }{\number \@tempcntb }{\adl@dashcolor }{\adl@gapcolor }\adl@colsR }}\let \adl@act@@vlineL \adl@@vlineL \let \adl@act@@vlineR \adl@@vlineR }\__hook_next package/arydshln/after xxx -> foo1 foo3 foo2\__hook_toplevel xxx \__hook_next xxx diff --git a/base/testfiles-lthooks/lthooks-007.tlg b/base/testfiles-lthooks/lthooks-007.tlg index cc1281d18..4c5eb68d4 100644 --- a/base/testfiles-lthooks/lthooks-007.tlg +++ b/base/testfiles-lthooks/lthooks-007.tlg @@ -262,7 +262,7 @@ All initialized (non-empty) hooks: package/acro/after -> \__hook_toplevel package/acro/after \FirstAidNeededT {acro}{sty}{....-..-.. v... typeset acronyms and other abbreviations (CN)} {\UseName {prop_new:c}{l__acro_tmpa_prop}\acsetup {patch/longtable=false}}\__hook_next package/acro/after package/chemformula/before -> \RequirePackage {l3keys2e}\__hook_toplevel package/chemformula/before \__hook_next package/chemformula/before package/chemnum/after -> \__hook_toplevel package/chemnum/after \FirstAidNeededT {chemnum}{sty}{....-..-.. v... a comprehensive approach for the numbering of chemical compounds (CN)} {\UseName {prop_new:c}{l__chemnum_tmpa_prop}}\__hook_next package/chemnum/after - package/cleveref/after -> \__hook_toplevel package/cleveref/after \FirstAidNeededT {cleveref}{sty}{....-..-.. v... Intelligent cross-referencing} {\def \cref@getref ##1##2{\expandafter \let \expandafter ##2\csname r@##1@cref\endcsname \expandafter \expandafter \expandafter \def \expandafter \expandafter \expandafter ##2\expandafter \expandafter \expandafter {\expandafter \@firstoffive ##2}}\def \cpageref@getref ##1##2{\expandafter \let \expandafter ##2\csname r@##1@cref\endcsname \expandafter \expandafter \expandafter \def \expandafter \expandafter \expandafter ##2\expandafter \expandafter \expandafter {\expandafter \@secondoffive ##2}}\AddToHook {begindocument}[cleveref]{\def \label@noarg ##1{\cref@old@label {##1}\@bsphack \edef \@tempa {{page}{\the \c@page }}\setcounter {page}{1}\edef \@tempb {\thepage }\expandafter \setcounter \@tempa \cref@constructprefix {page}{\cref@result }\protected@write \@auxout {}{\string \newlabel {##1@cref}{{\cref@currentlabel }{[\@tempb ][\arabic {page}][\cref@result ]\thepage }{}{}{}}}\@esphack }\def \label@optarg [##1]##2{\cref@old@label {##2}\@bsphack \edef \@tempa {{page}{\the \c@page }}\setcounter {page}{1}\edef \@tempb {\thepage }\expandafter \setcounter \@tempa \cref@constructprefix {page}{\cref@result }\protected@edef \cref@currentlabel {\expandafter \cref@override@label@type \cref@currentlabel \@nil {##1}}\protected@write \@auxout {}{\string \newlabel {##2@cref}{{\cref@currentlabel }{[\@tempb ][\arabic {page}][\cref@result ]\thepage }{}{}{}}}\@esphack }} \newcommand \firstaid@cref@smugglelabel {\let \cref@currentlabel \cref@gcurrentlabel@temp } \newcommand \firstaid@cref@updatelabeldata [1]{\cref@constructprefix {##1}{\cref@result }\@ifundefined {cref@##1@alias}{\def \@tempa {##1}}{\def \@tempa {\csname cref@##1@alias\endcsname }}\protected@xdef \cref@gcurrentlabel@temp {[\@tempa ][\arabic {##1}][\cref@result ]\csname p@##1\endcsname \csname the##1\endcsname }\aftergroup \firstaid@cref@smugglelabel } \AddToHook {label}[firstaid/cleveref] {\ifx \@currentcounter \@empty \else \firstaid@cref@updatelabeldata {\@currentcounter }\fi } }\__hook_next package/cleveref/after + package/cleveref/after -> \__hook_toplevel package/cleveref/after \FirstAidNeededT {cleveref}{sty}{....-..-.. v... Intelligent cross-referencing} {\def \cref@getref ##1##2{\expandafter \let \expandafter ##2\csname r@##1@cref\endcsname \expandafter \expandafter \expandafter \def \expandafter \expandafter \expandafter ##2\expandafter \expandafter \expandafter {\expandafter \@firstoffive ##2}}\def \cpageref@getref ##1##2{\expandafter \let \expandafter ##2\csname r@##1@cref\endcsname \expandafter \expandafter \expandafter \def \expandafter \expandafter \expandafter ##2\expandafter \expandafter \expandafter {\expandafter \@secondoffive ##2}}\AddToHook {begindocument}[cleveref]{\def \label@noarg ##1{\cref@old@label {##1}\@bsphack \edef \@tempa {{page}{\the \c@page }}\setcounter {page}{1}\edef \@tempb {\thepage }\expandafter \setcounter \@tempa \cref@constructprefix {page}{\cref@result }\protected@write \@auxout {}{\string \newlabel {##1@cref}{{\cref@currentlabel }{[\@tempb ][\arabic {page}][\cref@result ]\thepage }{}{}{}}}\@esphack }\def \label@optarg [##1]##2{\cref@old@label {##2}\@bsphack \edef \@tempa {{page}{\the \c@page }}\setcounter {page}{1}\edef \@tempb {\thepage }\expandafter \setcounter \@tempa \cref@constructprefix {page}{\cref@result }\protected@edef \cref@currentlabel {\expandafter \cref@override@label@type \cref@currentlabel \@nil {##1}}\protected@write \@auxout {}{\string \newlabel {##2@cref}{{\cref@currentlabel }{[\@tempb ][\arabic {page}][\cref@result ]\thepage }{}{}{}}}\@esphack }} \newcommand \firstaid@cref@smugglelabel {\let \cref@currentlabel \cref@gcurrentlabel@temp } \newcommand \firstaid@cref@updatelabeldata [1]{\cref@constructprefix {##1}{\cref@result }\@ifundefined {cref@##1@alias}{\def \@tempa {##1}}{\def \@tempa {\csname cref@##1@alias\endcsname }}\protected@xdef \cref@gcurrentlabel@temp {[\@tempa ][\arabic {##1}][\cref@result ]\csname p@##1\expandafter \endcsname \csname the##1\endcsname }\aftergroup \firstaid@cref@smugglelabel } \AddToHook {label}[firstaid/cleveref] {\ifx \@currentcounter \@empty \else \firstaid@cref@updatelabeldata {\@currentcounter }\fi } }\__hook_next package/cleveref/after package/arydshln/after -> \__hook_toplevel package/arydshln/after \FirstAidNeededT {arydshln}{sty}{....-..-.. v... } {\protected \def \adl@@vlineL ##1##2##3##4{\adl@ivline ##4\@nil {##1}{##2}\xdef \adl@colsL {\adl@colsL \@elt {##3}{\number \@tempcnta }{\number \@tempcntb }{\adl@dashcolor }{\adl@gapcolor }}}\protected \def \adl@@vlineR ##1##2##3##4{\adl@ivline ##4\@nil {##1}{##2}\xdef \adl@colsR {\@elt {##3}{\number \@tempcnta }{\number \@tempcntb }{\adl@dashcolor }{\adl@gapcolor }\adl@colsR }}\let \adl@act@@vlineL \adl@@vlineL \let \adl@act@@vlineR \adl@@vlineR }\__hook_next package/arydshln/after xxx -> foo1 foo3\__hook_toplevel xxx \__hook_next xxx Update code for hook 'para/before' on input line ...: @@ -453,6 +453,6 @@ All initialized (non-empty) hooks: package/acro/after -> \__hook_toplevel package/acro/after \FirstAidNeededT {acro}{sty}{....-..-.. v... typeset acronyms and other abbreviations (CN)} {\UseName {prop_new:c}{l__acro_tmpa_prop}\acsetup {patch/longtable=false}}\__hook_next package/acro/after package/chemformula/before -> \RequirePackage {l3keys2e}\__hook_toplevel package/chemformula/before \__hook_next package/chemformula/before package/chemnum/after -> \__hook_toplevel package/chemnum/after \FirstAidNeededT {chemnum}{sty}{....-..-.. v... a comprehensive approach for the numbering of chemical compounds (CN)} {\UseName {prop_new:c}{l__chemnum_tmpa_prop}}\__hook_next package/chemnum/after - package/cleveref/after -> \__hook_toplevel package/cleveref/after \FirstAidNeededT {cleveref}{sty}{....-..-.. v... Intelligent cross-referencing} {\def \cref@getref ##1##2{\expandafter \let \expandafter ##2\csname r@##1@cref\endcsname \expandafter \expandafter \expandafter \def \expandafter \expandafter \expandafter ##2\expandafter \expandafter \expandafter {\expandafter \@firstoffive ##2}}\def \cpageref@getref ##1##2{\expandafter \let \expandafter ##2\csname r@##1@cref\endcsname \expandafter \expandafter \expandafter \def \expandafter \expandafter \expandafter ##2\expandafter \expandafter \expandafter {\expandafter \@secondoffive ##2}}\AddToHook {begindocument}[cleveref]{\def \label@noarg ##1{\cref@old@label {##1}\@bsphack \edef \@tempa {{page}{\the \c@page }}\setcounter {page}{1}\edef \@tempb {\thepage }\expandafter \setcounter \@tempa \cref@constructprefix {page}{\cref@result }\protected@write \@auxout {}{\string \newlabel {##1@cref}{{\cref@currentlabel }{[\@tempb ][\arabic {page}][\cref@result ]\thepage }{}{}{}}}\@esphack }\def \label@optarg [##1]##2{\cref@old@label {##2}\@bsphack \edef \@tempa {{page}{\the \c@page }}\setcounter {page}{1}\edef \@tempb {\thepage }\expandafter \setcounter \@tempa \cref@constructprefix {page}{\cref@result }\protected@edef \cref@currentlabel {\expandafter \cref@override@label@type \cref@currentlabel \@nil {##1}}\protected@write \@auxout {}{\string \newlabel {##2@cref}{{\cref@currentlabel }{[\@tempb ][\arabic {page}][\cref@result ]\thepage }{}{}{}}}\@esphack }} \newcommand \firstaid@cref@smugglelabel {\let \cref@currentlabel \cref@gcurrentlabel@temp } \newcommand \firstaid@cref@updatelabeldata [1]{\cref@constructprefix {##1}{\cref@result }\@ifundefined {cref@##1@alias}{\def \@tempa {##1}}{\def \@tempa {\csname cref@##1@alias\endcsname }}\protected@xdef \cref@gcurrentlabel@temp {[\@tempa ][\arabic {##1}][\cref@result ]\csname p@##1\endcsname \csname the##1\endcsname }\aftergroup \firstaid@cref@smugglelabel } \AddToHook {label}[firstaid/cleveref] {\ifx \@currentcounter \@empty \else \firstaid@cref@updatelabeldata {\@currentcounter }\fi } }\__hook_next package/cleveref/after + package/cleveref/after -> \__hook_toplevel package/cleveref/after \FirstAidNeededT {cleveref}{sty}{....-..-.. v... Intelligent cross-referencing} {\def \cref@getref ##1##2{\expandafter \let \expandafter ##2\csname r@##1@cref\endcsname \expandafter \expandafter \expandafter \def \expandafter \expandafter \expandafter ##2\expandafter \expandafter \expandafter {\expandafter \@firstoffive ##2}}\def \cpageref@getref ##1##2{\expandafter \let \expandafter ##2\csname r@##1@cref\endcsname \expandafter \expandafter \expandafter \def \expandafter \expandafter \expandafter ##2\expandafter \expandafter \expandafter {\expandafter \@secondoffive ##2}}\AddToHook {begindocument}[cleveref]{\def \label@noarg ##1{\cref@old@label {##1}\@bsphack \edef \@tempa {{page}{\the \c@page }}\setcounter {page}{1}\edef \@tempb {\thepage }\expandafter \setcounter \@tempa \cref@constructprefix {page}{\cref@result }\protected@write \@auxout {}{\string \newlabel {##1@cref}{{\cref@currentlabel }{[\@tempb ][\arabic {page}][\cref@result ]\thepage }{}{}{}}}\@esphack }\def \label@optarg [##1]##2{\cref@old@label {##2}\@bsphack \edef \@tempa {{page}{\the \c@page }}\setcounter {page}{1}\edef \@tempb {\thepage }\expandafter \setcounter \@tempa \cref@constructprefix {page}{\cref@result }\protected@edef \cref@currentlabel {\expandafter \cref@override@label@type \cref@currentlabel \@nil {##1}}\protected@write \@auxout {}{\string \newlabel {##2@cref}{{\cref@currentlabel }{[\@tempb ][\arabic {page}][\cref@result ]\thepage }{}{}{}}}\@esphack }} \newcommand \firstaid@cref@smugglelabel {\let \cref@currentlabel \cref@gcurrentlabel@temp } \newcommand \firstaid@cref@updatelabeldata [1]{\cref@constructprefix {##1}{\cref@result }\@ifundefined {cref@##1@alias}{\def \@tempa {##1}}{\def \@tempa {\csname cref@##1@alias\endcsname }}\protected@xdef \cref@gcurrentlabel@temp {[\@tempa ][\arabic {##1}][\cref@result ]\csname p@##1\expandafter \endcsname \csname the##1\endcsname }\aftergroup \firstaid@cref@smugglelabel } \AddToHook {label}[firstaid/cleveref] {\ifx \@currentcounter \@empty \else \firstaid@cref@updatelabeldata {\@currentcounter }\fi } }\__hook_next package/cleveref/after package/arydshln/after -> \__hook_toplevel package/arydshln/after \FirstAidNeededT {arydshln}{sty}{....-..-.. v... } {\protected \def \adl@@vlineL ##1##2##3##4{\adl@ivline ##4\@nil {##1}{##2}\xdef \adl@colsL {\adl@colsL \@elt {##3}{\number \@tempcnta }{\number \@tempcntb }{\adl@dashcolor }{\adl@gapcolor }}}\protected \def \adl@@vlineR ##1##2##3##4{\adl@ivline ##4\@nil {##1}{##2}\xdef \adl@colsR {\@elt {##3}{\number \@tempcnta }{\number \@tempcntb }{\adl@dashcolor }{\adl@gapcolor }\adl@colsR }}\let \adl@act@@vlineL \adl@@vlineL \let \adl@act@@vlineR \adl@@vlineR }\__hook_next package/arydshln/after xxx -> foo1 foo3\__hook_toplevel xxx \__hook_next xxx diff --git a/base/testfiles-lthooks/lthooks-008.tlg b/base/testfiles-lthooks/lthooks-008.tlg index dd09a291a..dd429b63b 100644 --- a/base/testfiles-lthooks/lthooks-008.tlg +++ b/base/testfiles-lthooks/lthooks-008.tlg @@ -263,7 +263,7 @@ All initialized (non-empty) hooks: package/acro/after -> \__hook_toplevel package/acro/after \FirstAidNeededT {acro}{sty}{....-..-.. v... typeset acronyms and other abbreviations (CN)} {\UseName {prop_new:c}{l__acro_tmpa_prop}\acsetup {patch/longtable=false}}\__hook_next package/acro/after package/chemformula/before -> \RequirePackage {l3keys2e}\__hook_toplevel package/chemformula/before \__hook_next package/chemformula/before package/chemnum/after -> \__hook_toplevel package/chemnum/after \FirstAidNeededT {chemnum}{sty}{....-..-.. v... a comprehensive approach for the numbering of chemical compounds (CN)} {\UseName {prop_new:c}{l__chemnum_tmpa_prop}}\__hook_next package/chemnum/after - package/cleveref/after -> \__hook_toplevel package/cleveref/after \FirstAidNeededT {cleveref}{sty}{....-..-.. v... Intelligent cross-referencing} {\def \cref@getref ##1##2{\expandafter \let \expandafter ##2\csname r@##1@cref\endcsname \expandafter \expandafter \expandafter \def \expandafter \expandafter \expandafter ##2\expandafter \expandafter \expandafter {\expandafter \@firstoffive ##2}}\def \cpageref@getref ##1##2{\expandafter \let \expandafter ##2\csname r@##1@cref\endcsname \expandafter \expandafter \expandafter \def \expandafter \expandafter \expandafter ##2\expandafter \expandafter \expandafter {\expandafter \@secondoffive ##2}}\AddToHook {begindocument}[cleveref]{\def \label@noarg ##1{\cref@old@label {##1}\@bsphack \edef \@tempa {{page}{\the \c@page }}\setcounter {page}{1}\edef \@tempb {\thepage }\expandafter \setcounter \@tempa \cref@constructprefix {page}{\cref@result }\protected@write \@auxout {}{\string \newlabel {##1@cref}{{\cref@currentlabel }{[\@tempb ][\arabic {page}][\cref@result ]\thepage }{}{}{}}}\@esphack }\def \label@optarg [##1]##2{\cref@old@label {##2}\@bsphack \edef \@tempa {{page}{\the \c@page }}\setcounter {page}{1}\edef \@tempb {\thepage }\expandafter \setcounter \@tempa \cref@constructprefix {page}{\cref@result }\protected@edef \cref@currentlabel {\expandafter \cref@override@label@type \cref@currentlabel \@nil {##1}}\protected@write \@auxout {}{\string \newlabel {##2@cref}{{\cref@currentlabel }{[\@tempb ][\arabic {page}][\cref@result ]\thepage }{}{}{}}}\@esphack }} \newcommand \firstaid@cref@smugglelabel {\let \cref@currentlabel \cref@gcurrentlabel@temp } \newcommand \firstaid@cref@updatelabeldata [1]{\cref@constructprefix {##1}{\cref@result }\@ifundefined {cref@##1@alias}{\def \@tempa {##1}}{\def \@tempa {\csname cref@##1@alias\endcsname }}\protected@xdef \cref@gcurrentlabel@temp {[\@tempa ][\arabic {##1}][\cref@result ]\csname p@##1\endcsname \csname the##1\endcsname }\aftergroup \firstaid@cref@smugglelabel } \AddToHook {label}[firstaid/cleveref] {\ifx \@currentcounter \@empty \else \firstaid@cref@updatelabeldata {\@currentcounter }\fi } }\__hook_next package/cleveref/after + package/cleveref/after -> \__hook_toplevel package/cleveref/after \FirstAidNeededT {cleveref}{sty}{....-..-.. v... Intelligent cross-referencing} {\def \cref@getref ##1##2{\expandafter \let \expandafter ##2\csname r@##1@cref\endcsname \expandafter \expandafter \expandafter \def \expandafter \expandafter \expandafter ##2\expandafter \expandafter \expandafter {\expandafter \@firstoffive ##2}}\def \cpageref@getref ##1##2{\expandafter \let \expandafter ##2\csname r@##1@cref\endcsname \expandafter \expandafter \expandafter \def \expandafter \expandafter \expandafter ##2\expandafter \expandafter \expandafter {\expandafter \@secondoffive ##2}}\AddToHook {begindocument}[cleveref]{\def \label@noarg ##1{\cref@old@label {##1}\@bsphack \edef \@tempa {{page}{\the \c@page }}\setcounter {page}{1}\edef \@tempb {\thepage }\expandafter \setcounter \@tempa \cref@constructprefix {page}{\cref@result }\protected@write \@auxout {}{\string \newlabel {##1@cref}{{\cref@currentlabel }{[\@tempb ][\arabic {page}][\cref@result ]\thepage }{}{}{}}}\@esphack }\def \label@optarg [##1]##2{\cref@old@label {##2}\@bsphack \edef \@tempa {{page}{\the \c@page }}\setcounter {page}{1}\edef \@tempb {\thepage }\expandafter \setcounter \@tempa \cref@constructprefix {page}{\cref@result }\protected@edef \cref@currentlabel {\expandafter \cref@override@label@type \cref@currentlabel \@nil {##1}}\protected@write \@auxout {}{\string \newlabel {##2@cref}{{\cref@currentlabel }{[\@tempb ][\arabic {page}][\cref@result ]\thepage }{}{}{}}}\@esphack }} \newcommand \firstaid@cref@smugglelabel {\let \cref@currentlabel \cref@gcurrentlabel@temp } \newcommand \firstaid@cref@updatelabeldata [1]{\cref@constructprefix {##1}{\cref@result }\@ifundefined {cref@##1@alias}{\def \@tempa {##1}}{\def \@tempa {\csname cref@##1@alias\endcsname }}\protected@xdef \cref@gcurrentlabel@temp {[\@tempa ][\arabic {##1}][\cref@result ]\csname p@##1\expandafter \endcsname \csname the##1\endcsname }\aftergroup \firstaid@cref@smugglelabel } \AddToHook {label}[firstaid/cleveref] {\ifx \@currentcounter \@empty \else \firstaid@cref@updatelabeldata {\@currentcounter }\fi } }\__hook_next package/cleveref/after package/arydshln/after -> \__hook_toplevel package/arydshln/after \FirstAidNeededT {arydshln}{sty}{....-..-.. v... } {\protected \def \adl@@vlineL ##1##2##3##4{\adl@ivline ##4\@nil {##1}{##2}\xdef \adl@colsL {\adl@colsL \@elt {##3}{\number \@tempcnta }{\number \@tempcntb }{\adl@dashcolor }{\adl@gapcolor }}}\protected \def \adl@@vlineR ##1##2##3##4{\adl@ivline ##4\@nil {##1}{##2}\xdef \adl@colsR {\@elt {##3}{\number \@tempcnta }{\number \@tempcntb }{\adl@dashcolor }{\adl@gapcolor }\adl@colsR }}\let \adl@act@@vlineL \adl@@vlineL \let \adl@act@@vlineR \adl@@vlineR }\__hook_next package/arydshln/after package/l3graphics/after -> \__hook_toplevel package/l3graphics/after \seq_set_from_clist:Nn \l_graphics_search_ext_seq {.pdf,.eps,.ps,.png,.jpg,.jpeg}\__hook_next package/l3graphics/after No file lthooks-008.aux. diff --git a/base/testfiles-lthooks/lthooks-009.tlg b/base/testfiles-lthooks/lthooks-009.tlg index 9e6ac770a..87eeec729 100644 --- a/base/testfiles-lthooks/lthooks-009.tlg +++ b/base/testfiles-lthooks/lthooks-009.tlg @@ -189,7 +189,7 @@ All initialized (non-empty) hooks: package/acro/after -> \__hook_toplevel package/acro/after \FirstAidNeededT {acro}{sty}{....-..-.. v... typeset acronyms and other abbreviations (CN)} {\UseName {prop_new:c}{l__acro_tmpa_prop}\acsetup {patch/longtable=false}}\__hook_next package/acro/after package/chemformula/before -> \RequirePackage {l3keys2e}\__hook_toplevel package/chemformula/before \__hook_next package/chemformula/before package/chemnum/after -> \__hook_toplevel package/chemnum/after \FirstAidNeededT {chemnum}{sty}{....-..-.. v... a comprehensive approach for the numbering of chemical compounds (CN)} {\UseName {prop_new:c}{l__chemnum_tmpa_prop}}\__hook_next package/chemnum/after - package/cleveref/after -> \__hook_toplevel package/cleveref/after \FirstAidNeededT {cleveref}{sty}{....-..-.. v... Intelligent cross-referencing} {\def \cref@getref ##1##2{\expandafter \let \expandafter ##2\csname r@##1@cref\endcsname \expandafter \expandafter \expandafter \def \expandafter \expandafter \expandafter ##2\expandafter \expandafter \expandafter {\expandafter \@firstoffive ##2}}\def \cpageref@getref ##1##2{\expandafter \let \expandafter ##2\csname r@##1@cref\endcsname \expandafter \expandafter \expandafter \def \expandafter \expandafter \expandafter ##2\expandafter \expandafter \expandafter {\expandafter \@secondoffive ##2}}\AddToHook {begindocument}[cleveref]{\def \label@noarg ##1{\cref@old@label {##1}\@bsphack \edef \@tempa {{page}{\the \c@page }}\setcounter {page}{1}\edef \@tempb {\thepage }\expandafter \setcounter \@tempa \cref@constructprefix {page}{\cref@result }\protected@write \@auxout {}{\string \newlabel {##1@cref}{{\cref@currentlabel }{[\@tempb ][\arabic {page}][\cref@result ]\thepage }{}{}{}}}\@esphack }\def \label@optarg [##1]##2{\cref@old@label {##2}\@bsphack \edef \@tempa {{page}{\the \c@page }}\setcounter {page}{1}\edef \@tempb {\thepage }\expandafter \setcounter \@tempa \cref@constructprefix {page}{\cref@result }\protected@edef \cref@currentlabel {\expandafter \cref@override@label@type \cref@currentlabel \@nil {##1}}\protected@write \@auxout {}{\string \newlabel {##2@cref}{{\cref@currentlabel }{[\@tempb ][\arabic {page}][\cref@result ]\thepage }{}{}{}}}\@esphack }} \newcommand \firstaid@cref@smugglelabel {\let \cref@currentlabel \cref@gcurrentlabel@temp } \newcommand \firstaid@cref@updatelabeldata [1]{\cref@constructprefix {##1}{\cref@result }\@ifundefined {cref@##1@alias}{\def \@tempa {##1}}{\def \@tempa {\csname cref@##1@alias\endcsname }}\protected@xdef \cref@gcurrentlabel@temp {[\@tempa ][\arabic {##1}][\cref@result ]\csname p@##1\endcsname \csname the##1\endcsname }\aftergroup \firstaid@cref@smugglelabel } \AddToHook {label}[firstaid/cleveref] {\ifx \@currentcounter \@empty \else \firstaid@cref@updatelabeldata {\@currentcounter }\fi } }\__hook_next package/cleveref/after + package/cleveref/after -> \__hook_toplevel package/cleveref/after \FirstAidNeededT {cleveref}{sty}{....-..-.. v... Intelligent cross-referencing} {\def \cref@getref ##1##2{\expandafter \let \expandafter ##2\csname r@##1@cref\endcsname \expandafter \expandafter \expandafter \def \expandafter \expandafter \expandafter ##2\expandafter \expandafter \expandafter {\expandafter \@firstoffive ##2}}\def \cpageref@getref ##1##2{\expandafter \let \expandafter ##2\csname r@##1@cref\endcsname \expandafter \expandafter \expandafter \def \expandafter \expandafter \expandafter ##2\expandafter \expandafter \expandafter {\expandafter \@secondoffive ##2}}\AddToHook {begindocument}[cleveref]{\def \label@noarg ##1{\cref@old@label {##1}\@bsphack \edef \@tempa {{page}{\the \c@page }}\setcounter {page}{1}\edef \@tempb {\thepage }\expandafter \setcounter \@tempa \cref@constructprefix {page}{\cref@result }\protected@write \@auxout {}{\string \newlabel {##1@cref}{{\cref@currentlabel }{[\@tempb ][\arabic {page}][\cref@result ]\thepage }{}{}{}}}\@esphack }\def \label@optarg [##1]##2{\cref@old@label {##2}\@bsphack \edef \@tempa {{page}{\the \c@page }}\setcounter {page}{1}\edef \@tempb {\thepage }\expandafter \setcounter \@tempa \cref@constructprefix {page}{\cref@result }\protected@edef \cref@currentlabel {\expandafter \cref@override@label@type \cref@currentlabel \@nil {##1}}\protected@write \@auxout {}{\string \newlabel {##2@cref}{{\cref@currentlabel }{[\@tempb ][\arabic {page}][\cref@result ]\thepage }{}{}{}}}\@esphack }} \newcommand \firstaid@cref@smugglelabel {\let \cref@currentlabel \cref@gcurrentlabel@temp } \newcommand \firstaid@cref@updatelabeldata [1]{\cref@constructprefix {##1}{\cref@result }\@ifundefined {cref@##1@alias}{\def \@tempa {##1}}{\def \@tempa {\csname cref@##1@alias\endcsname }}\protected@xdef \cref@gcurrentlabel@temp {[\@tempa ][\arabic {##1}][\cref@result ]\csname p@##1\expandafter \endcsname \csname the##1\endcsname }\aftergroup \firstaid@cref@smugglelabel } \AddToHook {label}[firstaid/cleveref] {\ifx \@currentcounter \@empty \else \firstaid@cref@updatelabeldata {\@currentcounter }\fi } }\__hook_next package/cleveref/after package/arydshln/after -> \__hook_toplevel package/arydshln/after \FirstAidNeededT {arydshln}{sty}{....-..-.. v... } {\protected \def \adl@@vlineL ##1##2##3##4{\adl@ivline ##4\@nil {##1}{##2}\xdef \adl@colsL {\adl@colsL \@elt {##3}{\number \@tempcnta }{\number \@tempcntb }{\adl@dashcolor }{\adl@gapcolor }}}\protected \def \adl@@vlineR ##1##2##3##4{\adl@ivline ##4\@nil {##1}{##2}\xdef \adl@colsR {\@elt {##3}{\number \@tempcnta }{\number \@tempcntb }{\adl@dashcolor }{\adl@gapcolor }\adl@colsR }}\let \adl@act@@vlineL \adl@@vlineL \let \adl@act@@vlineR \adl@@vlineR }\__hook_next package/arydshln/after package/l3graphics/after -> \__hook_toplevel package/l3graphics/after \seq_set_from_clist:Nn \l_graphics_search_ext_seq {.pdf,.eps,.ps,.png,.jpg,.jpeg}\__hook_next package/l3graphics/after No file lthooks-009.aux. diff --git a/base/testfiles-lthooks/lthooks-011.tlg b/base/testfiles-lthooks/lthooks-011.tlg index 509771428..10d4290fd 100644 --- a/base/testfiles-lthooks/lthooks-011.tlg +++ b/base/testfiles-lthooks/lthooks-011.tlg @@ -188,7 +188,7 @@ All initialized (non-empty) hooks: package/acro/after -> \__hook_toplevel package/acro/after \FirstAidNeededT {acro}{sty}{....-..-.. v... typeset acronyms and other abbreviations (CN)} {\UseName {prop_new:c}{l__acro_tmpa_prop}\acsetup {patch/longtable=false}}\__hook_next package/acro/after package/chemformula/before -> \RequirePackage {l3keys2e}\__hook_toplevel package/chemformula/before \__hook_next package/chemformula/before package/chemnum/after -> \__hook_toplevel package/chemnum/after \FirstAidNeededT {chemnum}{sty}{....-..-.. v... a comprehensive approach for the numbering of chemical compounds (CN)} {\UseName {prop_new:c}{l__chemnum_tmpa_prop}}\__hook_next package/chemnum/after - package/cleveref/after -> \__hook_toplevel package/cleveref/after \FirstAidNeededT {cleveref}{sty}{....-..-.. v... Intelligent cross-referencing} {\def \cref@getref ##1##2{\expandafter \let \expandafter ##2\csname r@##1@cref\endcsname \expandafter \expandafter \expandafter \def \expandafter \expandafter \expandafter ##2\expandafter \expandafter \expandafter {\expandafter \@firstoffive ##2}}\def \cpageref@getref ##1##2{\expandafter \let \expandafter ##2\csname r@##1@cref\endcsname \expandafter \expandafter \expandafter \def \expandafter \expandafter \expandafter ##2\expandafter \expandafter \expandafter {\expandafter \@secondoffive ##2}}\AddToHook {begindocument}[cleveref]{\def \label@noarg ##1{\cref@old@label {##1}\@bsphack \edef \@tempa {{page}{\the \c@page }}\setcounter {page}{1}\edef \@tempb {\thepage }\expandafter \setcounter \@tempa \cref@constructprefix {page}{\cref@result }\protected@write \@auxout {}{\string \newlabel {##1@cref}{{\cref@currentlabel }{[\@tempb ][\arabic {page}][\cref@result ]\thepage }{}{}{}}}\@esphack }\def \label@optarg [##1]##2{\cref@old@label {##2}\@bsphack \edef \@tempa {{page}{\the \c@page }}\setcounter {page}{1}\edef \@tempb {\thepage }\expandafter \setcounter \@tempa \cref@constructprefix {page}{\cref@result }\protected@edef \cref@currentlabel {\expandafter \cref@override@label@type \cref@currentlabel \@nil {##1}}\protected@write \@auxout {}{\string \newlabel {##2@cref}{{\cref@currentlabel }{[\@tempb ][\arabic {page}][\cref@result ]\thepage }{}{}{}}}\@esphack }} \newcommand \firstaid@cref@smugglelabel {\let \cref@currentlabel \cref@gcurrentlabel@temp } \newcommand \firstaid@cref@updatelabeldata [1]{\cref@constructprefix {##1}{\cref@result }\@ifundefined {cref@##1@alias}{\def \@tempa {##1}}{\def \@tempa {\csname cref@##1@alias\endcsname }}\protected@xdef \cref@gcurrentlabel@temp {[\@tempa ][\arabic {##1}][\cref@result ]\csname p@##1\endcsname \csname the##1\endcsname }\aftergroup \firstaid@cref@smugglelabel } \AddToHook {label}[firstaid/cleveref] {\ifx \@currentcounter \@empty \else \firstaid@cref@updatelabeldata {\@currentcounter }\fi } }\__hook_next package/cleveref/after + package/cleveref/after -> \__hook_toplevel package/cleveref/after \FirstAidNeededT {cleveref}{sty}{....-..-.. v... Intelligent cross-referencing} {\def \cref@getref ##1##2{\expandafter \let \expandafter ##2\csname r@##1@cref\endcsname \expandafter \expandafter \expandafter \def \expandafter \expandafter \expandafter ##2\expandafter \expandafter \expandafter {\expandafter \@firstoffive ##2}}\def \cpageref@getref ##1##2{\expandafter \let \expandafter ##2\csname r@##1@cref\endcsname \expandafter \expandafter \expandafter \def \expandafter \expandafter \expandafter ##2\expandafter \expandafter \expandafter {\expandafter \@secondoffive ##2}}\AddToHook {begindocument}[cleveref]{\def \label@noarg ##1{\cref@old@label {##1}\@bsphack \edef \@tempa {{page}{\the \c@page }}\setcounter {page}{1}\edef \@tempb {\thepage }\expandafter \setcounter \@tempa \cref@constructprefix {page}{\cref@result }\protected@write \@auxout {}{\string \newlabel {##1@cref}{{\cref@currentlabel }{[\@tempb ][\arabic {page}][\cref@result ]\thepage }{}{}{}}}\@esphack }\def \label@optarg [##1]##2{\cref@old@label {##2}\@bsphack \edef \@tempa {{page}{\the \c@page }}\setcounter {page}{1}\edef \@tempb {\thepage }\expandafter \setcounter \@tempa \cref@constructprefix {page}{\cref@result }\protected@edef \cref@currentlabel {\expandafter \cref@override@label@type \cref@currentlabel \@nil {##1}}\protected@write \@auxout {}{\string \newlabel {##2@cref}{{\cref@currentlabel }{[\@tempb ][\arabic {page}][\cref@result ]\thepage }{}{}{}}}\@esphack }} \newcommand \firstaid@cref@smugglelabel {\let \cref@currentlabel \cref@gcurrentlabel@temp } \newcommand \firstaid@cref@updatelabeldata [1]{\cref@constructprefix {##1}{\cref@result }\@ifundefined {cref@##1@alias}{\def \@tempa {##1}}{\def \@tempa {\csname cref@##1@alias\endcsname }}\protected@xdef \cref@gcurrentlabel@temp {[\@tempa ][\arabic {##1}][\cref@result ]\csname p@##1\expandafter \endcsname \csname the##1\endcsname }\aftergroup \firstaid@cref@smugglelabel } \AddToHook {label}[firstaid/cleveref] {\ifx \@currentcounter \@empty \else \firstaid@cref@updatelabeldata {\@currentcounter }\fi } }\__hook_next package/cleveref/after package/arydshln/after -> \__hook_toplevel package/arydshln/after \FirstAidNeededT {arydshln}{sty}{....-..-.. v... } {\protected \def \adl@@vlineL ##1##2##3##4{\adl@ivline ##4\@nil {##1}{##2}\xdef \adl@colsL {\adl@colsL \@elt {##3}{\number \@tempcnta }{\number \@tempcntb }{\adl@dashcolor }{\adl@gapcolor }}}\protected \def \adl@@vlineR ##1##2##3##4{\adl@ivline ##4\@nil {##1}{##2}\xdef \adl@colsR {\@elt {##3}{\number \@tempcnta }{\number \@tempcntb }{\adl@dashcolor }{\adl@gapcolor }\adl@colsR }}\let \adl@act@@vlineL \adl@@vlineL \let \adl@act@@vlineR \adl@@vlineR }\__hook_next package/arydshln/after xxx -> foo\__hook_toplevel xxx \__hook_next xxx **** Add to hook xxx (rear) on input line ... <- bar @@ -381,7 +381,7 @@ All initialized (non-empty) hooks: package/acro/after -> \__hook_toplevel package/acro/after \FirstAidNeededT {acro}{sty}{....-..-.. v... typeset acronyms and other abbreviations (CN)} {\UseName {prop_new:c}{l__acro_tmpa_prop}\acsetup {patch/longtable=false}}\__hook_next package/acro/after package/chemformula/before -> \RequirePackage {l3keys2e}\__hook_toplevel package/chemformula/before \__hook_next package/chemformula/before package/chemnum/after -> \__hook_toplevel package/chemnum/after \FirstAidNeededT {chemnum}{sty}{....-..-.. v... a comprehensive approach for the numbering of chemical compounds (CN)} {\UseName {prop_new:c}{l__chemnum_tmpa_prop}}\__hook_next package/chemnum/after - package/cleveref/after -> \__hook_toplevel package/cleveref/after \FirstAidNeededT {cleveref}{sty}{....-..-.. v... Intelligent cross-referencing} {\def \cref@getref ##1##2{\expandafter \let \expandafter ##2\csname r@##1@cref\endcsname \expandafter \expandafter \expandafter \def \expandafter \expandafter \expandafter ##2\expandafter \expandafter \expandafter {\expandafter \@firstoffive ##2}}\def \cpageref@getref ##1##2{\expandafter \let \expandafter ##2\csname r@##1@cref\endcsname \expandafter \expandafter \expandafter \def \expandafter \expandafter \expandafter ##2\expandafter \expandafter \expandafter {\expandafter \@secondoffive ##2}}\AddToHook {begindocument}[cleveref]{\def \label@noarg ##1{\cref@old@label {##1}\@bsphack \edef \@tempa {{page}{\the \c@page }}\setcounter {page}{1}\edef \@tempb {\thepage }\expandafter \setcounter \@tempa \cref@constructprefix {page}{\cref@result }\protected@write \@auxout {}{\string \newlabel {##1@cref}{{\cref@currentlabel }{[\@tempb ][\arabic {page}][\cref@result ]\thepage }{}{}{}}}\@esphack }\def \label@optarg [##1]##2{\cref@old@label {##2}\@bsphack \edef \@tempa {{page}{\the \c@page }}\setcounter {page}{1}\edef \@tempb {\thepage }\expandafter \setcounter \@tempa \cref@constructprefix {page}{\cref@result }\protected@edef \cref@currentlabel {\expandafter \cref@override@label@type \cref@currentlabel \@nil {##1}}\protected@write \@auxout {}{\string \newlabel {##2@cref}{{\cref@currentlabel }{[\@tempb ][\arabic {page}][\cref@result ]\thepage }{}{}{}}}\@esphack }} \newcommand \firstaid@cref@smugglelabel {\let \cref@currentlabel \cref@gcurrentlabel@temp } \newcommand \firstaid@cref@updatelabeldata [1]{\cref@constructprefix {##1}{\cref@result }\@ifundefined {cref@##1@alias}{\def \@tempa {##1}}{\def \@tempa {\csname cref@##1@alias\endcsname }}\protected@xdef \cref@gcurrentlabel@temp {[\@tempa ][\arabic {##1}][\cref@result ]\csname p@##1\endcsname \csname the##1\endcsname }\aftergroup \firstaid@cref@smugglelabel } \AddToHook {label}[firstaid/cleveref] {\ifx \@currentcounter \@empty \else \firstaid@cref@updatelabeldata {\@currentcounter }\fi } }\__hook_next package/cleveref/after + package/cleveref/after -> \__hook_toplevel package/cleveref/after \FirstAidNeededT {cleveref}{sty}{....-..-.. v... Intelligent cross-referencing} {\def \cref@getref ##1##2{\expandafter \let \expandafter ##2\csname r@##1@cref\endcsname \expandafter \expandafter \expandafter \def \expandafter \expandafter \expandafter ##2\expandafter \expandafter \expandafter {\expandafter \@firstoffive ##2}}\def \cpageref@getref ##1##2{\expandafter \let \expandafter ##2\csname r@##1@cref\endcsname \expandafter \expandafter \expandafter \def \expandafter \expandafter \expandafter ##2\expandafter \expandafter \expandafter {\expandafter \@secondoffive ##2}}\AddToHook {begindocument}[cleveref]{\def \label@noarg ##1{\cref@old@label {##1}\@bsphack \edef \@tempa {{page}{\the \c@page }}\setcounter {page}{1}\edef \@tempb {\thepage }\expandafter \setcounter \@tempa \cref@constructprefix {page}{\cref@result }\protected@write \@auxout {}{\string \newlabel {##1@cref}{{\cref@currentlabel }{[\@tempb ][\arabic {page}][\cref@result ]\thepage }{}{}{}}}\@esphack }\def \label@optarg [##1]##2{\cref@old@label {##2}\@bsphack \edef \@tempa {{page}{\the \c@page }}\setcounter {page}{1}\edef \@tempb {\thepage }\expandafter \setcounter \@tempa \cref@constructprefix {page}{\cref@result }\protected@edef \cref@currentlabel {\expandafter \cref@override@label@type \cref@currentlabel \@nil {##1}}\protected@write \@auxout {}{\string \newlabel {##2@cref}{{\cref@currentlabel }{[\@tempb ][\arabic {page}][\cref@result ]\thepage }{}{}{}}}\@esphack }} \newcommand \firstaid@cref@smugglelabel {\let \cref@currentlabel \cref@gcurrentlabel@temp } \newcommand \firstaid@cref@updatelabeldata [1]{\cref@constructprefix {##1}{\cref@result }\@ifundefined {cref@##1@alias}{\def \@tempa {##1}}{\def \@tempa {\csname cref@##1@alias\endcsname }}\protected@xdef \cref@gcurrentlabel@temp {[\@tempa ][\arabic {##1}][\cref@result ]\csname p@##1\expandafter \endcsname \csname the##1\endcsname }\aftergroup \firstaid@cref@smugglelabel } \AddToHook {label}[firstaid/cleveref] {\ifx \@currentcounter \@empty \else \firstaid@cref@updatelabeldata {\@currentcounter }\fi } }\__hook_next package/cleveref/after package/arydshln/after -> \__hook_toplevel package/arydshln/after \FirstAidNeededT {arydshln}{sty}{....-..-.. v... } {\protected \def \adl@@vlineL ##1##2##3##4{\adl@ivline ##4\@nil {##1}{##2}\xdef \adl@colsL {\adl@colsL \@elt {##3}{\number \@tempcnta }{\number \@tempcntb }{\adl@dashcolor }{\adl@gapcolor }}}\protected \def \adl@@vlineR ##1##2##3##4{\adl@ivline ##4\@nil {##1}{##2}\xdef \adl@colsR {\@elt {##3}{\number \@tempcnta }{\number \@tempcntb }{\adl@dashcolor }{\adl@gapcolor }\adl@colsR }}\let \adl@act@@vlineL \adl@@vlineL \let \adl@act@@vlineR \adl@@vlineR }\__hook_next package/arydshln/after xxx -> foobar\__hook_toplevel xxx \__hook_next xxx **** Add to hook xxx (labels) on input line ... <- baz @@ -576,7 +576,7 @@ All initialized (non-empty) hooks: package/acro/after -> \__hook_toplevel package/acro/after \FirstAidNeededT {acro}{sty}{....-..-.. v... typeset acronyms and other abbreviations (CN)} {\UseName {prop_new:c}{l__acro_tmpa_prop}\acsetup {patch/longtable=false}}\__hook_next package/acro/after package/chemformula/before -> \RequirePackage {l3keys2e}\__hook_toplevel package/chemformula/before \__hook_next package/chemformula/before package/chemnum/after -> \__hook_toplevel package/chemnum/after \FirstAidNeededT {chemnum}{sty}{....-..-.. v... a comprehensive approach for the numbering of chemical compounds (CN)} {\UseName {prop_new:c}{l__chemnum_tmpa_prop}}\__hook_next package/chemnum/after - package/cleveref/after -> \__hook_toplevel package/cleveref/after \FirstAidNeededT {cleveref}{sty}{....-..-.. v... Intelligent cross-referencing} {\def \cref@getref ##1##2{\expandafter \let \expandafter ##2\csname r@##1@cref\endcsname \expandafter \expandafter \expandafter \def \expandafter \expandafter \expandafter ##2\expandafter \expandafter \expandafter {\expandafter \@firstoffive ##2}}\def \cpageref@getref ##1##2{\expandafter \let \expandafter ##2\csname r@##1@cref\endcsname \expandafter \expandafter \expandafter \def \expandafter \expandafter \expandafter ##2\expandafter \expandafter \expandafter {\expandafter \@secondoffive ##2}}\AddToHook {begindocument}[cleveref]{\def \label@noarg ##1{\cref@old@label {##1}\@bsphack \edef \@tempa {{page}{\the \c@page }}\setcounter {page}{1}\edef \@tempb {\thepage }\expandafter \setcounter \@tempa \cref@constructprefix {page}{\cref@result }\protected@write \@auxout {}{\string \newlabel {##1@cref}{{\cref@currentlabel }{[\@tempb ][\arabic {page}][\cref@result ]\thepage }{}{}{}}}\@esphack }\def \label@optarg [##1]##2{\cref@old@label {##2}\@bsphack \edef \@tempa {{page}{\the \c@page }}\setcounter {page}{1}\edef \@tempb {\thepage }\expandafter \setcounter \@tempa \cref@constructprefix {page}{\cref@result }\protected@edef \cref@currentlabel {\expandafter \cref@override@label@type \cref@currentlabel \@nil {##1}}\protected@write \@auxout {}{\string \newlabel {##2@cref}{{\cref@currentlabel }{[\@tempb ][\arabic {page}][\cref@result ]\thepage }{}{}{}}}\@esphack }} \newcommand \firstaid@cref@smugglelabel {\let \cref@currentlabel \cref@gcurrentlabel@temp } \newcommand \firstaid@cref@updatelabeldata [1]{\cref@constructprefix {##1}{\cref@result }\@ifundefined {cref@##1@alias}{\def \@tempa {##1}}{\def \@tempa {\csname cref@##1@alias\endcsname }}\protected@xdef \cref@gcurrentlabel@temp {[\@tempa ][\arabic {##1}][\cref@result ]\csname p@##1\endcsname \csname the##1\endcsname }\aftergroup \firstaid@cref@smugglelabel } \AddToHook {label}[firstaid/cleveref] {\ifx \@currentcounter \@empty \else \firstaid@cref@updatelabeldata {\@currentcounter }\fi } }\__hook_next package/cleveref/after + package/cleveref/after -> \__hook_toplevel package/cleveref/after \FirstAidNeededT {cleveref}{sty}{....-..-.. v... Intelligent cross-referencing} {\def \cref@getref ##1##2{\expandafter \let \expandafter ##2\csname r@##1@cref\endcsname \expandafter \expandafter \expandafter \def \expandafter \expandafter \expandafter ##2\expandafter \expandafter \expandafter {\expandafter \@firstoffive ##2}}\def \cpageref@getref ##1##2{\expandafter \let \expandafter ##2\csname r@##1@cref\endcsname \expandafter \expandafter \expandafter \def \expandafter \expandafter \expandafter ##2\expandafter \expandafter \expandafter {\expandafter \@secondoffive ##2}}\AddToHook {begindocument}[cleveref]{\def \label@noarg ##1{\cref@old@label {##1}\@bsphack \edef \@tempa {{page}{\the \c@page }}\setcounter {page}{1}\edef \@tempb {\thepage }\expandafter \setcounter \@tempa \cref@constructprefix {page}{\cref@result }\protected@write \@auxout {}{\string \newlabel {##1@cref}{{\cref@currentlabel }{[\@tempb ][\arabic {page}][\cref@result ]\thepage }{}{}{}}}\@esphack }\def \label@optarg [##1]##2{\cref@old@label {##2}\@bsphack \edef \@tempa {{page}{\the \c@page }}\setcounter {page}{1}\edef \@tempb {\thepage }\expandafter \setcounter \@tempa \cref@constructprefix {page}{\cref@result }\protected@edef \cref@currentlabel {\expandafter \cref@override@label@type \cref@currentlabel \@nil {##1}}\protected@write \@auxout {}{\string \newlabel {##2@cref}{{\cref@currentlabel }{[\@tempb ][\arabic {page}][\cref@result ]\thepage }{}{}{}}}\@esphack }} \newcommand \firstaid@cref@smugglelabel {\let \cref@currentlabel \cref@gcurrentlabel@temp } \newcommand \firstaid@cref@updatelabeldata [1]{\cref@constructprefix {##1}{\cref@result }\@ifundefined {cref@##1@alias}{\def \@tempa {##1}}{\def \@tempa {\csname cref@##1@alias\endcsname }}\protected@xdef \cref@gcurrentlabel@temp {[\@tempa ][\arabic {##1}][\cref@result ]\csname p@##1\expandafter \endcsname \csname the##1\endcsname }\aftergroup \firstaid@cref@smugglelabel } \AddToHook {label}[firstaid/cleveref] {\ifx \@currentcounter \@empty \else \firstaid@cref@updatelabeldata {\@currentcounter }\fi } }\__hook_next package/cleveref/after package/arydshln/after -> \__hook_toplevel package/arydshln/after \FirstAidNeededT {arydshln}{sty}{....-..-.. v... } {\protected \def \adl@@vlineL ##1##2##3##4{\adl@ivline ##4\@nil {##1}{##2}\xdef \adl@colsL {\adl@colsL \@elt {##3}{\number \@tempcnta }{\number \@tempcntb }{\adl@dashcolor }{\adl@gapcolor }}}\protected \def \adl@@vlineR ##1##2##3##4{\adl@ivline ##4\@nil {##1}{##2}\xdef \adl@colsR {\@elt {##3}{\number \@tempcnta }{\number \@tempcntb }{\adl@dashcolor }{\adl@gapcolor }\adl@colsR }}\let \adl@act@@vlineL \adl@@vlineL \let \adl@act@@vlineR \adl@@vlineR }\__hook_next package/arydshln/after xxx -> foobarbaz\__hook_toplevel xxx \__hook_next xxx **** Add to hook xxx (return) on input line ... <- boom @@ -773,6 +773,6 @@ All initialized (non-empty) hooks: package/acro/after -> \__hook_toplevel package/acro/after \FirstAidNeededT {acro}{sty}{....-..-.. v... typeset acronyms and other abbreviations (CN)} {\UseName {prop_new:c}{l__acro_tmpa_prop}\acsetup {patch/longtable=false}}\__hook_next package/acro/after package/chemformula/before -> \RequirePackage {l3keys2e}\__hook_toplevel package/chemformula/before \__hook_next package/chemformula/before package/chemnum/after -> \__hook_toplevel package/chemnum/after \FirstAidNeededT {chemnum}{sty}{....-..-.. v... a comprehensive approach for the numbering of chemical compounds (CN)} {\UseName {prop_new:c}{l__chemnum_tmpa_prop}}\__hook_next package/chemnum/after - package/cleveref/after -> \__hook_toplevel package/cleveref/after \FirstAidNeededT {cleveref}{sty}{....-..-.. v... Intelligent cross-referencing} {\def \cref@getref ##1##2{\expandafter \let \expandafter ##2\csname r@##1@cref\endcsname \expandafter \expandafter \expandafter \def \expandafter \expandafter \expandafter ##2\expandafter \expandafter \expandafter {\expandafter \@firstoffive ##2}}\def \cpageref@getref ##1##2{\expandafter \let \expandafter ##2\csname r@##1@cref\endcsname \expandafter \expandafter \expandafter \def \expandafter \expandafter \expandafter ##2\expandafter \expandafter \expandafter {\expandafter \@secondoffive ##2}}\AddToHook {begindocument}[cleveref]{\def \label@noarg ##1{\cref@old@label {##1}\@bsphack \edef \@tempa {{page}{\the \c@page }}\setcounter {page}{1}\edef \@tempb {\thepage }\expandafter \setcounter \@tempa \cref@constructprefix {page}{\cref@result }\protected@write \@auxout {}{\string \newlabel {##1@cref}{{\cref@currentlabel }{[\@tempb ][\arabic {page}][\cref@result ]\thepage }{}{}{}}}\@esphack }\def \label@optarg [##1]##2{\cref@old@label {##2}\@bsphack \edef \@tempa {{page}{\the \c@page }}\setcounter {page}{1}\edef \@tempb {\thepage }\expandafter \setcounter \@tempa \cref@constructprefix {page}{\cref@result }\protected@edef \cref@currentlabel {\expandafter \cref@override@label@type \cref@currentlabel \@nil {##1}}\protected@write \@auxout {}{\string \newlabel {##2@cref}{{\cref@currentlabel }{[\@tempb ][\arabic {page}][\cref@result ]\thepage }{}{}{}}}\@esphack }} \newcommand \firstaid@cref@smugglelabel {\let \cref@currentlabel \cref@gcurrentlabel@temp } \newcommand \firstaid@cref@updatelabeldata [1]{\cref@constructprefix {##1}{\cref@result }\@ifundefined {cref@##1@alias}{\def \@tempa {##1}}{\def \@tempa {\csname cref@##1@alias\endcsname }}\protected@xdef \cref@gcurrentlabel@temp {[\@tempa ][\arabic {##1}][\cref@result ]\csname p@##1\endcsname \csname the##1\endcsname }\aftergroup \firstaid@cref@smugglelabel } \AddToHook {label}[firstaid/cleveref] {\ifx \@currentcounter \@empty \else \firstaid@cref@updatelabeldata {\@currentcounter }\fi } }\__hook_next package/cleveref/after + package/cleveref/after -> \__hook_toplevel package/cleveref/after \FirstAidNeededT {cleveref}{sty}{....-..-.. v... Intelligent cross-referencing} {\def \cref@getref ##1##2{\expandafter \let \expandafter ##2\csname r@##1@cref\endcsname \expandafter \expandafter \expandafter \def \expandafter \expandafter \expandafter ##2\expandafter \expandafter \expandafter {\expandafter \@firstoffive ##2}}\def \cpageref@getref ##1##2{\expandafter \let \expandafter ##2\csname r@##1@cref\endcsname \expandafter \expandafter \expandafter \def \expandafter \expandafter \expandafter ##2\expandafter \expandafter \expandafter {\expandafter \@secondoffive ##2}}\AddToHook {begindocument}[cleveref]{\def \label@noarg ##1{\cref@old@label {##1}\@bsphack \edef \@tempa {{page}{\the \c@page }}\setcounter {page}{1}\edef \@tempb {\thepage }\expandafter \setcounter \@tempa \cref@constructprefix {page}{\cref@result }\protected@write \@auxout {}{\string \newlabel {##1@cref}{{\cref@currentlabel }{[\@tempb ][\arabic {page}][\cref@result ]\thepage }{}{}{}}}\@esphack }\def \label@optarg [##1]##2{\cref@old@label {##2}\@bsphack \edef \@tempa {{page}{\the \c@page }}\setcounter {page}{1}\edef \@tempb {\thepage }\expandafter \setcounter \@tempa \cref@constructprefix {page}{\cref@result }\protected@edef \cref@currentlabel {\expandafter \cref@override@label@type \cref@currentlabel \@nil {##1}}\protected@write \@auxout {}{\string \newlabel {##2@cref}{{\cref@currentlabel }{[\@tempb ][\arabic {page}][\cref@result ]\thepage }{}{}{}}}\@esphack }} \newcommand \firstaid@cref@smugglelabel {\let \cref@currentlabel \cref@gcurrentlabel@temp } \newcommand \firstaid@cref@updatelabeldata [1]{\cref@constructprefix {##1}{\cref@result }\@ifundefined {cref@##1@alias}{\def \@tempa {##1}}{\def \@tempa {\csname cref@##1@alias\endcsname }}\protected@xdef \cref@gcurrentlabel@temp {[\@tempa ][\arabic {##1}][\cref@result ]\csname p@##1\expandafter \endcsname \csname the##1\endcsname }\aftergroup \firstaid@cref@smugglelabel } \AddToHook {label}[firstaid/cleveref] {\ifx \@currentcounter \@empty \else \firstaid@cref@updatelabeldata {\@currentcounter }\fi } }\__hook_next package/cleveref/after package/arydshln/after -> \__hook_toplevel package/arydshln/after \FirstAidNeededT {arydshln}{sty}{....-..-.. v... } {\protected \def \adl@@vlineL ##1##2##3##4{\adl@ivline ##4\@nil {##1}{##2}\xdef \adl@colsL {\adl@colsL \@elt {##3}{\number \@tempcnta }{\number \@tempcntb }{\adl@dashcolor }{\adl@gapcolor }}}\protected \def \adl@@vlineR ##1##2##3##4{\adl@ivline ##4\@nil {##1}{##2}\xdef \adl@colsR {\@elt {##3}{\number \@tempcnta }{\number \@tempcntb }{\adl@dashcolor }{\adl@gapcolor }\adl@colsR }}\let \adl@act@@vlineL \adl@@vlineL \let \adl@act@@vlineR \adl@@vlineR }\__hook_next package/arydshln/after xxx -> foobarbazboom\__hook_toplevel xxx \__hook_next xxx diff --git a/base/testfiles-lthooks/lthooks-013.tlg b/base/testfiles-lthooks/lthooks-013.tlg index cfd5b3b9d..c6758e340 100644 --- a/base/testfiles-lthooks/lthooks-013.tlg +++ b/base/testfiles-lthooks/lthooks-013.tlg @@ -243,7 +243,7 @@ All initialized (non-empty) hooks: package/acro/after -> \__hook_toplevel package/acro/after \FirstAidNeededT {acro}{sty}{....-..-.. v... typeset acronyms and other abbreviations (CN)} {\UseName {prop_new:c}{l__acro_tmpa_prop}\acsetup {patch/longtable=false}}\__hook_next package/acro/after package/chemformula/before -> \RequirePackage {l3keys2e}\__hook_toplevel package/chemformula/before \__hook_next package/chemformula/before package/chemnum/after -> \__hook_toplevel package/chemnum/after \FirstAidNeededT {chemnum}{sty}{....-..-.. v... a comprehensive approach for the numbering of chemical compounds (CN)} {\UseName {prop_new:c}{l__chemnum_tmpa_prop}}\__hook_next package/chemnum/after - package/cleveref/after -> \__hook_toplevel package/cleveref/after \FirstAidNeededT {cleveref}{sty}{....-..-.. v... Intelligent cross-referencing} {\def \cref@getref ##1##2{\expandafter \let \expandafter ##2\csname r@##1@cref\endcsname \expandafter \expandafter \expandafter \def \expandafter \expandafter \expandafter ##2\expandafter \expandafter \expandafter {\expandafter \@firstoffive ##2}}\def \cpageref@getref ##1##2{\expandafter \let \expandafter ##2\csname r@##1@cref\endcsname \expandafter \expandafter \expandafter \def \expandafter \expandafter \expandafter ##2\expandafter \expandafter \expandafter {\expandafter \@secondoffive ##2}}\AddToHook {begindocument}[cleveref]{\def \label@noarg ##1{\cref@old@label {##1}\@bsphack \edef \@tempa {{page}{\the \c@page }}\setcounter {page}{1}\edef \@tempb {\thepage }\expandafter \setcounter \@tempa \cref@constructprefix {page}{\cref@result }\protected@write \@auxout {}{\string \newlabel {##1@cref}{{\cref@currentlabel }{[\@tempb ][\arabic {page}][\cref@result ]\thepage }{}{}{}}}\@esphack }\def \label@optarg [##1]##2{\cref@old@label {##2}\@bsphack \edef \@tempa {{page}{\the \c@page }}\setcounter {page}{1}\edef \@tempb {\thepage }\expandafter \setcounter \@tempa \cref@constructprefix {page}{\cref@result }\protected@edef \cref@currentlabel {\expandafter \cref@override@label@type \cref@currentlabel \@nil {##1}}\protected@write \@auxout {}{\string \newlabel {##2@cref}{{\cref@currentlabel }{[\@tempb ][\arabic {page}][\cref@result ]\thepage }{}{}{}}}\@esphack }} \newcommand \firstaid@cref@smugglelabel {\let \cref@currentlabel \cref@gcurrentlabel@temp } \newcommand \firstaid@cref@updatelabeldata [1]{\cref@constructprefix {##1}{\cref@result }\@ifundefined {cref@##1@alias}{\def \@tempa {##1}}{\def \@tempa {\csname cref@##1@alias\endcsname }}\protected@xdef \cref@gcurrentlabel@temp {[\@tempa ][\arabic {##1}][\cref@result ]\csname p@##1\endcsname \csname the##1\endcsname }\aftergroup \firstaid@cref@smugglelabel } \AddToHook {label}[firstaid/cleveref] {\ifx \@currentcounter \@empty \else \firstaid@cref@updatelabeldata {\@currentcounter }\fi } }\__hook_next package/cleveref/after + package/cleveref/after -> \__hook_toplevel package/cleveref/after \FirstAidNeededT {cleveref}{sty}{....-..-.. v... Intelligent cross-referencing} {\def \cref@getref ##1##2{\expandafter \let \expandafter ##2\csname r@##1@cref\endcsname \expandafter \expandafter \expandafter \def \expandafter \expandafter \expandafter ##2\expandafter \expandafter \expandafter {\expandafter \@firstoffive ##2}}\def \cpageref@getref ##1##2{\expandafter \let \expandafter ##2\csname r@##1@cref\endcsname \expandafter \expandafter \expandafter \def \expandafter \expandafter \expandafter ##2\expandafter \expandafter \expandafter {\expandafter \@secondoffive ##2}}\AddToHook {begindocument}[cleveref]{\def \label@noarg ##1{\cref@old@label {##1}\@bsphack \edef \@tempa {{page}{\the \c@page }}\setcounter {page}{1}\edef \@tempb {\thepage }\expandafter \setcounter \@tempa \cref@constructprefix {page}{\cref@result }\protected@write \@auxout {}{\string \newlabel {##1@cref}{{\cref@currentlabel }{[\@tempb ][\arabic {page}][\cref@result ]\thepage }{}{}{}}}\@esphack }\def \label@optarg [##1]##2{\cref@old@label {##2}\@bsphack \edef \@tempa {{page}{\the \c@page }}\setcounter {page}{1}\edef \@tempb {\thepage }\expandafter \setcounter \@tempa \cref@constructprefix {page}{\cref@result }\protected@edef \cref@currentlabel {\expandafter \cref@override@label@type \cref@currentlabel \@nil {##1}}\protected@write \@auxout {}{\string \newlabel {##2@cref}{{\cref@currentlabel }{[\@tempb ][\arabic {page}][\cref@result ]\thepage }{}{}{}}}\@esphack }} \newcommand \firstaid@cref@smugglelabel {\let \cref@currentlabel \cref@gcurrentlabel@temp } \newcommand \firstaid@cref@updatelabeldata [1]{\cref@constructprefix {##1}{\cref@result }\@ifundefined {cref@##1@alias}{\def \@tempa {##1}}{\def \@tempa {\csname cref@##1@alias\endcsname }}\protected@xdef \cref@gcurrentlabel@temp {[\@tempa ][\arabic {##1}][\cref@result ]\csname p@##1\expandafter \endcsname \csname the##1\endcsname }\aftergroup \firstaid@cref@smugglelabel } \AddToHook {label}[firstaid/cleveref] {\ifx \@currentcounter \@empty \else \firstaid@cref@updatelabeldata {\@currentcounter }\fi } }\__hook_next package/cleveref/after package/arydshln/after -> \__hook_toplevel package/arydshln/after \FirstAidNeededT {arydshln}{sty}{....-..-.. v... } {\protected \def \adl@@vlineL ##1##2##3##4{\adl@ivline ##4\@nil {##1}{##2}\xdef \adl@colsL {\adl@colsL \@elt {##3}{\number \@tempcnta }{\number \@tempcntb }{\adl@dashcolor }{\adl@gapcolor }}}\protected \def \adl@@vlineR ##1##2##3##4{\adl@ivline ##4\@nil {##1}{##2}\xdef \adl@colsR {\@elt {##3}{\number \@tempcnta }{\number \@tempcntb }{\adl@dashcolor }{\adl@gapcolor }\adl@colsR }}\let \adl@act@@vlineL \adl@@vlineL \let \adl@act@@vlineR \adl@@vlineR }\__hook_next package/arydshln/after package/l3graphics/after -> \__hook_toplevel package/l3graphics/after \seq_set_from_clist:Nn \l_graphics_search_ext_seq {.pdf,.eps,.ps,.png,.jpg,.jpeg}\__hook_next package/l3graphics/after env/itemize/begin -> \typeout {env itemize first}\__hook_toplevel env/itemize/begin \__hook_next env/itemize/begin diff --git a/base/testfiles-lthooks/lthooks-021.tlg b/base/testfiles-lthooks/lthooks-021.tlg index 282cbc898..9e99fa078 100644 --- a/base/testfiles-lthooks/lthooks-021.tlg +++ b/base/testfiles-lthooks/lthooks-021.tlg @@ -182,7 +182,7 @@ All initialized (non-empty) hooks: package/acro/after -> \__hook_toplevel package/acro/after \FirstAidNeededT {acro}{sty}{....-..-.. v... typeset acronyms and other abbreviations (CN)} {\UseName {prop_new:c}{l__acro_tmpa_prop}\acsetup {patch/longtable=false}}\__hook_next package/acro/after package/chemformula/before -> \RequirePackage {l3keys2e}\__hook_toplevel package/chemformula/before \__hook_next package/chemformula/before package/chemnum/after -> \__hook_toplevel package/chemnum/after \FirstAidNeededT {chemnum}{sty}{....-..-.. v... a comprehensive approach for the numbering of chemical compounds (CN)} {\UseName {prop_new:c}{l__chemnum_tmpa_prop}}\__hook_next package/chemnum/after - package/cleveref/after -> \__hook_toplevel package/cleveref/after \FirstAidNeededT {cleveref}{sty}{....-..-.. v... Intelligent cross-referencing} {\def \cref@getref ##1##2{\expandafter \let \expandafter ##2\csname r@##1@cref\endcsname \expandafter \expandafter \expandafter \def \expandafter \expandafter \expandafter ##2\expandafter \expandafter \expandafter {\expandafter \@firstoffive ##2}}\def \cpageref@getref ##1##2{\expandafter \let \expandafter ##2\csname r@##1@cref\endcsname \expandafter \expandafter \expandafter \def \expandafter \expandafter \expandafter ##2\expandafter \expandafter \expandafter {\expandafter \@secondoffive ##2}}\AddToHook {begindocument}[cleveref]{\def \label@noarg ##1{\cref@old@label {##1}\@bsphack \edef \@tempa {{page}{\the \c@page }}\setcounter {page}{1}\edef \@tempb {\thepage }\expandafter \setcounter \@tempa \cref@constructprefix {page}{\cref@result }\protected@write \@auxout {}{\string \newlabel {##1@cref}{{\cref@currentlabel }{[\@tempb ][\arabic {page}][\cref@result ]\thepage }{}{}{}}}\@esphack }\def \label@optarg [##1]##2{\cref@old@label {##2}\@bsphack \edef \@tempa {{page}{\the \c@page }}\setcounter {page}{1}\edef \@tempb {\thepage }\expandafter \setcounter \@tempa \cref@constructprefix {page}{\cref@result }\protected@edef \cref@currentlabel {\expandafter \cref@override@label@type \cref@currentlabel \@nil {##1}}\protected@write \@auxout {}{\string \newlabel {##2@cref}{{\cref@currentlabel }{[\@tempb ][\arabic {page}][\cref@result ]\thepage }{}{}{}}}\@esphack }} \newcommand \firstaid@cref@smugglelabel {\let \cref@currentlabel \cref@gcurrentlabel@temp } \newcommand \firstaid@cref@updatelabeldata [1]{\cref@constructprefix {##1}{\cref@result }\@ifundefined {cref@##1@alias}{\def \@tempa {##1}}{\def \@tempa {\csname cref@##1@alias\endcsname }}\protected@xdef \cref@gcurrentlabel@temp {[\@tempa ][\arabic {##1}][\cref@result ]\csname p@##1\endcsname \csname the##1\endcsname }\aftergroup \firstaid@cref@smugglelabel } \AddToHook {label}[firstaid/cleveref] {\ifx \@currentcounter \@empty \else \firstaid@cref@updatelabeldata {\@currentcounter }\fi } }\__hook_next package/cleveref/after + package/cleveref/after -> \__hook_toplevel package/cleveref/after \FirstAidNeededT {cleveref}{sty}{....-..-.. v... Intelligent cross-referencing} {\def \cref@getref ##1##2{\expandafter \let \expandafter ##2\csname r@##1@cref\endcsname \expandafter \expandafter \expandafter \def \expandafter \expandafter \expandafter ##2\expandafter \expandafter \expandafter {\expandafter \@firstoffive ##2}}\def \cpageref@getref ##1##2{\expandafter \let \expandafter ##2\csname r@##1@cref\endcsname \expandafter \expandafter \expandafter \def \expandafter \expandafter \expandafter ##2\expandafter \expandafter \expandafter {\expandafter \@secondoffive ##2}}\AddToHook {begindocument}[cleveref]{\def \label@noarg ##1{\cref@old@label {##1}\@bsphack \edef \@tempa {{page}{\the \c@page }}\setcounter {page}{1}\edef \@tempb {\thepage }\expandafter \setcounter \@tempa \cref@constructprefix {page}{\cref@result }\protected@write \@auxout {}{\string \newlabel {##1@cref}{{\cref@currentlabel }{[\@tempb ][\arabic {page}][\cref@result ]\thepage }{}{}{}}}\@esphack }\def \label@optarg [##1]##2{\cref@old@label {##2}\@bsphack \edef \@tempa {{page}{\the \c@page }}\setcounter {page}{1}\edef \@tempb {\thepage }\expandafter \setcounter \@tempa \cref@constructprefix {page}{\cref@result }\protected@edef \cref@currentlabel {\expandafter \cref@override@label@type \cref@currentlabel \@nil {##1}}\protected@write \@auxout {}{\string \newlabel {##2@cref}{{\cref@currentlabel }{[\@tempb ][\arabic {page}][\cref@result ]\thepage }{}{}{}}}\@esphack }} \newcommand \firstaid@cref@smugglelabel {\let \cref@currentlabel \cref@gcurrentlabel@temp } \newcommand \firstaid@cref@updatelabeldata [1]{\cref@constructprefix {##1}{\cref@result }\@ifundefined {cref@##1@alias}{\def \@tempa {##1}}{\def \@tempa {\csname cref@##1@alias\endcsname }}\protected@xdef \cref@gcurrentlabel@temp {[\@tempa ][\arabic {##1}][\cref@result ]\csname p@##1\expandafter \endcsname \csname the##1\endcsname }\aftergroup \firstaid@cref@smugglelabel } \AddToHook {label}[firstaid/cleveref] {\ifx \@currentcounter \@empty \else \firstaid@cref@updatelabeldata {\@currentcounter }\fi } }\__hook_next package/cleveref/after package/arydshln/after -> \__hook_toplevel package/arydshln/after \FirstAidNeededT {arydshln}{sty}{....-..-.. v... } {\protected \def \adl@@vlineL ##1##2##3##4{\adl@ivline ##4\@nil {##1}{##2}\xdef \adl@colsL {\adl@colsL \@elt {##3}{\number \@tempcnta }{\number \@tempcntb }{\adl@dashcolor }{\adl@gapcolor }}}\protected \def \adl@@vlineR ##1##2##3##4{\adl@ivline ##4\@nil {##1}{##2}\xdef \adl@colsR {\@elt {##3}{\number \@tempcnta }{\number \@tempcntb }{\adl@dashcolor }{\adl@gapcolor }\adl@colsR }}\let \adl@act@@vlineL \adl@@vlineL \let \adl@act@@vlineR \adl@@vlineR }\__hook_next package/arydshln/after package/l3graphics/after -> \__hook_toplevel package/l3graphics/after \seq_set_from_clist:Nn \l_graphics_search_ext_seq {.pdf,.eps,.ps,.png,.jpg,.jpeg}\__hook_next package/l3graphics/after No file lthooks-021.aux. diff --git a/base/testfiles-lthooks/lthooks-legacy.tlg b/base/testfiles-lthooks/lthooks-legacy.tlg index db2099805..2da4d1c72 100644 --- a/base/testfiles-lthooks/lthooks-legacy.tlg +++ b/base/testfiles-lthooks/lthooks-legacy.tlg @@ -207,7 +207,7 @@ All initialized (non-empty) hooks: package/acro/after -> \__hook_toplevel package/acro/after \FirstAidNeededT {acro}{sty}{....-..-.. v... typeset acronyms and other abbreviations (CN)} {\UseName {prop_new:c}{l__acro_tmpa_prop}\acsetup {patch/longtable=false}}\__hook_next package/acro/after package/chemformula/before -> \RequirePackage {l3keys2e}\__hook_toplevel package/chemformula/before \__hook_next package/chemformula/before package/chemnum/after -> \__hook_toplevel package/chemnum/after \FirstAidNeededT {chemnum}{sty}{....-..-.. v... a comprehensive approach for the numbering of chemical compounds (CN)} {\UseName {prop_new:c}{l__chemnum_tmpa_prop}}\__hook_next package/chemnum/after - package/cleveref/after -> \__hook_toplevel package/cleveref/after \FirstAidNeededT {cleveref}{sty}{....-..-.. v... Intelligent cross-referencing} {\def \cref@getref ##1##2{\expandafter \let \expandafter ##2\csname r@##1@cref\endcsname \expandafter \expandafter \expandafter \def \expandafter \expandafter \expandafter ##2\expandafter \expandafter \expandafter {\expandafter \@firstoffive ##2}}\def \cpageref@getref ##1##2{\expandafter \let \expandafter ##2\csname r@##1@cref\endcsname \expandafter \expandafter \expandafter \def \expandafter \expandafter \expandafter ##2\expandafter \expandafter \expandafter {\expandafter \@secondoffive ##2}}\AddToHook {begindocument}[cleveref]{\def \label@noarg ##1{\cref@old@label {##1}\@bsphack \edef \@tempa {{page}{\the \c@page }}\setcounter {page}{1}\edef \@tempb {\thepage }\expandafter \setcounter \@tempa \cref@constructprefix {page}{\cref@result }\protected@write \@auxout {}{\string \newlabel {##1@cref}{{\cref@currentlabel }{[\@tempb ][\arabic {page}][\cref@result ]\thepage }{}{}{}}}\@esphack }\def \label@optarg [##1]##2{\cref@old@label {##2}\@bsphack \edef \@tempa {{page}{\the \c@page }}\setcounter {page}{1}\edef \@tempb {\thepage }\expandafter \setcounter \@tempa \cref@constructprefix {page}{\cref@result }\protected@edef \cref@currentlabel {\expandafter \cref@override@label@type \cref@currentlabel \@nil {##1}}\protected@write \@auxout {}{\string \newlabel {##2@cref}{{\cref@currentlabel }{[\@tempb ][\arabic {page}][\cref@result ]\thepage }{}{}{}}}\@esphack }} \newcommand \firstaid@cref@smugglelabel {\let \cref@currentlabel \cref@gcurrentlabel@temp } \newcommand \firstaid@cref@updatelabeldata [1]{\cref@constructprefix {##1}{\cref@result }\@ifundefined {cref@##1@alias}{\def \@tempa {##1}}{\def \@tempa {\csname cref@##1@alias\endcsname }}\protected@xdef \cref@gcurrentlabel@temp {[\@tempa ][\arabic {##1}][\cref@result ]\csname p@##1\endcsname \csname the##1\endcsname }\aftergroup \firstaid@cref@smugglelabel } \AddToHook {label}[firstaid/cleveref] {\ifx \@currentcounter \@empty \else \firstaid@cref@updatelabeldata {\@currentcounter }\fi } }\__hook_next package/cleveref/after + package/cleveref/after -> \__hook_toplevel package/cleveref/after \FirstAidNeededT {cleveref}{sty}{....-..-.. v... Intelligent cross-referencing} {\def \cref@getref ##1##2{\expandafter \let \expandafter ##2\csname r@##1@cref\endcsname \expandafter \expandafter \expandafter \def \expandafter \expandafter \expandafter ##2\expandafter \expandafter \expandafter {\expandafter \@firstoffive ##2}}\def \cpageref@getref ##1##2{\expandafter \let \expandafter ##2\csname r@##1@cref\endcsname \expandafter \expandafter \expandafter \def \expandafter \expandafter \expandafter ##2\expandafter \expandafter \expandafter {\expandafter \@secondoffive ##2}}\AddToHook {begindocument}[cleveref]{\def \label@noarg ##1{\cref@old@label {##1}\@bsphack \edef \@tempa {{page}{\the \c@page }}\setcounter {page}{1}\edef \@tempb {\thepage }\expandafter \setcounter \@tempa \cref@constructprefix {page}{\cref@result }\protected@write \@auxout {}{\string \newlabel {##1@cref}{{\cref@currentlabel }{[\@tempb ][\arabic {page}][\cref@result ]\thepage }{}{}{}}}\@esphack }\def \label@optarg [##1]##2{\cref@old@label {##2}\@bsphack \edef \@tempa {{page}{\the \c@page }}\setcounter {page}{1}\edef \@tempb {\thepage }\expandafter \setcounter \@tempa \cref@constructprefix {page}{\cref@result }\protected@edef \cref@currentlabel {\expandafter \cref@override@label@type \cref@currentlabel \@nil {##1}}\protected@write \@auxout {}{\string \newlabel {##2@cref}{{\cref@currentlabel }{[\@tempb ][\arabic {page}][\cref@result ]\thepage }{}{}{}}}\@esphack }} \newcommand \firstaid@cref@smugglelabel {\let \cref@currentlabel \cref@gcurrentlabel@temp } \newcommand \firstaid@cref@updatelabeldata [1]{\cref@constructprefix {##1}{\cref@result }\@ifundefined {cref@##1@alias}{\def \@tempa {##1}}{\def \@tempa {\csname cref@##1@alias\endcsname }}\protected@xdef \cref@gcurrentlabel@temp {[\@tempa ][\arabic {##1}][\cref@result ]\csname p@##1\expandafter \endcsname \csname the##1\endcsname }\aftergroup \firstaid@cref@smugglelabel } \AddToHook {label}[firstaid/cleveref] {\ifx \@currentcounter \@empty \else \firstaid@cref@updatelabeldata {\@currentcounter }\fi } }\__hook_next package/cleveref/after package/arydshln/after -> \__hook_toplevel package/arydshln/after \FirstAidNeededT {arydshln}{sty}{....-..-.. v... } {\protected \def \adl@@vlineL ##1##2##3##4{\adl@ivline ##4\@nil {##1}{##2}\xdef \adl@colsL {\adl@colsL \@elt {##3}{\number \@tempcnta }{\number \@tempcntb }{\adl@dashcolor }{\adl@gapcolor }}}\protected \def \adl@@vlineR ##1##2##3##4{\adl@ivline ##4\@nil {##1}{##2}\xdef \adl@colsR {\@elt {##3}{\number \@tempcnta }{\number \@tempcntb }{\adl@dashcolor }{\adl@gapcolor }\adl@colsR }}\let \adl@act@@vlineL \adl@@vlineL \let \adl@act@@vlineR \adl@@vlineR }\__hook_next package/arydshln/after package/l3graphics/after -> \__hook_toplevel package/l3graphics/after \seq_set_from_clist:Nn \l_graphics_search_ext_seq {.pdf,.eps,.ps,.png,.jpg,.jpeg}\__hook_next package/l3graphics/after legacy defaultfamily on input line ... diff --git a/base/testfiles-lthooks2/lthooks2-002.tlg b/base/testfiles-lthooks2/lthooks2-002.tlg index bc6183761..2763adcb7 100644 --- a/base/testfiles-lthooks2/lthooks2-002.tlg +++ b/base/testfiles-lthooks2/lthooks2-002.tlg @@ -208,7 +208,7 @@ All initialized (non-empty) hooks: package/acro/after -> \__hook_toplevel package/acro/after \FirstAidNeededT {acro}{sty}{....-..-.. v... typeset acronyms and other abbreviations (CN)} {\UseName {prop_new:c}{l__acro_tmpa_prop}\acsetup {patch/longtable=false}}\__hook_next package/acro/after package/chemformula/before -> \RequirePackage {l3keys2e}\__hook_toplevel package/chemformula/before \__hook_next package/chemformula/before package/chemnum/after -> \__hook_toplevel package/chemnum/after \FirstAidNeededT {chemnum}{sty}{....-..-.. v... a comprehensive approach for the numbering of chemical compounds (CN)} {\UseName {prop_new:c}{l__chemnum_tmpa_prop}}\__hook_next package/chemnum/after - package/cleveref/after -> \__hook_toplevel package/cleveref/after \FirstAidNeededT {cleveref}{sty}{....-..-.. v... Intelligent cross-referencing} {\def \cref@getref ##1##2{\expandafter \let \expandafter ##2\csname r@##1@cref\endcsname \expandafter \expandafter \expandafter \def \expandafter \expandafter \expandafter ##2\expandafter \expandafter \expandafter {\expandafter \@firstoffive ##2}}\def \cpageref@getref ##1##2{\expandafter \let \expandafter ##2\csname r@##1@cref\endcsname \expandafter \expandafter \expandafter \def \expandafter \expandafter \expandafter ##2\expandafter \expandafter \expandafter {\expandafter \@secondoffive ##2}}\AddToHook {begindocument}[cleveref]{\def \label@noarg ##1{\cref@old@label {##1}\@bsphack \edef \@tempa {{page}{\the \c@page }}\setcounter {page}{1}\edef \@tempb {\thepage }\expandafter \setcounter \@tempa \cref@constructprefix {page}{\cref@result }\protected@write \@auxout {}{\string \newlabel {##1@cref}{{\cref@currentlabel }{[\@tempb ][\arabic {page}][\cref@result ]\thepage }{}{}{}}}\@esphack }\def \label@optarg [##1]##2{\cref@old@label {##2}\@bsphack \edef \@tempa {{page}{\the \c@page }}\setcounter {page}{1}\edef \@tempb {\thepage }\expandafter \setcounter \@tempa \cref@constructprefix {page}{\cref@result }\protected@edef \cref@currentlabel {\expandafter \cref@override@label@type \cref@currentlabel \@nil {##1}}\protected@write \@auxout {}{\string \newlabel {##2@cref}{{\cref@currentlabel }{[\@tempb ][\arabic {page}][\cref@result ]\thepage }{}{}{}}}\@esphack }} \newcommand \firstaid@cref@smugglelabel {\let \cref@currentlabel \cref@gcurrentlabel@temp } \newcommand \firstaid@cref@updatelabeldata [1]{\cref@constructprefix {##1}{\cref@result }\@ifundefined {cref@##1@alias}{\def \@tempa {##1}}{\def \@tempa {\csname cref@##1@alias\endcsname }}\protected@xdef \cref@gcurrentlabel@temp {[\@tempa ][\arabic {##1}][\cref@result ]\csname p@##1\endcsname \csname the##1\endcsname }\aftergroup \firstaid@cref@smugglelabel } \AddToHook {label}[firstaid/cleveref] {\ifx \@currentcounter \@empty \else \firstaid@cref@updatelabeldata {\@currentcounter }\fi } }\__hook_next package/cleveref/after + package/cleveref/after -> \__hook_toplevel package/cleveref/after \FirstAidNeededT {cleveref}{sty}{....-..-.. v... Intelligent cross-referencing} {\def \cref@getref ##1##2{\expandafter \let \expandafter ##2\csname r@##1@cref\endcsname \expandafter \expandafter \expandafter \def \expandafter \expandafter \expandafter ##2\expandafter \expandafter \expandafter {\expandafter \@firstoffive ##2}}\def \cpageref@getref ##1##2{\expandafter \let \expandafter ##2\csname r@##1@cref\endcsname \expandafter \expandafter \expandafter \def \expandafter \expandafter \expandafter ##2\expandafter \expandafter \expandafter {\expandafter \@secondoffive ##2}}\AddToHook {begindocument}[cleveref]{\def \label@noarg ##1{\cref@old@label {##1}\@bsphack \edef \@tempa {{page}{\the \c@page }}\setcounter {page}{1}\edef \@tempb {\thepage }\expandafter \setcounter \@tempa \cref@constructprefix {page}{\cref@result }\protected@write \@auxout {}{\string \newlabel {##1@cref}{{\cref@currentlabel }{[\@tempb ][\arabic {page}][\cref@result ]\thepage }{}{}{}}}\@esphack }\def \label@optarg [##1]##2{\cref@old@label {##2}\@bsphack \edef \@tempa {{page}{\the \c@page }}\setcounter {page}{1}\edef \@tempb {\thepage }\expandafter \setcounter \@tempa \cref@constructprefix {page}{\cref@result }\protected@edef \cref@currentlabel {\expandafter \cref@override@label@type \cref@currentlabel \@nil {##1}}\protected@write \@auxout {}{\string \newlabel {##2@cref}{{\cref@currentlabel }{[\@tempb ][\arabic {page}][\cref@result ]\thepage }{}{}{}}}\@esphack }} \newcommand \firstaid@cref@smugglelabel {\let \cref@currentlabel \cref@gcurrentlabel@temp } \newcommand \firstaid@cref@updatelabeldata [1]{\cref@constructprefix {##1}{\cref@result }\@ifundefined {cref@##1@alias}{\def \@tempa {##1}}{\def \@tempa {\csname cref@##1@alias\endcsname }}\protected@xdef \cref@gcurrentlabel@temp {[\@tempa ][\arabic {##1}][\cref@result ]\csname p@##1\expandafter \endcsname \csname the##1\endcsname }\aftergroup \firstaid@cref@smugglelabel } \AddToHook {label}[firstaid/cleveref] {\ifx \@currentcounter \@empty \else \firstaid@cref@updatelabeldata {\@currentcounter }\fi } }\__hook_next package/cleveref/after package/arydshln/after -> \__hook_toplevel package/arydshln/after \FirstAidNeededT {arydshln}{sty}{....-..-.. v... } {\protected \def \adl@@vlineL ##1##2##3##4{\adl@ivline ##4\@nil {##1}{##2}\xdef \adl@colsL {\adl@colsL \@elt {##3}{\number \@tempcnta }{\number \@tempcntb }{\adl@dashcolor }{\adl@gapcolor }}}\protected \def \adl@@vlineR ##1##2##3##4{\adl@ivline ##4\@nil {##1}{##2}\xdef \adl@colsR {\@elt {##3}{\number \@tempcnta }{\number \@tempcntb }{\adl@dashcolor }{\adl@gapcolor }\adl@colsR }}\let \adl@act@@vlineL \adl@@vlineL \let \adl@act@@vlineR \adl@@vlineR }\__hook_next package/arydshln/after package/l3graphics/after -> \__hook_toplevel package/l3graphics/after \seq_set_from_clist:Nn \l_graphics_search_ext_seq {.pdf,.eps,.ps,.png,.jpg,.jpeg}\__hook_next package/l3graphics/after (lthooks2-002.aux) diff --git a/base/testfiles-lthooks2/lthooks2-005.tlg b/base/testfiles-lthooks2/lthooks2-005.tlg index 181a618e4..67c3ecc17 100644 --- a/base/testfiles-lthooks2/lthooks2-005.tlg +++ b/base/testfiles-lthooks2/lthooks2-005.tlg @@ -177,7 +177,7 @@ All initialized (non-empty) hooks: package/acro/after -> \__hook_toplevel package/acro/after \FirstAidNeededT {acro}{sty}{....-..-.. v... typeset acronyms and other abbreviations (CN)} {\UseName {prop_new:c}{l__acro_tmpa_prop}\acsetup {patch/longtable=false}}\__hook_next package/acro/after package/chemformula/before -> \RequirePackage {l3keys2e}\__hook_toplevel package/chemformula/before \__hook_next package/chemformula/before package/chemnum/after -> \__hook_toplevel package/chemnum/after \FirstAidNeededT {chemnum}{sty}{....-..-.. v... a comprehensive approach for the numbering of chemical compounds (CN)} {\UseName {prop_new:c}{l__chemnum_tmpa_prop}}\__hook_next package/chemnum/after - package/cleveref/after -> \__hook_toplevel package/cleveref/after \FirstAidNeededT {cleveref}{sty}{....-..-.. v... Intelligent cross-referencing} {\def \cref@getref ##1##2{\expandafter \let \expandafter ##2\csname r@##1@cref\endcsname \expandafter \expandafter \expandafter \def \expandafter \expandafter \expandafter ##2\expandafter \expandafter \expandafter {\expandafter \@firstoffive ##2}}\def \cpageref@getref ##1##2{\expandafter \let \expandafter ##2\csname r@##1@cref\endcsname \expandafter \expandafter \expandafter \def \expandafter \expandafter \expandafter ##2\expandafter \expandafter \expandafter {\expandafter \@secondoffive ##2}}\AddToHook {begindocument}[cleveref]{\def \label@noarg ##1{\cref@old@label {##1}\@bsphack \edef \@tempa {{page}{\the \c@page }}\setcounter {page}{1}\edef \@tempb {\thepage }\expandafter \setcounter \@tempa \cref@constructprefix {page}{\cref@result }\protected@write \@auxout {}{\string \newlabel {##1@cref}{{\cref@currentlabel }{[\@tempb ][\arabic {page}][\cref@result ]\thepage }{}{}{}}}\@esphack }\def \label@optarg [##1]##2{\cref@old@label {##2}\@bsphack \edef \@tempa {{page}{\the \c@page }}\setcounter {page}{1}\edef \@tempb {\thepage }\expandafter \setcounter \@tempa \cref@constructprefix {page}{\cref@result }\protected@edef \cref@currentlabel {\expandafter \cref@override@label@type \cref@currentlabel \@nil {##1}}\protected@write \@auxout {}{\string \newlabel {##2@cref}{{\cref@currentlabel }{[\@tempb ][\arabic {page}][\cref@result ]\thepage }{}{}{}}}\@esphack }} \newcommand \firstaid@cref@smugglelabel {\let \cref@currentlabel \cref@gcurrentlabel@temp } \newcommand \firstaid@cref@updatelabeldata [1]{\cref@constructprefix {##1}{\cref@result }\@ifundefined {cref@##1@alias}{\def \@tempa {##1}}{\def \@tempa {\csname cref@##1@alias\endcsname }}\protected@xdef \cref@gcurrentlabel@temp {[\@tempa ][\arabic {##1}][\cref@result ]\csname p@##1\endcsname \csname the##1\endcsname }\aftergroup \firstaid@cref@smugglelabel } \AddToHook {label}[firstaid/cleveref] {\ifx \@currentcounter \@empty \else \firstaid@cref@updatelabeldata {\@currentcounter }\fi } }\__hook_next package/cleveref/after + package/cleveref/after -> \__hook_toplevel package/cleveref/after \FirstAidNeededT {cleveref}{sty}{....-..-.. v... Intelligent cross-referencing} {\def \cref@getref ##1##2{\expandafter \let \expandafter ##2\csname r@##1@cref\endcsname \expandafter \expandafter \expandafter \def \expandafter \expandafter \expandafter ##2\expandafter \expandafter \expandafter {\expandafter \@firstoffive ##2}}\def \cpageref@getref ##1##2{\expandafter \let \expandafter ##2\csname r@##1@cref\endcsname \expandafter \expandafter \expandafter \def \expandafter \expandafter \expandafter ##2\expandafter \expandafter \expandafter {\expandafter \@secondoffive ##2}}\AddToHook {begindocument}[cleveref]{\def \label@noarg ##1{\cref@old@label {##1}\@bsphack \edef \@tempa {{page}{\the \c@page }}\setcounter {page}{1}\edef \@tempb {\thepage }\expandafter \setcounter \@tempa \cref@constructprefix {page}{\cref@result }\protected@write \@auxout {}{\string \newlabel {##1@cref}{{\cref@currentlabel }{[\@tempb ][\arabic {page}][\cref@result ]\thepage }{}{}{}}}\@esphack }\def \label@optarg [##1]##2{\cref@old@label {##2}\@bsphack \edef \@tempa {{page}{\the \c@page }}\setcounter {page}{1}\edef \@tempb {\thepage }\expandafter \setcounter \@tempa \cref@constructprefix {page}{\cref@result }\protected@edef \cref@currentlabel {\expandafter \cref@override@label@type \cref@currentlabel \@nil {##1}}\protected@write \@auxout {}{\string \newlabel {##2@cref}{{\cref@currentlabel }{[\@tempb ][\arabic {page}][\cref@result ]\thepage }{}{}{}}}\@esphack }} \newcommand \firstaid@cref@smugglelabel {\let \cref@currentlabel \cref@gcurrentlabel@temp } \newcommand \firstaid@cref@updatelabeldata [1]{\cref@constructprefix {##1}{\cref@result }\@ifundefined {cref@##1@alias}{\def \@tempa {##1}}{\def \@tempa {\csname cref@##1@alias\endcsname }}\protected@xdef \cref@gcurrentlabel@temp {[\@tempa ][\arabic {##1}][\cref@result ]\csname p@##1\expandafter \endcsname \csname the##1\endcsname }\aftergroup \firstaid@cref@smugglelabel } \AddToHook {label}[firstaid/cleveref] {\ifx \@currentcounter \@empty \else \firstaid@cref@updatelabeldata {\@currentcounter }\fi } }\__hook_next package/cleveref/after package/arydshln/after -> \__hook_toplevel package/arydshln/after \FirstAidNeededT {arydshln}{sty}{....-..-.. v... } {\protected \def \adl@@vlineL ##1##2##3##4{\adl@ivline ##4\@nil {##1}{##2}\xdef \adl@colsL {\adl@colsL \@elt {##3}{\number \@tempcnta }{\number \@tempcntb }{\adl@dashcolor }{\adl@gapcolor }}}\protected \def \adl@@vlineR ##1##2##3##4{\adl@ivline ##4\@nil {##1}{##2}\xdef \adl@colsR {\@elt {##3}{\number \@tempcnta }{\number \@tempcntb }{\adl@dashcolor }{\adl@gapcolor }\adl@colsR }}\let \adl@act@@vlineL \adl@@vlineL \let \adl@act@@vlineR \adl@@vlineR }\__hook_next package/arydshln/after **** Add to hook some-hook (other-package) on input line ... <- code from other-package, Update code for hook 'para/before' on input line ...: @@ -364,6 +364,6 @@ All initialized (non-empty) hooks: package/acro/after -> \__hook_toplevel package/acro/after \FirstAidNeededT {acro}{sty}{....-..-.. v... typeset acronyms and other abbreviations (CN)} {\UseName {prop_new:c}{l__acro_tmpa_prop}\acsetup {patch/longtable=false}}\__hook_next package/acro/after package/chemformula/before -> \RequirePackage {l3keys2e}\__hook_toplevel package/chemformula/before \__hook_next package/chemformula/before package/chemnum/after -> \__hook_toplevel package/chemnum/after \FirstAidNeededT {chemnum}{sty}{....-..-.. v... a comprehensive approach for the numbering of chemical compounds (CN)} {\UseName {prop_new:c}{l__chemnum_tmpa_prop}}\__hook_next package/chemnum/after - package/cleveref/after -> \__hook_toplevel package/cleveref/after \FirstAidNeededT {cleveref}{sty}{....-..-.. v... Intelligent cross-referencing} {\def \cref@getref ##1##2{\expandafter \let \expandafter ##2\csname r@##1@cref\endcsname \expandafter \expandafter \expandafter \def \expandafter \expandafter \expandafter ##2\expandafter \expandafter \expandafter {\expandafter \@firstoffive ##2}}\def \cpageref@getref ##1##2{\expandafter \let \expandafter ##2\csname r@##1@cref\endcsname \expandafter \expandafter \expandafter \def \expandafter \expandafter \expandafter ##2\expandafter \expandafter \expandafter {\expandafter \@secondoffive ##2}}\AddToHook {begindocument}[cleveref]{\def \label@noarg ##1{\cref@old@label {##1}\@bsphack \edef \@tempa {{page}{\the \c@page }}\setcounter {page}{1}\edef \@tempb {\thepage }\expandafter \setcounter \@tempa \cref@constructprefix {page}{\cref@result }\protected@write \@auxout {}{\string \newlabel {##1@cref}{{\cref@currentlabel }{[\@tempb ][\arabic {page}][\cref@result ]\thepage }{}{}{}}}\@esphack }\def \label@optarg [##1]##2{\cref@old@label {##2}\@bsphack \edef \@tempa {{page}{\the \c@page }}\setcounter {page}{1}\edef \@tempb {\thepage }\expandafter \setcounter \@tempa \cref@constructprefix {page}{\cref@result }\protected@edef \cref@currentlabel {\expandafter \cref@override@label@type \cref@currentlabel \@nil {##1}}\protected@write \@auxout {}{\string \newlabel {##2@cref}{{\cref@currentlabel }{[\@tempb ][\arabic {page}][\cref@result ]\thepage }{}{}{}}}\@esphack }} \newcommand \firstaid@cref@smugglelabel {\let \cref@currentlabel \cref@gcurrentlabel@temp } \newcommand \firstaid@cref@updatelabeldata [1]{\cref@constructprefix {##1}{\cref@result }\@ifundefined {cref@##1@alias}{\def \@tempa {##1}}{\def \@tempa {\csname cref@##1@alias\endcsname }}\protected@xdef \cref@gcurrentlabel@temp {[\@tempa ][\arabic {##1}][\cref@result ]\csname p@##1\endcsname \csname the##1\endcsname }\aftergroup \firstaid@cref@smugglelabel } \AddToHook {label}[firstaid/cleveref] {\ifx \@currentcounter \@empty \else \firstaid@cref@updatelabeldata {\@currentcounter }\fi } }\__hook_next package/cleveref/after + package/cleveref/after -> \__hook_toplevel package/cleveref/after \FirstAidNeededT {cleveref}{sty}{....-..-.. v... Intelligent cross-referencing} {\def \cref@getref ##1##2{\expandafter \let \expandafter ##2\csname r@##1@cref\endcsname \expandafter \expandafter \expandafter \def \expandafter \expandafter \expandafter ##2\expandafter \expandafter \expandafter {\expandafter \@firstoffive ##2}}\def \cpageref@getref ##1##2{\expandafter \let \expandafter ##2\csname r@##1@cref\endcsname \expandafter \expandafter \expandafter \def \expandafter \expandafter \expandafter ##2\expandafter \expandafter \expandafter {\expandafter \@secondoffive ##2}}\AddToHook {begindocument}[cleveref]{\def \label@noarg ##1{\cref@old@label {##1}\@bsphack \edef \@tempa {{page}{\the \c@page }}\setcounter {page}{1}\edef \@tempb {\thepage }\expandafter \setcounter \@tempa \cref@constructprefix {page}{\cref@result }\protected@write \@auxout {}{\string \newlabel {##1@cref}{{\cref@currentlabel }{[\@tempb ][\arabic {page}][\cref@result ]\thepage }{}{}{}}}\@esphack }\def \label@optarg [##1]##2{\cref@old@label {##2}\@bsphack \edef \@tempa {{page}{\the \c@page }}\setcounter {page}{1}\edef \@tempb {\thepage }\expandafter \setcounter \@tempa \cref@constructprefix {page}{\cref@result }\protected@edef \cref@currentlabel {\expandafter \cref@override@label@type \cref@currentlabel \@nil {##1}}\protected@write \@auxout {}{\string \newlabel {##2@cref}{{\cref@currentlabel }{[\@tempb ][\arabic {page}][\cref@result ]\thepage }{}{}{}}}\@esphack }} \newcommand \firstaid@cref@smugglelabel {\let \cref@currentlabel \cref@gcurrentlabel@temp } \newcommand \firstaid@cref@updatelabeldata [1]{\cref@constructprefix {##1}{\cref@result }\@ifundefined {cref@##1@alias}{\def \@tempa {##1}}{\def \@tempa {\csname cref@##1@alias\endcsname }}\protected@xdef \cref@gcurrentlabel@temp {[\@tempa ][\arabic {##1}][\cref@result ]\csname p@##1\expandafter \endcsname \csname the##1\endcsname }\aftergroup \firstaid@cref@smugglelabel } \AddToHook {label}[firstaid/cleveref] {\ifx \@currentcounter \@empty \else \firstaid@cref@updatelabeldata {\@currentcounter }\fi } }\__hook_next package/cleveref/after package/arydshln/after -> \__hook_toplevel package/arydshln/after \FirstAidNeededT {arydshln}{sty}{....-..-.. v... } {\protected \def \adl@@vlineL ##1##2##3##4{\adl@ivline ##4\@nil {##1}{##2}\xdef \adl@colsL {\adl@colsL \@elt {##3}{\number \@tempcnta }{\number \@tempcntb }{\adl@dashcolor }{\adl@gapcolor }}}\protected \def \adl@@vlineR ##1##2##3##4{\adl@ivline ##4\@nil {##1}{##2}\xdef \adl@colsR {\@elt {##3}{\number \@tempcnta }{\number \@tempcntb }{\adl@dashcolor }{\adl@gapcolor }\adl@colsR }}\let \adl@act@@vlineL \adl@@vlineL \let \adl@act@@vlineR \adl@@vlineR }\__hook_next package/arydshln/after some-hook -> code to run when other-package is loaded,code from other-package,\__hook_toplevel some-hook \__hook_next some-hook diff --git a/required/firstaid/changes.txt b/required/firstaid/changes.txt index 3cdb776ef..2519b63e2 100644 --- a/required/firstaid/changes.txt +++ b/required/firstaid/changes.txt @@ -1,3 +1,7 @@ +2024-11-08 Ulrike Fischer + + * latex2e-first-aid-for-external-files.dtx: add missing \expandafter for issue #1544 + 2024-11-04 Ulrike Fischer * latex2e-first-aid-for-external-files.dtx: correct spurious space diff --git a/required/firstaid/latex2e-first-aid-for-external-files.dtx b/required/firstaid/latex2e-first-aid-for-external-files.dtx index 111c88c21..52ed35ce9 100644 --- a/required/firstaid/latex2e-first-aid-for-external-files.dtx +++ b/required/firstaid/latex2e-first-aid-for-external-files.dtx @@ -111,8 +111,8 @@ % \end{macrocode} % % \begin{macrocode} -\def\LaTeXFirstAidDate{2024/11/04} -\def\LaTeXFirstAidVersion{v1.1h} +\def\LaTeXFirstAidDate{2024/11/08} +\def\LaTeXFirstAidVersion{v1.1i} % \end{macrocode} % % \begin{macrocode} @@ -121,7 +121,7 @@ LaTeX kernel fixes to external files and packages] % \end{macrocode} % -% +% % \begin{macro}{\FirstAidNeededT} % This is a very simple help to ensure that we only apply first aid % to an unmodified package or class. It only works in the case the @@ -132,7 +132,7 @@ % assume that the package/class in question got updated by its % maintainer. % \begin{macrocode} -\ExplSyntaxOn +\ExplSyntaxOn \cs_new:Npn\FirstAidNeededT#1#2#3{ \exp_args:Ncx\str_if_eq:onF{ver@#1.#2}{#3} { \typeout{==>~ First~ Aid~ for~ #1.#2~ no~ longer~ applied!^^J @@ -147,14 +147,14 @@ \ExplSyntaxOff % \end{macrocode} % \end{macro} -% +% % \begin{macrocode} % % \end{macrocode} % % % \subsection{The \pkg{filehook} package first aid} -% +% % The \pkg{filehook} package implements hooks into file loading % commands. These days this is already provided by the kernel % albeit not with the same user interface. Until that package gets @@ -201,7 +201,7 @@ \newcommand\AtEndOfEveryFile [1] {\AddToHook{file/after}{#1}} % \end{macrocode} -% +% % \begin{macrocode} \newcommand\AtBeginOfIncludes [1] {\AddToHook{include/before}{#1}} @@ -210,14 +210,14 @@ \newcommand\AfterIncludes [1] {\AddToHook{include/after}{#1}} % \end{macrocode} -% +% % \begin{macrocode} \newcommand\AtBeginOfPackages [1] {\AddToHook{package/before}{#1}} \newcommand\AtEndOfPackages [1] {\AddToHook{package/after}{#1}} % \end{macrocode} -% +% % \begin{macrocode} \newcommand\AtBeginOfClasses [1] {\AddToHook{class/before}{#1}} @@ -232,7 +232,7 @@ {\AddToHook{file/#1/after}{#2}} % \end{macrocode} % -% Some commands offered a starred form +% Some commands offered a starred form % \begin{macrocode} \DeclareDocumentCommand \AtBeginOfPackageFile {smm} {\IfBooleanTF{#1}% @@ -242,7 +242,7 @@ {\AddToHook{package/#2/before}{#3}}% } % \end{macrocode} -% +% % \begin{macrocode} \DeclareDocumentCommand \AtEndOfPackageFile {smm} {\IfBooleanTF{#1}% @@ -254,7 +254,7 @@ % \end{macrocode} % % Are the * forms here of any use? I know they are use 3--4 times -% on CTAN but I wonder if those are real or mistaken usages. +% on CTAN but I wonder if those are real or mistaken usages. % \begin{macrocode} \DeclareDocumentCommand \AtBeginOfClassFile {smm} {\IfBooleanTF{#1}% @@ -271,7 +271,7 @@ {\AddToHook{class/#2/after}{#3}}% } % \end{macrocode} -% +% % \begin{macrocode} \newcommand\AtBeginOfIncludeFile [2] {\AddToHook{include/#1/before}{#2}} @@ -334,7 +334,7 @@ % \end{macrocode} % Undo overwriting \cs{shipout}: % \begin{macrocode} - \cs_gset_eq:NN \shipout \pgfpages@originalshipout + \cs_gset_eq:NN \shipout \pgfpages@originalshipout % \end{macrocode} % Instead overwrite the L3 programming layer name of the % primitive. This is really an absolute no-go, but for now the @@ -394,23 +394,23 @@ % \subsection{The \pkg{crop} package first aid} % % The crop packages fails currently due to two \LaTeX{} changes: -% It doesn't know that \cs{stockheight} and \cs{stockwidth} +% It doesn't know that \cs{stockheight} and \cs{stockwidth} % are now defined, and doesn't take into account that \cs{rlap} % is robust (https://github.com/rrthomas/crop/issues/2). % The first is addressed by setting the dimension if they are zero or % negative. For the second we locally change the meaning of \cs{protect} -% +% % \begin{macrocode} \AddToHook{file/crop.sty/after}[firstaid]{% \FirstAidNeededT{crop}{sty}{2017/11/19 1.10 crop marks (mf)}% {% - \ifdim\stockwidth > 0pt \else \stockwidth\paperwidth \fi - \ifdim\stockheight > 0pt \else \stockheight\paperheight \fi + \ifdim\stockwidth > 0pt \else \stockwidth\paperwidth \fi + \ifdim\stockheight > 0pt \else \stockheight\paperheight \fi \renewcommand*\CROP@genreflect[1]{% \leavevmode \dimen0\CROP@horigin \kern2\dimen0 - \begingroup + \begingroup \set@typeset@protect %change protect \reflectbox{% \hb@xt@\paperwidth{% @@ -500,7 +500,7 @@ % % So this needs to be removed as well by adding an additional % \cs{unskip}. -% +% % \begin{macrocode} \AddToHook{file/varwidth.sty/after}[firstaid]{% \FirstAidNeededT{varwidth}{sty}% @@ -513,7 +513,7 @@ \count@\lastpenalty\unpenalty \setbox\z@\lastbox \ifvoid\z@ \advance\sift@deathcycles\@ne \else \sift@deathcycles\z@ \fi - \ifnum\sift@deathcycles>33 + \ifnum\sift@deathcycles>33 \let\@vwid@sift\relax \PackageWarning{varwidth}{Failed to reprocess entire contents}% \fi @@ -564,23 +564,23 @@ % % \end{macrocode} % \subsection{The \pkg{underscore} first aid} -% +% % The \pkg{underscore} package makes the underscore active. This means that the % underscore can not be used in label and references unless the package option \texttt{strings} is used -% (which patches a selection of problematic commands like \cs{label} and \cs{ref}) -% or \pkg{babel} is used which redefines\footnote{unless the recommended option \texttt{safe=none} is used} +% (which patches a selection of problematic commands like \cs{label} and \cs{ref}) +% or \pkg{babel} is used which redefines\footnote{unless the recommended option \texttt{safe=none} is used} % a selection of problematic commands like \cs{@testdef} or \cs{@newl@bel}. -% -% With the new property commands the work-around do not work. We therefore make the +% +% With the new property commands the work-around do not work. We therefore make the % underscore protected and use \cs{ifincsname} to allow its use in csnames. -% +% % \begin{macrocode} %<*underscore-ltx> \ProvidesPackage{underscore-ltx}[2023/09/20 LaTeX firstaid to make underscore protected ] \begingroup \catcode`\_=\active - \protected\gdef _{% - \ifincsname % + \protected\gdef _{% + \ifincsname % \string_% \else \ifx\protect\@typeset@protect @@ -659,7 +659,7 @@ % % The \pkg{cleveref} package expects only two data containers % for its internal \cs{newlabel} command. This fails if -% \pkg{xr-hyper} is used which expands every \cs{newlabel} to +% \pkg{xr-hyper} is used which expands every \cs{newlabel} to % five data container and puts the file name into the last one. % \begin{macrocode} \AddToHook{package/cleveref/after}[firstaid]{% @@ -680,12 +680,12 @@ \expandafter\expandafter\expandafter\def% \expandafter\expandafter\expandafter#2% \expandafter\expandafter\expandafter{% - \expandafter\@secondoffive#2}}% <----------- five + \expandafter\@secondoffive#2}}% <----------- five % \end{macrocode} % We also need to redefine the internal label commands of cleveref. -% This must be done after \pkg{cleveref} has made its changes -% in \texttt{begindocument} so we add it to the same hook using -% the hook label used by \pkg{cleveref}. +% This must be done after \pkg{cleveref} has made its changes +% in \texttt{begindocument} so we add it to the same hook using +% the hook label used by \pkg{cleveref}. % This way it is guaranteed to overwrite the definitions. % \begin{macrocode} \AddToHook{begindocument}[cleveref]{% @@ -716,11 +716,12 @@ {\string\newlabel{#2@cref}{{\cref@currentlabel}% {[\@tempb][\arabic{page}][\cref@result]\thepage}{}{}{}}}% <------- five \@esphack}% - } + } % \end{macrocode} % \changes{v1.1g}{2024/10/16}{update cleveref data in label hook} +% \changes{v1.1i}{2024/11/08}{add expandafter, issue \#1544} % cleveref patches and redefines \cs{refstepcounter} so that a call updates its data. -% This fails if like e.g. in \pkg{longtable} the counter is stepped with +% This fails if like e.g. in \pkg{longtable} the counter is stepped with % \cs{@kernel@refstepcounter}. We therefore move the data setup into the label hook. % As the hook is in a group we have to smuggle the data out of it. % \url{https://tex.stackexchange.com/a/722909/2388} and issue \#1393 @@ -733,19 +734,19 @@ {\def\@tempa{\csname cref@#1@alias\endcsname}}% \protected@xdef\cref@gcurrentlabel@temp{% [\@tempa][\arabic{#1}][\cref@result]% - \csname p@#1\endcsname\csname the#1\endcsname}% + \csname p@#1\expandafter\endcsname\csname the#1\endcsname}% \aftergroup\firstaid@cref@smugglelabel } % \end{macrocode} -% we test if \cs{@currentcounter} is empty for unnumbered sections -% \changes{v1.1h}{2024/11/01}{fix spurious space} +% we test if \cs{@currentcounter} is empty for unnumbered sections +% \changes{v1.1h}{2024/11/01}{fix spurious space} % \begin{macrocode} \AddToHook{label}[firstaid/cleveref] {\ifx \@currentcounter\@empty \else \firstaid@cref@updatelabeldata{\@currentcounter}% - \fi} + \fi} }% } % \end{macrocode}