diff options
Diffstat (limited to 'macros/latex/contrib/pdfmanagement-testphase/hyperref-generic.dtx')
-rw-r--r-- | macros/latex/contrib/pdfmanagement-testphase/hyperref-generic.dtx | 121 |
1 files changed, 33 insertions, 88 deletions
diff --git a/macros/latex/contrib/pdfmanagement-testphase/hyperref-generic.dtx b/macros/latex/contrib/pdfmanagement-testphase/hyperref-generic.dtx index 47b957c2ec..c03d57a7fc 100644 --- a/macros/latex/contrib/pdfmanagement-testphase/hyperref-generic.dtx +++ b/macros/latex/contrib/pdfmanagement-testphase/hyperref-generic.dtx @@ -82,7 +82,7 @@ % }^^A % } % -% \date{Version 0.96b, released 2023-11-05} +% \date{Version 0.96c, released 2023-11-17} % % \maketitle % \begin{documentation} @@ -913,8 +913,8 @@ %^^A %% %^^A %% References (ref) %^^A %% *\@@_property_record:nn -%^^A %% *\@@_property_if_recorded:nn -%^^A %% *\@@_property_ref_undefined_warn:nn, +%^^A %% *\property_if_recorded:nn +%^^A %% *\property_ref_undefined_warn:nn, %^^A %% % helps to display key list messages %^^A %% \@@_clist_display:n %^^A %% @@ -956,11 +956,15 @@ %<@@=hyp> % \end{macrocode} % \begin{macrocode} -\ProvidesFile{hgeneric-testphase.def}[2023-11-05 v0.96b % +\ProvidesFile{hgeneric-testphase.def}[2023-11-17 v0.96c % generic Hyperref driver for the LaTeX PDF management testphase bundle] \RequirePackage{etoolbox} %why? % \end{macrocode} +% Temporary command definition, can be remove when hyperref is update too. +% \begin{macrocode} +\long\def\Hy@ReturnAfterFi#1\fi{\fi#1} +% \end{macrocode} % \begin{macrocode} \ExplSyntaxOn \file_input:n {hyperref-colorschemes.def} @@ -1535,85 +1539,28 @@ % \end{macrocode} % % \section{Reference and label commands} -% The code uses in older LaTeX the l3ref-tmp package which -% must have been loaded as pdfmanagement is a requirement. -% In newer LaTeX it uses the in-built property module. +% This uses the in-built property module. % % \begin{macro} % { % \@@_property_record:nn, -% \@@_property_if_recorded:nn, -% \@@_property_ref_undefined_warn:nn, -% \@@_property_ref:nn % } % \begin{macrocode} % -\cs_if_exist:NTF \property_new:nnnn - { -% \end{macrocode} -% At first a label command which adds the space commands from LaTeX: -% \begin{macrocode} - \cs_new_protected:Npn \@@_property_record:nn #1 #2 %label/attributes - { - \@bsphack - \property_record:nn{#1}{#2} - \@esphack - } -% \end{macrocode} -% This provides a conditional which tests if a label/property combination is known -% \begin{macrocode} - \prg_new_eq_conditional:NNn - \@@_property_if_recorded:nn \property_if_recorded:nn { T } -% \end{macrocode} -% This checks if the label/property is known and issues a warning if not. -% It then also triggers the standard rerun message. -% \begin{macrocode} - \cs_new_eq:NN \@@_property_ref_undefined_warn:nn \property_ref_undefined_warn:nn -% \end{macrocode} -% -% \begin{macrocode} - \cs_new_eq:NN \@@_property_ref:nn \property_ref:nn - } % \end{macrocode} -% and now the same with the older l3ref-tmp. -% This can go once LaTeX has been released. +% A label command which adds the space commands from LaTeX: % \begin{macrocode} - { - \cs_new_protected:Npn \@@_property_record:nn #1 #2 %label/attributes - { - \@bsphack - \ref_label:nn{#1}{#2} - \@esphack - } - - \prg_new_eq_conditional:NNn \@@_property_if_recorded:nn \ref_if_exist:nn { T } - - \cs_new_protected:Npn \@@_property_ref_undefined_warn:nn #1 #2 %label/attribute - { - \@@_property_if_recorded:nnF {#1}{#2} - { - \protect\G@refundefinedtrue - \@latex@warning - { - Reference~'\tl_to_str:n {#1}'~with~attribute~'\tl_to_str:n {#2}'~ - on~page~\thepage~\space undefined - } - } - } - - \cs_new:Npn \@@_property_ref:nn #1 #2 - { - \ref_value:nn{#1}{#2} - } - } +\cs_new_protected:Npn \@@_property_record:nn #1 #2 %label/attributes + { + \@bsphack + \property_record:nn{#1}{#2} + \@esphack + } % \end{macrocode} -% At last we generate a few variants. We use ee-variants as they already exist +% we generate a few variants. We use ee-variants as they already exist % in the module and once this is there it can go here. % \begin{macrocode} \cs_generate_variant:Nn \@@_property_record:nn {ee} -\prg_generate_conditional_variant:Nnn \@@_property_if_recorded:nn {ee} { T } -\cs_generate_variant:Nn \@@_property_ref_undefined_warn:nn {ee} -\cs_generate_variant:Nn \@@_property_ref:nn {ee} % \end{macrocode} % \end{macro} % \section{Variables} @@ -4248,11 +4195,8 @@ \prop_new:N \g_@@_AcroForm_CoFields_prop \prop_new:N \g_@@_AcroForm_Fields_prop -\let\HyField@afields\ltx@empty -\let\HyField@cofields\ltx@empty -%% UF test for old pdftex removed -%\let\HyField@AuxAddToFields\ltx@gobble -%\let\HyField@AuxAddToCoFields\ltx@gobbletwo +\let\HyField@afields\@empty +\let\HyField@cofields\@empty \def\HyField@AfterAuxOpen{\Hy@AtBeginDocument}% % the value doesn't matter, but with a prop we avoid duplicates and it is @@ -4288,7 +4232,7 @@ { \pdfannot_box_ref_last: } - \ifx\Fld@calculate@code\ltx@empty + \ifx\Fld@calculate@code\@empty \else \begingroup \Hy@safe@activestrue @@ -4375,29 +4319,30 @@ } } \ExplSyntaxOff -\let\@endForm\ltx@empty -\let\HyAnn@AbsPageLabel\ltx@empty -\let\Fld@pageobjref\ltx@empty +\let\@endForm\@empty +\let\HyAnn@AbsPageLabel\@empty +\let\Fld@pageobjref\@empty \ExplSyntaxOn \newcount\HyAnn@Count -\HyAnn@Count=\ltx@zero +\HyAnn@Count=\z@ \def\HyAnn@AbsPageLabel { - \global\advance\HyAnn@Count by\ltx@one + \global\advance\HyAnn@Count by\@ne %\zref@labelbyprops{HyAnn@\the\HyAnn@Count}{abspage}% %\zref@labelbylist {HyAnn@\the\HyAnn@Count} {l3pdf} %\zref@refused{HyAnn@\the\HyAnn@Count}% \@@_property_record:ee {HyAnn@\the\HyAnn@Count}{abspage} - \@@_property_ref_undefined_warn:ee {HyAnn@\the\HyAnn@Count}{abspage} + \property_ref_undefined_warn:ee {HyAnn@\the\HyAnn@Count}{abspage} }% +\prg_generate_conditional_variant:Nnn \property_if_recorded:nn {ee} {T} \def\Fld@pageobjref { - \@@_property_if_recorded:eeT {HyAnn@\the\HyAnn@Count}{abspage} + \property_if_recorded:eeT {HyAnn@\the\HyAnn@Count}{abspage} { /P~\pdf_pageobject_ref:e { - \@@_property_ref:ee{HyAnn@\the\HyAnn@Count}{abspage} + \property_ref:ee{HyAnn@\the\HyAnn@Count}{abspage} } } } @@ -4408,7 +4353,7 @@ %% check if options are missing. \def\@TextField[#1]#2{% parameters, label \def\Fld@name{#2}% - \let\Fld@default\ltx@empty + \let\Fld@default\@empty \let\Fld@value\@empty \def\Fld@width{\DefaultWidthofText}% \def\Fld@height{% @@ -4864,7 +4809,7 @@ \else \expandafter \Hy@pstringdef\csname Hy@esc@\string#2\endcsname{#2}% probably string-hex - \ltx@ReturnAfterFi{% + \Hy@ReturnAfterFi{% \Hy@@escapeform#3\@nil }% \fi @@ -5334,7 +5279,7 @@ \endgroup \H@old@schapter{#1}% } -\ltx@IfUndefined{@chapter}{}{% +\@ifundefined{@chapter}{}{% \let\Hy@org@chapter\@chapter \def\@chapter{% \def\Hy@next{% @@ -5344,7 +5289,7 @@ }% }% \ifnum\c@secnumdepth>\m@ne - \ltx@IfUndefined{if@mainmatter}% + \@ifundefined{if@mainmatter}% \iftrue{\csname if@mainmatter\endcsname}% \let\Hy@next\relax \fi |