diff options
author | Karl Berry <karl@freefriends.org> | 2023-10-27 19:58:21 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2023-10-27 19:58:21 +0000 |
commit | 3166e6ef8fb8bc54d43ef4c07ddaf9935f5e4857 (patch) | |
tree | 4edbc7846f7ee76cb3fa98769effb8d7ccdfaaf7 /Master/texmf-dist/tex | |
parent | 1bd4d7592d3d26ea9d6b670d267f81c11285920d (diff) |
tagpdf (27oct23)
git-svn-id: svn://tug.org/texlive/trunk@68676 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex')
18 files changed, 403 insertions, 273 deletions
diff --git a/Master/texmf-dist/tex/latex/tagpdf/tagpdf-base.sty b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-base.sty index c026c9924ca..ee7a468f62a 100644 --- a/Master/texmf-dist/tex/latex/tagpdf/tagpdf-base.sty +++ b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-base.sty @@ -25,7 +25,7 @@ %% and all files in that bundle must be distributed together. %% %% File: tagpdf.dtx -\ProvidesExplPackage {tagpdf-base} {2023-08-30} {0.98l} +\ProvidesExplPackage {tagpdf-base} {2023-10-27} {0.98m} {part of tagpdf - provide base, no-op versions of the user commands } \AddToHook{begindocument} { @@ -69,6 +69,7 @@ \tl_new:N \g__tag_struct_stack_current_tl \tl_gset:Nn \g__tag_struct_stack_current_tl {\int_use:N\c@g__tag_struct_abs_int} \prop_new:N \g__tag_struct_dest_num_prop + \cs_new:Npn \__tag_get_data_struct_num: { \g__tag_struct_stack_current_tl diff --git a/Master/texmf-dist/tex/latex/tagpdf/tagpdf-debug-generic.sty b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-debug-generic.sty index 87ef709e170..d0144d10021 100644 --- a/Master/texmf-dist/tex/latex/tagpdf/tagpdf-debug-generic.sty +++ b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-debug-generic.sty @@ -19,7 +19,7 @@ %% and all files in that bundle must be distributed together. %% %% File: tagpdf-mc-generic.dtx -\ProvidesExplPackage {tagpdf-debug-generic} {2023-08-30} {0.98l} +\ProvidesExplPackage {tagpdf-debug-generic} {2023-10-27} {0.98m} {part of tagpdf - debugging code related to marking chunks - generic mode} \cs_set_protected:Npn \tag_mc_begin:n #1 %#1 keyval { diff --git a/Master/texmf-dist/tex/latex/tagpdf/tagpdf-debug-lua.sty b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-debug-lua.sty index 5e5c76cf37c..3a08ff7bfed 100644 --- a/Master/texmf-dist/tex/latex/tagpdf/tagpdf-debug-lua.sty +++ b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-debug-lua.sty @@ -19,7 +19,7 @@ %% and all files in that bundle must be distributed together. %% %% File: tagpdf-mc-luacode.dtx -\ProvidesExplPackage {tagpdf-debug-lua} {2023-08-30} {0.98l} +\ProvidesExplPackage {tagpdf-debug-lua} {2023-10-27} {0.98m} {part of tagpdf - debugging code related to marking chunks - lua mode} \cs_set_protected:Npn \__tag_mc_handle_stash:n #1 %1 mcidnum { diff --git a/Master/texmf-dist/tex/latex/tagpdf/tagpdf-debug.sty b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-debug.sty index 8cfd07c1274..8946732aafb 100644 --- a/Master/texmf-dist/tex/latex/tagpdf/tagpdf-debug.sty +++ b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-debug.sty @@ -26,7 +26,7 @@ %% and all files in that bundle must be distributed together. %% %% File: tagpdf.dtx -\ProvidesExplPackage {tagpdf-debug} {2023-08-30} {0.98l} +\ProvidesExplPackage {tagpdf-debug} {2023-10-27} {0.98m} { debug code for tagpdf } \@ifpackageloaded{tagpdf}{}{\PackageWarning{tagpdf-debug}{tagpdf~not~loaded,~quitting}\endinput} \prop_gput:Nnn \g_msg_module_type_prop { tag / debug} {} @@ -189,12 +189,18 @@ %% File: tagpdf-tree.dtx %% File: tagpdf-roles.dtx %% File: tagpdf-struct.dtx +\cs_set_protected:Npn \__tag_struct_prop_gput:nnn #1 #2 #3 + { + \__tag_prop_gput:cnn + { g__tag_struct_#1_prop }{#2}{#3} +\prop_gput:cnn { g__tag_struct_debug_#1_prop } {#2} {#3} + } +\cs_generate_variant:Nn \__tag_struct_prop_gput:nnn {nne,nee,nno} + \prop_new:c { g__tag_struct_debug_0_prop } -\prop_gset_eq:cc - { g__tag_struct_debug_0_prop } - { g__tag_struct_0_prop } -\prop_gremove:cn { g__tag_struct_debug_0_prop }{Namespaces} \seq_new:c { g__tag_struct_debug_kids_0_seq } +\prop_gset_eq:cc { g__tag_struct_debug_0_prop }{ g__tag_struct_0_prop } +\prop_gremove:cn { g__tag_struct_debug_0_prop }{Namespaces} \cs_set_protected:Npn \__tag_struct_kid_mc_gput_right:nn #1 #2 %#1 structure num, #2 MCID absnum% { \__tag_seq_gput_right:cx @@ -239,7 +245,7 @@ { \pdf_object_ref_last: } - \seq_gput_right:cx + \seq_gput_right:ce { g__tag_struct_debug_kids_#1_seq } { OBJR~reference @@ -259,21 +265,23 @@ \exp_args:Ne \pdf_object_new:n { __tag/struct/\int_eval:n { \c@g__tag_struct_abs_int } } - \__tag_prop_gput:cno - { g__tag_struct_\int_eval:n { \c@g__tag_struct_abs_int }_prop } - { Type } - { /StructElem } + \__tag_struct_prop_gput:nnn + { \int_use:N \c@g__tag_struct_abs_int } + { Type } + { /StructElem } \tl_set:Nn \l__tag_struct_stack_parent_tmpa_tl {-1} \keys_set:nn { __tag / struct} { #1 } \__tag_struct_set_tag_info:eVV - { \int_eval:n {\c@g__tag_struct_abs_int} } + { \int_use:N \c@g__tag_struct_abs_int } \g__tag_struct_tag_tl \g__tag_struct_tag_NS_tl - \__tag_check_structure_has_tag:n { \int_eval:n {\c@g__tag_struct_abs_int} } + \__tag_check_structure_has_tag:n { \int_use:N \c@g__tag_struct_abs_int } \tl_if_empty:NF \l__tag_struct_key_label_tl { - \__tag_ref_label:en{tagpdfstruct-\l__tag_struct_key_label_tl}{struct} + \__tag_property_record:eV + {tagpdfstruct-\l__tag_struct_key_label_tl} + \c__tag_property_struct_clist } \int_compare:nNnT { \l__tag_struct_stack_parent_tmpa_tl } = { -1 } { @@ -290,12 +298,12 @@ \g__tag_struct_tag_NS_tl \l__tag_struct_roletag_tl \l__tag_struct_roletag_NS_tl - \__tag_prop_gput:cnx - { g__tag_struct_\int_eval:n {\c@g__tag_struct_abs_int}_prop } - { rolemap } - { - {\l__tag_struct_roletag_tl}{\l__tag_struct_roletag_NS_tl} - } + \__tag_struct_prop_gput:nne + { \int_use:N \c@g__tag_struct_abs_int } + { rolemap } + { + {\l__tag_struct_roletag_tl}{\l__tag_struct_roletag_NS_tl} + } \str_case:VnTF \l__tag_struct_roletag_tl { {Part} {} @@ -308,8 +316,8 @@ { parentrole } \l__tag_get_tmpc_tl { - \__tag_prop_gput:cno - { g__tag_struct_\int_eval:n {\c@g__tag_struct_abs_int}_prop } + \__tag_struct_prop_gput:nno + { \int_use:N \c@g__tag_struct_abs_int } { parentrole } { \l__tag_get_tmpc_tl @@ -317,14 +325,14 @@ } } { - \__tag_prop_gput:cnx - { g__tag_struct_\int_eval:n {\c@g__tag_struct_abs_int}_prop } + \__tag_struct_prop_gput:nne + { \int_use:N \c@g__tag_struct_abs_int } { parentrole } { {\l__tag_struct_roletag_tl}{\l__tag_struct_roletag_NS_tl} } } - \seq_gpush:Nx \g__tag_struct_tag_stack_seq + \seq_gpush:Ne \g__tag_struct_tag_stack_seq {{\g__tag_struct_tag_tl}{\l__tag_struct_roletag_tl}} \tl_gset:NV \g__tag_struct_stack_current_tl \c@g__tag_struct_abs_int %\seq_show:N \g__tag_struct_stack_seq @@ -347,7 +355,7 @@ { g__tag_struct_ \l__tag_struct_stack_parent_tmpa_tl _prop} {S} \l__tag_tmpa_tl - \msg_warning:nnxxx + \msg_warning:nneee { tag } {role-parent-child} { \l__tag_get_parent_tmpa_tl/\l__tag_get_parent_tmpb_tl } @@ -362,12 +370,12 @@ \cs_gset_eq:NN \g__tag_struct_tag_tl \l__tag_role_remap_tag_tl \cs_gset_eq:NN \g__tag_struct_tag_NS_tl \l__tag_role_remap_NS_tl \__tag_struct_set_tag_info:eVV - { \int_eval:n {\c@g__tag_struct_abs_int} } + { \int_use:N \c@g__tag_struct_abs_int } \g__tag_struct_tag_tl \g__tag_struct_tag_NS_tl } - \__tag_prop_gput:cnx - { g__tag_struct_\int_eval:n {\c@g__tag_struct_abs_int}_prop } + \__tag_struct_prop_gput:nne + { \int_use:N \c@g__tag_struct_abs_int } { P } { \pdf_object_ref:e { __tag/struct/\l__tag_struct_stack_parent_tmpa_tl } @@ -375,7 +383,7 @@ %record this structure as kid: %\tl_show:N \g__tag_struct_stack_current_tl %\tl_show:N \l__tag_struct_stack_parent_tmpa_tl - \__tag_struct_kid_struct_gput_right:xx + \__tag_struct_kid_struct_gput_right:ee { \l__tag_struct_stack_parent_tmpa_tl } { \g__tag_struct_stack_current_tl } %\prop_show:c { g__tag_struct_\g__tag_struct_stack_current_tl _prop } @@ -384,7 +392,7 @@ \prop_gset_eq:cc { g__tag_struct_debug_\int_eval:n {\c@g__tag_struct_abs_int}_prop } { g__tag_struct_\int_eval:n {\c@g__tag_struct_abs_int}_prop } - \prop_gput:cnx + \prop_gput:cne { g__tag_struct_debug_\int_eval:n {\c@g__tag_struct_abs_int}_prop } { P } { @@ -395,7 +403,7 @@ \l__tag_get_parent_tmpa_tl } } - \prop_gput:cnx + \prop_gput:cne { g__tag_struct_debug_\int_eval:n {\c@g__tag_struct_abs_int}_prop } { NS } { \g__tag_struct_tag_NS_tl } @@ -428,11 +436,11 @@ } \seq_get:NNT \g__tag_struct_tag_stack_seq \l__tag_tmpa_tl { - \tl_gset:Nx \g__tag_struct_tag_tl + \tl_gset:Ne \g__tag_struct_tag_tl { \exp_last_unbraced:NV\use_i:nn \l__tag_tmpa_tl } \prop_get:NVNT\g__tag_role_tags_NS_prop \g__tag_struct_tag_tl\l__tag_tmpa_tl { - \tl_gset:Nx \g__tag_struct_tag_NS_tl { \l__tag_tmpa_tl } + \tl_gset:Ne \g__tag_struct_tag_NS_tl { \l__tag_tmpa_tl } } } \__tag_debug_struct_end_insert: @@ -450,36 +458,89 @@ \__tag_check_if_active_struct:T { \prop_if_exist:cTF - { g__tag_struct_\__tag_ref_value:enn{tagpdfstruct-#1}{tagstruct}{unknown}_prop } % + { g__tag_struct_\__tag_property_ref:enn{tagpdfstruct-#1}{tagstruct}{unknown}_prop } % { \__tag_check_struct_used:n {#1} %add the label structure as kid to the current structure (can be the root) - \__tag_struct_kid_struct_gput_right:xx + \__tag_struct_kid_struct_gput_right:ee { \g__tag_struct_stack_current_tl } - { \__tag_ref_value:enn{tagpdfstruct-#1}{tagstruct}{0} } + { \__tag_property_ref:enn{tagpdfstruct-#1}{tagstruct}{0} } %add the current structure to the labeled one as parents \__tag_prop_gput:cnx - { g__tag_struct_\__tag_ref_value:enn{tagpdfstruct-#1}{tagstruct}{0}_prop } + { g__tag_struct_\__tag_property_ref:enn{tagpdfstruct-#1}{tagstruct}{0}_prop } { P } { \pdf_object_ref:e { __tag/struct/\g__tag_struct_stack_current_tl } } - \prop_gset_eq:cc - { g__tag_struct_debug_\__tag_ref_value:enn{tagpdfstruct-#1}{tagstruct}{0}_prop } - { g__tag_struct_\__tag_ref_value:enn{tagpdfstruct-#1}{tagstruct}{0}_prop } - \prop_gput:cnx - { g__tag_struct_debug_\__tag_ref_value:enn{tagpdfstruct-#1}{tagstruct}{0}_prop } + \prop_gput:cne + { g__tag_struct_debug_\__tag_property_ref:enn{tagpdfstruct-#1}{tagstruct}{0}_prop } + { P } + { + parent~structure:~\g__tag_struct_stack_current_tl\c_space_tl=~ + \g__tag_struct_tag_tl + } + \__tag_struct_get_parentrole:eNN + {\__tag_property_ref:enn{tagpdfstruct-#1}{tagstruct}{0}} + \l__tag_tmpa_tl + \l__tag_tmpb_tl + \__tag_check_parent_child:VVVVN + \g__tag_struct_tag_tl + \g__tag_struct_tag_NS_tl + \l__tag_tmpa_tl + \l__tag_tmpb_tl + \l__tag_parent_child_check_tl + \int_compare:nNnT {\l__tag_parent_child_check_tl}<0 + { + \cs_set_eq:NN \l__tag_role_remap_tag_tl \g__tag_struct_tag_tl + \cs_set_eq:NN \l__tag_role_remap_NS_tl \g__tag_struct_tag_NS_tl + \__tag_role_remap: + \cs_gset_eq:NN \g__tag_struct_tag_tl \l__tag_role_remap_tag_tl + \cs_gset_eq:NN \g__tag_struct_tag_NS_tl \l__tag_role_remap_NS_tl + \__tag_struct_set_tag_info:eVV + { \int_use:N \c@g__tag_struct_abs_int } + \g__tag_struct_tag_tl + \g__tag_struct_tag_NS_tl + } + } + { + \msg_warning:nnn{ tag }{struct-label-unknown}{#1} + } + } + } +\cs_set_protected:Npn \tag_struct_use_num:n #1 %#1 is structure number + { + \__tag_check_if_active_struct:T + { + \prop_if_exist:cTF + { g__tag_struct_#1_prop } % + { + \prop_get:cnNT + {g__tag_struct_#1_prop} + {P} + \l__tag_tmpa_tl + { + \msg_warning:nnn { tag } {struct-used-twice} {#1} + } + %add the label structure as kid to the current structure (can be the root) + \__tag_struct_kid_struct_gput_right:ee + { \g__tag_struct_stack_current_tl } + { #1 } + %add the current structure to the labeled one as parents + \__tag_struct_prop_gput:nne + { #1 } + { P } + { + \pdf_object_ref:e { __tag/struct/\g__tag_struct_stack_current_tl } + } + \prop_gput:cne + { g__tag_struct_debug_#1_prop } { P } { parent~structure:~\g__tag_struct_stack_current_tl\c_space_tl=~ \g__tag_struct_tag_tl } - \prop_gput:cnx - { g__tag_struct_debug_\int_eval:n {\c@g__tag_struct_abs_int}_prop } - { NS } - { \g__tag_struct_tag_NS_tl } \__tag_struct_get_parentrole:eNN - {\__tag_ref_value:enn{tagpdfstruct-#1}{tagstruct}{0}} + {#1} \l__tag_tmpa_tl \l__tag_tmpb_tl \__tag_check_parent_child:VVVVN @@ -496,7 +557,7 @@ \cs_gset_eq:NN \g__tag_struct_tag_tl \l__tag_role_remap_tag_tl \cs_gset_eq:NN \g__tag_struct_tag_NS_tl \l__tag_role_remap_NS_tl \__tag_struct_set_tag_info:eVV - { \int_eval:n {\c@g__tag_struct_abs_int} } + { \int_use:N \c@g__tag_struct_abs_int } \g__tag_struct_tag_tl \g__tag_struct_tag_NS_tl } diff --git a/Master/texmf-dist/tex/latex/tagpdf/tagpdf-luatex.def b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-luatex.def index 5c0351d1fa0..4d4113210b9 100644 --- a/Master/texmf-dist/tex/latex/tagpdf/tagpdf-luatex.def +++ b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-luatex.def @@ -19,7 +19,7 @@ %% and all files in that bundle must be distributed together. %% %% File: tagpdf-backend.dtx -\ProvidesExplFile {tagpdf-luatex.def} {2023-08-30} {0.98l} +\ProvidesExplFile {tagpdf-luatex.def} {2023-10-27} {0.98m} {tagpdf~driver~for~luatex} { \fontencoding{TU}\fontfamily{lmr}\fontseries{m}\fontshape{n}\fontsize{10pt}{10pt}\selectfont diff --git a/Master/texmf-dist/tex/latex/tagpdf/tagpdf-mc-code-generic.sty b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-mc-code-generic.sty index d7d065980bd..c6aa8b5fc86 100644 --- a/Master/texmf-dist/tex/latex/tagpdf/tagpdf-mc-code-generic.sty +++ b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-mc-code-generic.sty @@ -19,7 +19,7 @@ %% and all files in that bundle must be distributed together. %% %% File: tagpdf-mc-generic.dtx -\ProvidesExplPackage {tagpdf-mc-code-generic} {2023-08-30} {0.98l} +\ProvidesExplPackage {tagpdf-mc-code-generic} {2023-10-27} {0.98m} {part of tagpdf - code related to marking chunks - generic mode} \tl_new:N \l__tag_mc_ref_abspage_tl @@ -251,11 +251,11 @@ \cs_set_protected:Npn \__tag_mc_bdc_mcid:nn #1 #2 { \int_gincr:N \c@g__tag_MCID_abs_int - \__tag_ref_label:en + \__tag_property_record:eV { mcid-\int_use:N \c@g__tag_MCID_abs_int } - {mc} + \c__tag_property_mc_clist \__tag_mc_bdc_shipout:ee {#1} { @@ -267,7 +267,7 @@ { \msg_new:nnn { tagpdf } { old-engine } { - The~engine~or~the~PDF management~is~too~old or\\ + The~engine~or~the~PDF management~is~too~old~or\\ delayed~shipout~has~been~disabled.\\ Fast~numbering~of~MC-chunks~not~available.\\ More~compilations~will~be~needed~in~generic~mode. @@ -276,14 +276,14 @@ \__tag_prop_new:N \g__tag_MCID_byabspage_prop \int_new:N \g__tag_MCID_tmp_bypage_int \cs_generate_variant:Nn \__tag_mc_bdc:nn {nx} - \ref_attribute_gset:nnnn {tagmcid } {0} { now } - { \int_use:N \g__tag_MCID_tmp_bypage_int } + \__tag_property_gset:nnnn {tagmcid } { now } + {0} { \int_use:N \g__tag_MCID_tmp_bypage_int } \cs_new_protected:Npn \__tag_mc_bdc_mcid:nn #1 #2 { \int_gincr:N \c@g__tag_MCID_abs_int \tl_set:Nx \l__tag_mc_ref_abspage_tl { - \__tag_ref_value:enn %3 args + \__tag_property_ref:enn %3 args { mcid-\int_use:N \c@g__tag_MCID_abs_int } @@ -312,11 +312,11 @@ { \l__tag_mc_ref_abspage_tl } {1} } - \__tag_ref_label:en + \__tag_property_record:eV { mcid-\int_use:N \c@g__tag_MCID_abs_int } - { mc } + \c__tag_property_mc_clist \__tag_mc_bdc:nx {#1} { /MCID~\int_eval:n { \g__tag_MCID_tmp_bypage_int }~ \exp_not:n { #2 } } diff --git a/Master/texmf-dist/tex/latex/tagpdf/tagpdf-mc-code-lua.sty b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-mc-code-lua.sty index 1a9936f60c8..9167652ac6c 100644 --- a/Master/texmf-dist/tex/latex/tagpdf/tagpdf-mc-code-lua.sty +++ b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-mc-code-lua.sty @@ -19,7 +19,7 @@ %% and all files in that bundle must be distributed together. %% %% File: tagpdf-mc-luacode.dtx -\ProvidesExplPackage {tagpdf-mc-code-lua} {2023-08-30} {0.98l} +\ProvidesExplPackage {tagpdf-mc-code-lua} {2023-10-27} {0.98m} {tagpdf - mc code only for the luamode } \hook_gput_code:nnn{begindocument}{tagpdf/mc} { diff --git a/Master/texmf-dist/tex/latex/tagpdf/tagpdf-ns-latex-book.def b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-ns-latex-book.def index 469d8cd5b89..eb23d7191e7 100644 --- a/Master/texmf-dist/tex/latex/tagpdf/tagpdf-ns-latex-book.def +++ b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-ns-latex-book.def @@ -19,7 +19,7 @@ %% and all files in that bundle must be distributed together. %% %% File: tagpdf-data.dtx -%% \ProvidesExplFile {tagpdf-ns-latex-book.def} {2023-08-30} {0.98l} +%% \ProvidesExplFile {tagpdf-ns-latex-book.def} {2023-10-27} {0.98m} %% {latex-book} {https://www.latex-project.org/ns/book/2022}{} chapter, H1,pdf2, section, H2,pdf2, diff --git a/Master/texmf-dist/tex/latex/tagpdf/tagpdf-ns-latex-inline.def b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-ns-latex-inline.def index c46c4fa6129..70fb1ac7cf1 100644 --- a/Master/texmf-dist/tex/latex/tagpdf/tagpdf-ns-latex-inline.def +++ b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-ns-latex-inline.def @@ -19,7 +19,7 @@ %% and all files in that bundle must be distributed together. %% %% File: tagpdf-data.dtx -%% \ProvidesExplFile {tagpdf-ns-latex-inline.def} {2023-08-30} {0.98l} +%% \ProvidesExplFile {tagpdf-ns-latex-inline.def} {2023-10-27} {0.98m} %% {latex-inline} {https://www.latex-project.org/ns/inline/2022}{} chapter, Span, pdf2, section, Span, pdf2, diff --git a/Master/texmf-dist/tex/latex/tagpdf/tagpdf-ns-latex.def b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-ns-latex.def index b83a263de52..754408dbc16 100644 --- a/Master/texmf-dist/tex/latex/tagpdf/tagpdf-ns-latex.def +++ b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-ns-latex.def @@ -19,7 +19,7 @@ %% and all files in that bundle must be distributed together. %% %% File: tagpdf-data.dtx -%% \ProvidesExplFile {tagpdf-ns-latex.def} {2023-08-30} {0.98l} +%% \ProvidesExplFile {tagpdf-ns-latex.def} {2023-10-27} {0.98m} %% {latex} {https://www.latex-project.org/ns/dflt/2022}{} title, Title, pdf2, part, Title, pdf2, diff --git a/Master/texmf-dist/tex/latex/tagpdf/tagpdf-ns-mathml.def b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-ns-mathml.def index 94a527ac719..e0a3aa6b842 100644 --- a/Master/texmf-dist/tex/latex/tagpdf/tagpdf-ns-mathml.def +++ b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-ns-mathml.def @@ -19,7 +19,7 @@ %% and all files in that bundle must be distributed together. %% %% File: tagpdf-data.dtx -%% \ProvidesExplFile {tagpdf-ns-mathml.def} {2023-08-30} {0.98l} +%% \ProvidesExplFile {tagpdf-ns-mathml.def} {2023-10-27} {0.98m} abs,abs,mathml, and,and,mathml, annotation,annotation,mathml, diff --git a/Master/texmf-dist/tex/latex/tagpdf/tagpdf-ns-pdf.def b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-ns-pdf.def index dd901d7081a..18c676a1104 100644 --- a/Master/texmf-dist/tex/latex/tagpdf/tagpdf-ns-pdf.def +++ b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-ns-pdf.def @@ -19,7 +19,7 @@ %% and all files in that bundle must be distributed together. %% %% File: tagpdf-data.dtx -%% \ProvidesExplFile {tagpdf-ns-pdf.def} {2023-08-30} {0.98l} +%% \ProvidesExplFile {tagpdf-ns-pdf.def} {2023-10-27} {0.98m} %% {pdf} {http://iso.org/pdf/ssn}{} StructTreeRoot,StructTreeRoot,pdf,D, Document,Document,pdf,D, diff --git a/Master/texmf-dist/tex/latex/tagpdf/tagpdf-ns-pdf2.def b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-ns-pdf2.def index 079675945b6..76c249b8c59 100644 --- a/Master/texmf-dist/tex/latex/tagpdf/tagpdf-ns-pdf2.def +++ b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-ns-pdf2.def @@ -19,7 +19,7 @@ %% and all files in that bundle must be distributed together. %% %% File: tagpdf-data.dtx -%% \ProvidesExplFile {tagpdf-ns-pdf2.def} {2023-08-30} {0.98l} +%% \ProvidesExplFile {tagpdf-ns-pdf2.def} {2023-10-27} {0.98m} %% {pdf2} {http://iso.org/pdf2/ssn}{} Document,Document,pdf2,D, Part,Part,pdf2,G, diff --git a/Master/texmf-dist/tex/latex/tagpdf/tagpdf-parent-child-2.csv b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-parent-child-2.csv index 37a3f74a6fb..0daead0d9f4 100644 --- a/Master/texmf-dist/tex/latex/tagpdf/tagpdf-parent-child-2.csv +++ b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-parent-child-2.csv @@ -19,7 +19,7 @@ %% and all files in that bundle must be distributed together. %% %% File: tagpdf-data.dtx -%% \ProvidesExplFile {tagpdf-parent-child-2.csv} {2023-08-30} {0.98l} +%% \ProvidesExplFile {tagpdf-parent-child-2.csv} {2023-10-27} {0.98m} ,,,StructTreeRoot,Document,DocumentFragment,Art,Part,Div,Sect,Aside,BlockQuote,NonStruct,TOC,TOCI,Index,Private,Title,Sub,Quote,Note,Reference,BibEntry,P,Hn,H,Lbl,Code,Em,Strong,Span,Link,Annot,Form,Ruby,RB,RT,RP,Warichu,WT,WP,FENote,L,LI,LBody,Table,TR,TH,TD,THead,TBody,TFoot,Caption,Figure,Formula,math,mathml,Artifact,MC Document,both,document level,1,0..n,0..n,∅,‡,‡,∅,0..n,0..n,‡,∅,∅,∅,0..n,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,0..n,∅ DocumentFragment,2.0,document level,∅,0..n,0..n,0..n,‡,‡,0..n,0..n,0..n,‡,∅,∅,∅,0..n,∅,∅,∅,∅*,∅,∅,∅,∅,∅,∅,∅*,∅,∅,∅,∅*,∅*,∅,∅,∅,∅,∅,∅,∅,∅,∅*,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅*,∅,∅,∅,∅,0..n,∅ diff --git a/Master/texmf-dist/tex/latex/tagpdf/tagpdf-parent-child.csv b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-parent-child.csv index 299d2906184..3a5e8eee93e 100644 --- a/Master/texmf-dist/tex/latex/tagpdf/tagpdf-parent-child.csv +++ b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-parent-child.csv @@ -19,7 +19,7 @@ %% and all files in that bundle must be distributed together. %% %% File: tagpdf-data.dtx -%% \ProvidesExplFile {tagpdf-parent-child.csv} {2023-08-30} {0.98l} +%% \ProvidesExplFile {tagpdf-parent-child.csv} {2023-10-27} {0.98m} ,,,StructTreeRoot,Document,Art,Part,Div,Sect,BlockQuote,NonStruct,TOC,TOCI,Index,Private,Quote,Note,Reference,BibEntry,P,Hn,H,Lbl,Code,Span,Link,Annot,Form,Ruby,RB,RT,RP,Warichu,WT,WP,L,LI,LBody,Table,TR,TH,TD,THead,TBody,TFoot,Caption,Figure,Formula,MC Document,both,document level,1,0..n,∅,‡,‡,∅,0..n,‡,∅,∅,∅,0..n,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅ Art,1.7,grouping,∅,0..n,∅,‡,‡,0..n,0..n,‡,∅,∅,∅,0..n,∅,0..n,∅,∅,∅,0..1,0..1,∅,∅,∅,0..n,0..n,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,0..n,∅,∅,0..n,0..n,∅,∅,∅,0..n,0..n,∅,∅ diff --git a/Master/texmf-dist/tex/latex/tagpdf/tagpdf.lua b/Master/texmf-dist/tex/latex/tagpdf/tagpdf.lua index c499499e793..abfc31bc409 100644 --- a/Master/texmf-dist/tex/latex/tagpdf/tagpdf.lua +++ b/Master/texmf-dist/tex/latex/tagpdf/tagpdf.lua @@ -24,8 +24,8 @@ local ProvidesLuaModule = { name = "tagpdf", - version = "0.98l", --TAGVERSION - date = "2023-08-30", --TAGDATE + version = "0.98m", --TAGVERSION + date = "2023-10-27", --TAGDATE description = "tagpdf lua code", license = "The LATEX Project Public License 1.3c" } diff --git a/Master/texmf-dist/tex/latex/tagpdf/tagpdf.sty b/Master/texmf-dist/tex/latex/tagpdf/tagpdf.sty index 8a21cf2a4bc..8b32f11ab51 100644 --- a/Master/texmf-dist/tex/latex/tagpdf/tagpdf.sty +++ b/Master/texmf-dist/tex/latex/tagpdf/tagpdf.sty @@ -28,7 +28,7 @@ %% and all files in that bundle must be distributed together. %% %% File: tagpdf.dtx -\ProvidesExplPackage {tagpdf} {2023-08-30} {0.98l} +\ProvidesExplPackage {tagpdf} {2023-10-27} {0.98m} { A package to experiment with pdf tagging } \bool_if:nF @@ -67,43 +67,45 @@ \RequirePackage{l3ref-tmp} \RequirePackage{tagpdf-base} - \cs_new_protected:Npn \__tag_lastpagelabel: - { - \legacy_if:nT { @filesw } - { - \exp_args:NNnx \exp_args:NNx\iow_now:Nn \@auxout - { - \token_to_str:N \newlabeldata - {__tag_LastPage} - { - {abspage} { \int_use:N \g_shipout_readonly_int} - {tagmcabs}{ \int_use:N \c@g__tag_MCID_abs_int } - {tagstruct}{\int_use:N \c@g__tag_struct_abs_int } - } - } - } - } - +\cs_if_exist:NTF \property_new:nnnn + { + \cs_new_protected:Npn \__tag_lastpagelabel: + { + \legacy_if:nT { @filesw } + { + \exp_args:NNnx \exp_args:NNx\iow_now:Nn \@auxout + { + \token_to_str:N \new@label@record + {@tag@LastPage} + { + {abspage} { \int_use:N \g_shipout_readonly_int} + {tagmcabs}{ \int_use:N \c@g__tag_MCID_abs_int } + {tagstruct}{\int_use:N \c@g__tag_struct_abs_int } + } + } + } + } + } + { + \cs_new_protected:Npn \__tag_lastpagelabel: + { + \legacy_if:nT { @filesw } + { + \exp_args:NNnx \exp_args:NNx\iow_now:Nn \@auxout + { + \token_to_str:N \newlabeldata + {@tag@LastPage} + { + {abspage} { \int_use:N \g_shipout_readonly_int} + {tagmcabs}{ \int_use:N \c@g__tag_MCID_abs_int } + {tagstruct}{\int_use:N \c@g__tag_struct_abs_int } + } + } + } + } + } \AddToHook{enddocument/afterlastpage} {\__tag_lastpagelabel:} - \cs_if_exist:NF \ref_value:nnn - { - \cs_new:Npn \ref_value:nnn #1#2#3 - { - \exp_args:Nee - \__ref_value:nnn - { \tl_to_str:n {#1} } { \tl_to_str:n {#2} } {#3} - } - \cs_new:Npn \__ref_value:nnn #1#2#3 - { - \tl_if_exist:cTF { g__ref_label_ #1 _ #2 _tl } - { \tl_use:c { g__ref_label_ #1 _ #2 _tl } } - { - #3 - } - } - } - \tl_new:N \l__tag_tmpa_tl \tl_new:N \l__tag_tmpb_tl \tl_new:N \l__tag_get_tmpc_tl @@ -117,8 +119,8 @@ \int_new:N \l__tag_tmpa_int \box_new:N \l__tag_tmpa_box \box_new:N \l__tag_tmpb_box -\clist_const:Nn \c__tag_refmc_clist {tagabspage,tagmcabs,tagmcid} -\clist_const:Nn \c__tag_refstruct_clist {tagstruct,tagstructobj} +\clist_const:Nn \c__tag_property_mc_clist {tagabspage,tagmcabs,tagmcid} +\clist_const:Nn \c__tag_property_struct_clist {tagstruct,tagstructobj} \int_new:N \l__tag_loglevel_int \bool_new:N \g__tag_active_space_bool \bool_new:N \g__tag_active_mc_bool @@ -139,46 +141,91 @@ \cs_generate_variant:Nn \prop_gput:Nnn {Nxx,Nen} \cs_generate_variant:Nn \prop_put:Nnn {Nxx} \cs_generate_variant:Nn \prop_item:Nn {No,Ne} -\cs_generate_variant:Nn \ref_label:nn { nv } \cs_generate_variant:Nn \seq_set_split:Nnn{Nne} \cs_generate_variant:Nn \str_set_convert:Nnnn {Nonn, Noon, Nnon } \cs_generate_variant:Nn \clist_map_inline:nn {on} - -\ref_attribute_gset:nnnn { tagstruct } {0} { now } - { \int_use:N \c@g__tag_struct_abs_int } -\ref_attribute_gset:nnnn { tagstructobj } {} { now } +\cs_if_exist:NTF \property_new:nnnn { - \pdf_object_if_exist:eT {__tag/struct/\int_use:N \c@g__tag_struct_abs_int} + \cs_new_eq:NN \__tag_property_new:nnnn \property_new:nnnn + \cs_new_eq:NN \__tag_property_gset:nnnn \property_gset:nnnn + \cs_new_eq:NN \__tag_property_ref:nnn \property_ref:nnn + \cs_new_eq:NN \__tag_property_ref:nn \property_ref:nn + \cs_new_protected:Npn \__tag_property_record:nn #1#2 { - \pdf_object_ref:e{__tag/struct/\int_use:N \c@g__tag_struct_abs_int} + \@bsphack + \property_record:nn{#1}{#2} + \@esphack } } -\ref_attribute_gset:nnnn { tagabspage } {0} { shipout } - { \int_use:N \g_shipout_readonly_int } -\ref_attribute_gset:nnnn { tagmcabs } {0} { now } - { \int_use:N \c@g__tag_MCID_abs_int } - -\flag_new:n { __tag/mcid } -\ref_attribute_gset:nnnn {tagmcid } {0} { shipout } - { \flag_height:n { __tag/mcid } } - -\cs_new_protected:Npn \__tag_ref_label:nn #1 #2 %#1 label, #2 name of list mc or struct { - \@bsphack - \ref_label:nv {#1}{c__tag_ref#2_clist} - \@esphack + \cs_new_protected:Npn \__tag_property_new:nnnn #1 #2 #3 #4 + { + \ref_attribute_gset:nnnn {#1}{#3}{#2}{#4} + } + \cs_new_protected:Npn \__tag_property_gset:nnnn #1 #2 #3 #4 + { + \ref_attribute_gset:nnnn {#1}{#3}{#2}{#4} + } + \cs_new:Npn \__tag_property_ref:nnn #1#2#3 + { + \exp_args:Nee + \__ref_value:nnn + { \tl_to_str:n {#1} } { \tl_to_str:n {#2} } {#3} + } + \cs_new:Npn \__ref_value:nnn #1#2#3 + { + \tl_if_exist:cTF { g__ref_label_ #1 _ #2 _tl } + { \tl_use:c { g__ref_label_ #1 _ #2 _tl } } + { + #3 + } + } + \cs_new_eq:NN \__tag_property_ref:nn \ref_value:nn + \cs_new_protected:Npn \__tag_property_record:nn #1#2 + { + \@bsphack + \ref_label:nn {#1}{#2} + \@esphack + } + \providecommand\new@label@record[2]{} } -\cs_generate_variant:Nn \__tag_ref_label:nn {en} -\cs_new:Npn \__tag_ref_value:nnn #1 #2 #3 %#1 label, #2 attribute, #3 default +\cs_generate_variant:Nn \__tag_property_ref:nnn {enn} +\cs_generate_variant:Nn \__tag_property_ref:nn {en} +\cs_generate_variant:Nn \__tag_property_record:nn {en,eV} +\cs_new:Npn \__tag_ref_value:enn #1#2#3 { - \ref_value:nnn {#1}{#2}{#3} + \tl_if_exist:cTF { g__ref_label_ #1 _ #2 _tl } + { \tl_use:c { g__ref_label_ #1 _ #2 _tl } } + { + #3 + } } -\cs_generate_variant:Nn \__tag_ref_value:nnn {enn} -\cs_new:Npn \__tag_ref_value_lastpage:nn #1 #2 +\cs_new:Npn \__tag_property_ref_lastpage:nn #1 #2 { - \ref_value:nnn {__tag_LastPage}{#1}{#2} + \__tag_property_ref:nnn {@tag@LastPage}{#1}{#2} } +\__tag_property_new:nnnn + { tagstruct } { now } + {0} { \int_use:N \c@g__tag_struct_abs_int } +\__tag_property_new:nnnn { tagstructobj } { now } {} + { + \pdf_object_if_exist:eT {__tag/struct/\int_use:N \c@g__tag_struct_abs_int} + { + \pdf_object_ref:e{__tag/struct/\int_use:N \c@g__tag_struct_abs_int} + } + } +\__tag_property_new:nnnn + { tagabspage } { shipout } + {0} { \int_use:N \g_shipout_readonly_int } +\__tag_property_new:nnnn { tagmcabs } { now } + {0} { \int_use:N \c@g__tag_MCID_abs_int } + +\flag_new:n { __tag/mcid } +\__tag_property_new:nnnn {tagmcid } { shipout } + {0} { \flag_height:n { __tag/mcid } } + + \cs_set_eq:NN \__tag_prop_new:N \prop_new:N \cs_set_eq:NN \__tag_seq_new:N \seq_new:N \cs_set_eq:NN \__tag_prop_gput:Nnn \prop_gput:Nnn @@ -407,7 +454,7 @@ \cs_new_protected:Npn \__tag_check_struct_used:n #1 %#1 label { \prop_get:cnNT - {g__tag_struct_\__tag_ref_value:enn{tagpdfstruct-#1}{tagstruct}{unknown}_prop} + {g__tag_struct_\__tag_property_ref:enn{tagpdfstruct-#1}{tagstruct}{unknown}_prop} {P} \l__tag_tmpa_tl { @@ -519,7 +566,7 @@ { \tl_set:Nx \l__tag_tmpa_tl { - \__tag_ref_value_lastpage:nn + \__tag_property_ref_lastpage:nn {abspage} {-1} } @@ -533,14 +580,14 @@ {1} {1} { - \__tag_ref_value_lastpage:nn + \__tag_property_ref_lastpage:nn {tagmcabs} {-1} } { \int_compare:nT { - \__tag_ref_value:enn + \__tag_property_ref:enn {mcid-####1} {tagabspage} {-1} @@ -551,7 +598,7 @@ \seq_gput_right:Nx \l_tmpa_seq { Page##1-####1- - \__tag_ref_value:enn + \__tag_property_ref:enn {mcid-####1} {tagmcid} {-1} @@ -601,7 +648,7 @@ \tl_new:N \l__tag_mc_key_properties_tl \cs_new:Npn \__tag_mc_handle_mc_label:e #1 { - \ref_label:en{tagpdf-#1}{tagabspage,tagmcabs} + \__tag_property_record:en{tagpdf-#1}{tagabspage,tagmcabs} } \cs_new_protected:Npn \__tag_mc_set_label_used:n #1 %#1 labelname { @@ -611,7 +658,7 @@ { \__tag_check_if_active_struct:T { - \tl_set:Nx \l__tag_tmpa_tl { \__tag_ref_value:nnn{tagpdf-#1}{tagmcabs}{} } + \tl_set:Nx \l__tag_tmpa_tl { \__tag_property_ref:nnn{tagpdf-#1}{tagmcabs}{} } \tl_if_empty:NTF\l__tag_tmpa_tl { \msg_warning:nnn {tag} {mc-label-unknown} {#1} @@ -768,7 +815,7 @@ \hook_gput_code:nnn{begindocument}{tagpdf} { \int_gset:Nn\g__tag_tree_id_pad_int - {\tl_count:e { \__tag_ref_value_lastpage:nn{tagstruct}{1000}}+1} + {\tl_count:e { \__tag_property_ref_lastpage:nn{tagstruct}{1000}}+1} } \cs_new_protected:Npn \__tag_tree_write_idtree: @@ -863,7 +910,7 @@ { \int_gset:Nn \c@g__tag_parenttree_obj_int - { \__tag_ref_value_lastpage:nn{abspage}{100} } + { \__tag_property_ref_lastpage:nn{abspage}{100} } } \tl_new:N \g__tag_parenttree_objr_tl \cs_new_protected:Npn \__tag_parenttree_add_objr:nn #1 #2 %#1 StructParent number, #2 objref @@ -877,18 +924,18 @@ \cs_new_protected:Npn \__tag_tree_parenttree_rerun_msg: {} \cs_new_protected:Npn \__tag_tree_fill_parenttree: { - \int_step_inline:nnnn{1}{1}{\__tag_ref_value_lastpage:nn{abspage}{-1}} %not quite clear if labels are needed. See lua code + \int_step_inline:nnnn{1}{1}{\__tag_property_ref_lastpage:nn{abspage}{-1}} %not quite clear if labels are needed. See lua code { %page ##1 \prop_clear:N \l__tag_tmpa_prop - \int_step_inline:nnnn{1}{1}{\__tag_ref_value_lastpage:nn{tagmcabs}{-1}} + \int_step_inline:nnnn{1}{1}{\__tag_property_ref_lastpage:nn{tagmcabs}{-1}} { %mcid####1 \int_compare:nT - {\__tag_ref_value:enn{mcid-####1}{tagabspage}{-1}=##1} %mcid is on current page + {\__tag_property_ref:enn{mcid-####1}{tagabspage}{-1}=##1} %mcid is on current page {% yes \prop_put:Nxx \l__tag_tmpa_prop - {\__tag_ref_value:enn{mcid-####1}{tagmcid}{-1}} + {\__tag_property_ref:enn{mcid-####1}{tagmcid}{-1}} {\prop_item:Nn \g__tag_mc_parenttree_prop {####1}} } } @@ -1892,35 +1939,43 @@ \__tag_struct_output_prop_aux:nn {#1}{##1} } } +\cs_new_protected:Npn \__tag_struct_prop_gput:nnn #1 #2 #3 + { + \__tag_prop_gput:cnn + { g__tag_struct_#1_prop }{#2}{#3} + } +\cs_generate_variant:Nn \__tag_struct_prop_gput:nnn {nne,nee,nno} + \tl_gset:Nn \g__tag_struct_stack_current_tl {0} \cs_new:Npn \__tag_pdf_name_e:n #1{\pdf_name_from_unicode_e:n{#1}} \__tag_prop_new:c { g__tag_struct_0_prop } \__tag_new_output_prop_handler:n {0} \__tag_seq_new:c { g__tag_struct_kids_0_seq } -\__tag_prop_gput:cnx - { g__tag_struct_0_prop } +\__tag_struct_prop_gput:nne + { 0 } { Type } { \pdf_name_from_unicode_e:n {StructTreeRoot} } -\__tag_prop_gput:cnx - { g__tag_struct_0_prop } +\__tag_struct_prop_gput:nne + { 0 } { S } { \pdf_name_from_unicode_e:n {StructTreeRoot} } -\__tag_prop_gput:cnx - { g__tag_struct_0_prop } +\__tag_struct_prop_gput:nne + { 0 } { rolemap } { {StructTreeRoot}{pdf} } -\__tag_prop_gput:cnx - { g__tag_struct_0_prop } +\__tag_struct_prop_gput:nne + { 0 } { parentrole } { {StructTreeRoot}{pdf} } + \pdf_version_compare:NnF < {2.0} { - \__tag_prop_gput:cnx - { g__tag_struct_0_prop } + \__tag_struct_prop_gput:nne + { 0 } { Namespaces } { \pdf_object_ref:n { __tag/tree/namespaces } } } @@ -1940,8 +1995,8 @@ \cs_new_protected:Npn \__tag_struct_set_tag_info:nnn #1 #2 #3 %#1 structure number, #2 tag, #3 NS { - \__tag_prop_gput:cnx - { g__tag_struct_#1_prop } + \__tag_struct_prop_gput:nne + { #1 } { S } { \pdf_name_from_unicode_e:n {#2} } % } @@ -1949,14 +2004,14 @@ { \cs_new_protected:Npn \__tag_struct_set_tag_info:nnn #1 #2 #3 { - \__tag_prop_gput:cnx - { g__tag_struct_#1_prop } + \__tag_struct_prop_gput:nne + { #1 } { S } { \pdf_name_from_unicode_e:n {#2} } % \prop_get:NnNT \g__tag_role_NS_prop {#3} \l__tag_get_tmpc_tl { - \__tag_prop_gput:cnx - { g__tag_struct_#1_prop } + \__tag_struct_prop_gput:nne + { #1 } { NS } { \l__tag_get_tmpc_tl } % } @@ -1971,8 +2026,8 @@ { parentrole } \l__tag_get_tmpc_tl { - \tl_set:Nx #2{\exp_last_unbraced:NV\use_i:nn \l__tag_get_tmpc_tl} - \tl_set:Nx #3{\exp_last_unbraced:NV\use_ii:nn \l__tag_get_tmpc_tl} + \tl_set:Ne #2{\exp_last_unbraced:NV\use_i:nn \l__tag_get_tmpc_tl} + \tl_set:Ne #3{\exp_last_unbraced:NV\use_ii:nn \l__tag_get_tmpc_tl} } { \tl_clear:N#2 @@ -1986,8 +2041,8 @@ /Type \c_space_tl /MCR \c_space_tl /Pg \c_space_tl - \pdf_pageobject_ref:n { \__tag_ref_value:enn{mcid-#1}{tagabspage}{1} } - /MCID \c_space_tl \__tag_ref_value:enn{mcid-#1}{tagmcid}{1} + \pdf_pageobject_ref:n { \__tag_property_ref:enn{mcid-#1}{tagabspage}{1} } + /MCID \c_space_tl \__tag_property_ref:enn{mcid-#1}{tagmcid}{1} >> } \cs_new_protected:Npn \__tag_struct_kid_mc_gput_right:nn #1 #2 %#1 structure num, #2 MCID absnum% @@ -2003,7 +2058,7 @@ \prop_item:Nn \g__tag_struct_cont_mc_prop {#2} } } -\cs_generate_variant:Nn \__tag_struct_kid_mc_gput_right:nn {nx} +\cs_generate_variant:Nn \__tag_struct_kid_mc_gput_right:nn {ne} \cs_new_protected:Npn\__tag_struct_kid_struct_gput_right:nn #1 #2 %#1 num of parent struct, #2 kid struct { \__tag_seq_gput_right:cx @@ -2013,7 +2068,7 @@ } } -\cs_generate_variant:Nn \__tag_struct_kid_struct_gput_right:nn {xx} +\cs_generate_variant:Nn \__tag_struct_kid_struct_gput_right:nn {ee} \cs_new_protected:Npn\__tag_struct_kid_OBJR_gput_right:nnn #1 #2 #3 %#1 num of parent struct, %#2 obj reference %#3 page object reference @@ -2029,7 +2084,7 @@ \pdf_object_ref_last: } } -\cs_generate_variant:Nn\__tag_struct_kid_OBJR_gput_right:nnn { xxx } +\cs_generate_variant:Nn\__tag_struct_kid_OBJR_gput_right:nnn { eee } \cs_new_protected:Npn\__tag_struct_exchange_kid_command:N #1 %#1 = seq var { \seq_gpop_left:NN #1 \l__tag_tmpa_tl @@ -2047,7 +2102,7 @@ { \seq_clear:N \l__tag_tmpa_seq \seq_map_inline:cn { g__tag_struct_kids_#1_seq } - { \seq_put_right:Nx \l__tag_tmpa_seq { ##1 } } + { \seq_put_right:Ne \l__tag_tmpa_seq { ##1 } } %\seq_show:c { g__tag_struct_kids_#1_seq } %\seq_show:N \l__tag_tmpa_seq \seq_remove_all:Nn \l__tag_tmpa_seq {} @@ -2074,7 +2129,9 @@ \__tag_struct_exchange_kid_command:c {g__tag_struct_kids_#1_seq} } - \__tag_prop_gput:cnx { g__tag_struct_#1_prop } {K} + \__tag_struct_prop_gput:nne + {#1} + {K} { \seq_item:cn { @@ -2085,7 +2142,9 @@ } % } { %many kids, use an array - \__tag_prop_gput:cnx { g__tag_struct_#1_prop } {K} + \__tag_struct_prop_gput:nne + {#1} + {K} { [ \seq_use:cn @@ -2110,7 +2169,7 @@ _entries_seq } { - \tl_put_right:Nx + \tl_put_right:Ne #2 { \prop_if_in:cnT @@ -2137,11 +2196,11 @@ { \prop_get:cnNF { g__tag_struct_#1_prop } {P}\l__tag_tmpb_tl { - \prop_gput:cnx { g__tag_struct_#1_prop } {P}{\pdf_object_ref:n { __tag/struct/0 }} - \prop_gput:cnx { g__tag_struct_#1_prop } {S}{/Artifact} + \prop_gput:cne { g__tag_struct_#1_prop } {P}{\pdf_object_ref:n { __tag/struct/0 }} + \prop_gput:cne { g__tag_struct_#1_prop } {S}{/Artifact} \seq_if_empty:cF {g__tag_struct_kids_#1_seq} { - \msg_warning:nnxx + \msg_warning:nnee {tag} {struct-orphan} { #1 } @@ -2150,8 +2209,8 @@ } \__tag_struct_fill_kid_key:n { #1 } \__tag_struct_get_dict_content:nN { #1 } \l__tag_tmpa_tl - \exp_args:Nx - \pdf_object_write:nnx + \exp_args:Ne + \pdf_object_write:nne { __tag/struct/#1 } {dict} { @@ -2178,8 +2237,8 @@ } %put the obj number of the annot in the kid entry, this also creates %the OBJR object - \ref_label:nn {__tag_objr_page_#2 }{ tagabspage } - \__tag_struct_kid_OBJR_gput_right:xxx + \__tag_property_record:nn {@tag@objr@page@#2 }{ tagabspage } + \__tag_struct_kid_OBJR_gput_right:eee { \l__tag_struct_stack_parent_tmpa_tl } @@ -2187,10 +2246,10 @@ #1 % } { - \pdf_pageobject_ref:n { \__tag_ref_value:nnn {__tag_objr_page_#2 }{ tagabspage }{1} } + \pdf_pageobject_ref:n { \__tag_property_ref:nnn {@tag@objr@page@#2 }{ tagabspage }{1} } } % add the parent obj number to the parent tree: - \exp_args:Nnx + \exp_args:Nne \__tag_parenttree_add_objr:nn { #2 @@ -2227,9 +2286,9 @@ { \int_compare_p:nNn {#1}<{\c@g__tag_struct_abs_int} } - { \tl_set:Nx \l__tag_struct_stack_parent_tmpa_tl { \int_eval:n {#1} } } + { \tl_set:Ne \l__tag_struct_stack_parent_tmpa_tl { \int_eval:n {#1} } } { - \msg_warning:nnxx { tag } { struct-unknown } + \msg_warning:nnee { tag } { struct-unknown } { \int_eval:n {#1} } { parent~key~ignored } } @@ -2238,8 +2297,8 @@ tag .code:n = % S property { \seq_set_split:Nne \l__tag_tmpa_seq { / } {#1/\prop_item:Ne\g__tag_role_tags_NS_prop{#1}} - \tl_gset:Nx \g__tag_struct_tag_tl { \seq_item:Nn\l__tag_tmpa_seq {1} } - \tl_gset:Nx \g__tag_struct_tag_NS_tl{ \seq_item:Nn\l__tag_tmpa_seq {2} } + \tl_gset:Ne \g__tag_struct_tag_tl { \seq_item:Nn\l__tag_tmpa_seq {1} } + \tl_gset:Ne \g__tag_struct_tag_NS_tl{ \seq_item:Nn\l__tag_tmpa_seq {2} } \__tag_check_structure_tag:N \g__tag_struct_tag_tl }, title .code:n = % T property @@ -2249,8 +2308,8 @@ { #1 } { default } { utf16/hex } - \__tag_prop_gput:cnx - { g__tag_struct_\int_eval:n {\c@g__tag_struct_abs_int}_prop } + \__tag_struct_prop_gput:nne + { \int_use:N \c@g__tag_struct_abs_int } { T } { <\l__tag_tmpa_str> } }, @@ -2261,8 +2320,8 @@ { #1 } { default } { utf16/hex } - \__tag_prop_gput:cnx - { g__tag_struct_\int_eval:n {\c@g__tag_struct_abs_int}_prop } + \__tag_struct_prop_gput:nne + { \int_use:N \c@g__tag_struct_abs_int } { T } { <\l__tag_tmpa_str> } }, @@ -2275,8 +2334,8 @@ { #1 } { default } { utf16/hex } - \__tag_prop_gput:cnx - { g__tag_struct_\int_eval:n {\c@g__tag_struct_abs_int}_prop } + \__tag_struct_prop_gput:nne + { \int_use:N \c@g__tag_struct_abs_int } { Alt } { <\l__tag_tmpa_str> } } @@ -2291,16 +2350,16 @@ { #1 } { default } { utf16/hex } - \__tag_prop_gput:cnx - { g__tag_struct_\int_eval:n {\c@g__tag_struct_abs_int}_prop } + \__tag_struct_prop_gput:nne + { \int_use:N \c@g__tag_struct_abs_int } { ActualText } { <\l__tag_tmpa_str>} } }, lang .code:n = % Lang property { - \__tag_prop_gput:cnx - { g__tag_struct_\int_eval:n {\c@g__tag_struct_abs_int}_prop } + \__tag_struct_prop_gput:nne + { \int_use:N \c@g__tag_struct_abs_int } { Lang } { (#1) } }, @@ -2309,10 +2368,11 @@ \tl_clear:N\l__tag_tmpa_tl \clist_map_inline:on {#1} { - \tl_put_right:Nx \l__tag_tmpa_tl - {~\ref_value:nn{tagpdfstruct-##1}{tagstructobj} } + \tl_put_right:Ne \l__tag_tmpa_tl + {~\__tag_property_ref:en{tagpdfstruct-##1}{tagstructobj} } } - \__tag_struct_gput_data_ref:ee { \int_eval:n {\c@g__tag_struct_abs_int} } {\l__tag_tmpa_tl} + \__tag_struct_gput_data_ref:ee + { \int_use:N \c@g__tag_struct_abs_int } {\l__tag_tmpa_tl} }, E .code:n = % E property { @@ -2321,8 +2381,8 @@ { #1 } { default } { utf16/hex } - \__tag_prop_gput:cnx - { g__tag_struct_\int_eval:n {\c@g__tag_struct_abs_int}_prop } + \__tag_struct_prop_gput:nne + { \int_use:N \c@g__tag_struct_abs_int } { E } { <\l__tag_tmpa_str> } }, @@ -2342,10 +2402,10 @@ {tag-AFfile\int_use:N\g__tag_struct_AFobj_int.#2} {__tag/fileobj\int_use:N\g__tag_struct_AFobj_int} \__tag_struct_add_AF:ee - { \int_eval:n {\c@g__tag_struct_abs_int} } + { \int_use:N \c@g__tag_struct_abs_int } { \pdf_object_ref:e {__tag/fileobj\int_use:N\g__tag_struct_AFobj_int} } - \__tag_prop_gput:cnx - { g__tag_struct_\int_use:N\c@g__tag_struct_abs_int _prop } + \__tag_struct_prop_gput:nne + { \int_use:N \c@g__tag_struct_abs_int } { AF } { [ @@ -2369,10 +2429,10 @@ {tag-AFfile\int_use:N\g__tag_struct_AFobj_int.#2} \l__tag_tmpa_tl \__tag_struct_add_AF:ee - { \int_eval:n {\c@g__tag_struct_abs_int} } + { \int_use:N \c@g__tag_struct_abs_int } { \l__tag_tmpa_tl } - \__tag_prop_gput:cnx - { g__tag_struct_\int_use:N\c@g__tag_struct_abs_int _prop } + \__tag_struct_prop_gput:nne + { \int_use:N \c@g__tag_struct_abs_int } { AF } { [ @@ -2391,14 +2451,14 @@ g__tag_struct_#1_AF_tl } { - \tl_gput_right:cx + \tl_gput_right:ce { g__tag_struct_#1_AF_tl } { \c_space_tl #2 } } { \tl_new:c { g__tag_struct_#1_AF_tl } - \tl_gset:cx + \tl_gset:ce { g__tag_struct_#1_AF_tl } { #2 } } @@ -2410,9 +2470,9 @@ { \pdf_object_if_exist:nTF {#1} { - \__tag_struct_add_AF:ee { \int_eval:n {\c@g__tag_struct_abs_int} }{\pdf_object_ref:n {#1}} - \__tag_prop_gput:cnx - { g__tag_struct_\int_eval:n {\c@g__tag_struct_abs_int}_prop } + \__tag_struct_add_AF:ee { \int_use:N \c@g__tag_struct_abs_int }{\pdf_object_ref:n {#1}} + \__tag_struct_prop_gput:nne + { \int_use:N \c@g__tag_struct_abs_int } { AF } { [ @@ -2422,7 +2482,7 @@ } } { - + % message? } }, ,AFinline .code:n = @@ -2451,8 +2511,8 @@ \pdf_object_if_exist:nTF {#1} { \__tag_struct_add_AF:ee { 0 }{\pdf_object_ref:n {#1}} - \__tag_prop_gput:cnx - { g__tag_struct_0_prop } + \__tag_struct_prop_gput:nne + { 0 } { AF } { [ @@ -2478,21 +2538,23 @@ \exp_args:Ne \pdf_object_new:n { __tag/struct/\int_eval:n { \c@g__tag_struct_abs_int } } - \__tag_prop_gput:cno - { g__tag_struct_\int_eval:n { \c@g__tag_struct_abs_int }_prop } - { Type } - { /StructElem } + \__tag_struct_prop_gput:nnn + { \int_use:N \c@g__tag_struct_abs_int } + { Type } + { /StructElem } \tl_set:Nn \l__tag_struct_stack_parent_tmpa_tl {-1} \keys_set:nn { __tag / struct} { #1 } \__tag_struct_set_tag_info:eVV - { \int_eval:n {\c@g__tag_struct_abs_int} } + { \int_use:N \c@g__tag_struct_abs_int } \g__tag_struct_tag_tl \g__tag_struct_tag_NS_tl - \__tag_check_structure_has_tag:n { \int_eval:n {\c@g__tag_struct_abs_int} } + \__tag_check_structure_has_tag:n { \int_use:N \c@g__tag_struct_abs_int } \tl_if_empty:NF \l__tag_struct_key_label_tl { - \__tag_ref_label:en{tagpdfstruct-\l__tag_struct_key_label_tl}{struct} + \__tag_property_record:eV + {tagpdfstruct-\l__tag_struct_key_label_tl} + \c__tag_property_struct_clist } \int_compare:nNnT { \l__tag_struct_stack_parent_tmpa_tl } = { -1 } { @@ -2509,12 +2571,12 @@ \g__tag_struct_tag_NS_tl \l__tag_struct_roletag_tl \l__tag_struct_roletag_NS_tl - \__tag_prop_gput:cnx - { g__tag_struct_\int_eval:n {\c@g__tag_struct_abs_int}_prop } - { rolemap } - { - {\l__tag_struct_roletag_tl}{\l__tag_struct_roletag_NS_tl} - } + \__tag_struct_prop_gput:nne + { \int_use:N \c@g__tag_struct_abs_int } + { rolemap } + { + {\l__tag_struct_roletag_tl}{\l__tag_struct_roletag_NS_tl} + } \str_case:VnTF \l__tag_struct_roletag_tl { {Part} {} @@ -2527,8 +2589,8 @@ { parentrole } \l__tag_get_tmpc_tl { - \__tag_prop_gput:cno - { g__tag_struct_\int_eval:n {\c@g__tag_struct_abs_int}_prop } + \__tag_struct_prop_gput:nno + { \int_use:N \c@g__tag_struct_abs_int } { parentrole } { \l__tag_get_tmpc_tl @@ -2536,14 +2598,14 @@ } } { - \__tag_prop_gput:cnx - { g__tag_struct_\int_eval:n {\c@g__tag_struct_abs_int}_prop } + \__tag_struct_prop_gput:nne + { \int_use:N \c@g__tag_struct_abs_int } { parentrole } { {\l__tag_struct_roletag_tl}{\l__tag_struct_roletag_NS_tl} } } - \seq_gpush:Nx \g__tag_struct_tag_stack_seq + \seq_gpush:Ne \g__tag_struct_tag_stack_seq {{\g__tag_struct_tag_tl}{\l__tag_struct_roletag_tl}} \tl_gset:NV \g__tag_struct_stack_current_tl \c@g__tag_struct_abs_int %\seq_show:N \g__tag_struct_stack_seq @@ -2566,7 +2628,7 @@ { g__tag_struct_ \l__tag_struct_stack_parent_tmpa_tl _prop} {S} \l__tag_tmpa_tl - \msg_warning:nnxxx + \msg_warning:nneee { tag } {role-parent-child} { \l__tag_get_parent_tmpa_tl/\l__tag_get_parent_tmpb_tl } @@ -2581,12 +2643,12 @@ \cs_gset_eq:NN \g__tag_struct_tag_tl \l__tag_role_remap_tag_tl \cs_gset_eq:NN \g__tag_struct_tag_NS_tl \l__tag_role_remap_NS_tl \__tag_struct_set_tag_info:eVV - { \int_eval:n {\c@g__tag_struct_abs_int} } + { \int_use:N \c@g__tag_struct_abs_int } \g__tag_struct_tag_tl \g__tag_struct_tag_NS_tl } - \__tag_prop_gput:cnx - { g__tag_struct_\int_eval:n {\c@g__tag_struct_abs_int}_prop } + \__tag_struct_prop_gput:nne + { \int_use:N \c@g__tag_struct_abs_int } { P } { \pdf_object_ref:e { __tag/struct/\l__tag_struct_stack_parent_tmpa_tl } @@ -2594,7 +2656,7 @@ %record this structure as kid: %\tl_show:N \g__tag_struct_stack_current_tl %\tl_show:N \l__tag_struct_stack_parent_tmpa_tl - \__tag_struct_kid_struct_gput_right:xx + \__tag_struct_kid_struct_gput_right:ee { \l__tag_struct_stack_parent_tmpa_tl } { \g__tag_struct_stack_current_tl } %\prop_show:c { g__tag_struct_\g__tag_struct_stack_current_tl _prop } @@ -2627,11 +2689,11 @@ } \seq_get:NNT \g__tag_struct_tag_stack_seq \l__tag_tmpa_tl { - \tl_gset:Nx \g__tag_struct_tag_tl + \tl_gset:Ne \g__tag_struct_tag_tl { \exp_last_unbraced:NV\use_i:nn \l__tag_tmpa_tl } \prop_get:NVNT\g__tag_role_tags_NS_prop \g__tag_struct_tag_tl\l__tag_tmpa_tl { - \tl_gset:Nx \g__tag_struct_tag_NS_tl { \l__tag_tmpa_tl } + \tl_gset:Ne \g__tag_struct_tag_NS_tl { \l__tag_tmpa_tl } } } } @@ -2646,22 +2708,22 @@ \__tag_check_if_active_struct:T { \prop_if_exist:cTF - { g__tag_struct_\__tag_ref_value:enn{tagpdfstruct-#1}{tagstruct}{unknown}_prop } % + { g__tag_struct_\__tag_property_ref:enn{tagpdfstruct-#1}{tagstruct}{unknown}_prop } % { \__tag_check_struct_used:n {#1} %add the label structure as kid to the current structure (can be the root) - \__tag_struct_kid_struct_gput_right:xx + \__tag_struct_kid_struct_gput_right:ee { \g__tag_struct_stack_current_tl } - { \__tag_ref_value:enn{tagpdfstruct-#1}{tagstruct}{0} } + { \__tag_property_ref:enn{tagpdfstruct-#1}{tagstruct}{0} } %add the current structure to the labeled one as parents \__tag_prop_gput:cnx - { g__tag_struct_\__tag_ref_value:enn{tagpdfstruct-#1}{tagstruct}{0}_prop } + { g__tag_struct_\__tag_property_ref:enn{tagpdfstruct-#1}{tagstruct}{0}_prop } { P } { \pdf_object_ref:e { __tag/struct/\g__tag_struct_stack_current_tl } } \__tag_struct_get_parentrole:eNN - {\__tag_ref_value:enn{tagpdfstruct-#1}{tagstruct}{0}} + {\__tag_property_ref:enn{tagpdfstruct-#1}{tagstruct}{0}} \l__tag_tmpa_tl \l__tag_tmpb_tl \__tag_check_parent_child:VVVVN @@ -2678,7 +2740,7 @@ \cs_gset_eq:NN \g__tag_struct_tag_tl \l__tag_role_remap_tag_tl \cs_gset_eq:NN \g__tag_struct_tag_NS_tl \l__tag_role_remap_NS_tl \__tag_struct_set_tag_info:eVV - { \int_eval:n {\c@g__tag_struct_abs_int} } + { \int_use:N \c@g__tag_struct_abs_int } \g__tag_struct_tag_tl \g__tag_struct_tag_NS_tl } @@ -2703,12 +2765,12 @@ \msg_warning:nnn { tag } {struct-used-twice} {#1} } %add the label structure as kid to the current structure (can be the root) - \__tag_struct_kid_struct_gput_right:xx + \__tag_struct_kid_struct_gput_right:ee { \g__tag_struct_stack_current_tl } { #1 } %add the current structure to the labeled one as parents - \__tag_prop_gput:cnx - { g__tag_struct_#1_prop } + \__tag_struct_prop_gput:nne + { #1 } { P } { \pdf_object_ref:e { __tag/struct/\g__tag_struct_stack_current_tl } @@ -2731,7 +2793,7 @@ \cs_gset_eq:NN \g__tag_struct_tag_tl \l__tag_role_remap_tag_tl \cs_gset_eq:NN \g__tag_struct_tag_NS_tl \l__tag_role_remap_NS_tl \__tag_struct_set_tag_info:eVV - { \int_eval:n {\c@g__tag_struct_abs_int} } + { \int_use:N \c@g__tag_struct_abs_int } \g__tag_struct_tag_tl \g__tag_struct_tag_NS_tl } @@ -2756,19 +2818,18 @@ } \cs_generate_variant:Nn \tag_struct_gput:nnn {ene,nne} \cs_new_protected:Npn \__tag_struct_gput_data_ref:nn #1 #2 - % #1 receiving struct num, #2 list of object ref + % #1 receiving struct num, #2 list of object ref { \prop_get:cnN { g__tag_struct_#1_prop } {Ref} \l__tag_get_tmpc_tl - \__tag_prop_gput:cnx - { g__tag_struct_#1_prop } + \__tag_struct_prop_gput:nne + { #1 } { Ref } { \quark_if_no_value:NF\l__tag_get_tmpc_tl { \l__tag_get_tmpc_tl\c_space_tl }#2 } } \cs_generate_variant:Nn \__tag_struct_gput_data_ref:nn {ee} - \cs_new_protected:Npn \tag_struct_insert_annot:nn #1 #2 %#1 should be an object reference %#2 struct parent num { @@ -2778,7 +2839,7 @@ } } -\cs_generate_variant:Nn \tag_struct_insert_annot:nn {xx} +\cs_generate_variant:Nn \tag_struct_insert_annot:nn {xx,ee} \cs_new:Npn \tag_struct_parent_int: {\int_use:c { c@g__tag_parenttree_obj_int }} @@ -2799,13 +2860,20 @@ \__tag_attr_new_entry:nn #1 } } +\cs_if_free:NTF \seq_set_map_e:NNn + { + \cs_new_eq:NN \__tag_seq_set_map_e:NNn \seq_set_map_x:NNn + } + { + \cs_new_eq:NN \__tag_seq_set_map_e:NNn \seq_set_map_e:NNn + } \keys_define:nn { __tag / struct } { attribute-class .code:n = { - \clist_set:Nx \l__tag_tmpa_clist { #1 } + \clist_set:Ne \l__tag_tmpa_clist { #1 } \seq_set_from_clist:NN \l__tag_tmpb_seq \l__tag_tmpa_clist - \seq_set_map_x:NNn \l__tag_tmpa_seq \l__tag_tmpb_seq + \__tag_seq_set_map_e:NNn \l__tag_tmpa_seq \l__tag_tmpb_seq { \pdf_name_from_unicode_e:n {##1} } @@ -2817,7 +2885,7 @@ } \seq_gput_left:Nn\g__tag_attr_class_used_seq { ##1} } - \tl_set:Nx \l__tag_tmpa_tl + \tl_set:Ne \l__tag_tmpa_tl { \int_compare:nT { \seq_count:N \l__tag_tmpa_seq > 1 }{[} \seq_use:Nn \l__tag_tmpa_seq { \c_space_tl } @@ -2825,8 +2893,8 @@ } \int_compare:nT { \seq_count:N \l__tag_tmpa_seq > 0 } { - \__tag_prop_gput:cnx - { g__tag_struct_\int_eval:n {\c@g__tag_struct_abs_int}_prop } + \__tag_struct_prop_gput:nne + { \int_use:N \c@g__tag_struct_abs_int } { C } { \l__tag_tmpa_tl } %\prop_show:c { g__tag_struct_\int_eval:n {\c@g__tag_struct_abs_int}_prop } @@ -2837,15 +2905,15 @@ { attribute .code:n = % A property (attribute, value currently a dictionary) { - \clist_set:Nx \l__tag_tmpa_clist { #1 } + \clist_set:Ne \l__tag_tmpa_clist { #1 } \clist_if_empty:NF \l__tag_tmpa_clist { \seq_set_from_clist:NN \l__tag_tmpb_seq \l__tag_tmpa_clist - \seq_set_map_x:NNn \l__tag_tmpa_seq \l__tag_tmpb_seq + \__tag_seq_set_map_e:NNn \l__tag_tmpa_seq \l__tag_tmpb_seq { \pdf_name_from_unicode_e:n {##1} } - \tl_set:Nx \l__tag_attr_value_tl + \tl_set:Ne \l__tag_attr_value_tl { \int_compare:nT { \seq_count:N \l__tag_tmpa_seq > 1 }{[}%] } @@ -2857,27 +2925,27 @@ } \prop_if_in:NnF \g__tag_attr_objref_prop {##1} {%\prop_show:N \g__tag_attr_entries_prop - \pdf_object_unnamed_write:nx + \pdf_object_unnamed_write:ne { dict } { \prop_item:Nn\g__tag_attr_entries_prop {##1} } - \prop_gput:Nnx \g__tag_attr_objref_prop {##1} {\pdf_object_ref_last:} + \prop_gput:Nne \g__tag_attr_objref_prop {##1} {\pdf_object_ref_last:} } - \tl_put_right:Nx \l__tag_attr_value_tl + \tl_put_right:Ne \l__tag_attr_value_tl { \c_space_tl \prop_item:Nn \g__tag_attr_objref_prop {##1} } % \tl_show:N \l__tag_attr_value_tl } - \tl_put_right:Nx \l__tag_attr_value_tl + \tl_put_right:Ne \l__tag_attr_value_tl { %[ \int_compare:nT { \seq_count:N \l__tag_tmpa_seq > 1 }{]}% } % \tl_show:N \l__tag_attr_value_tl - \__tag_prop_gput:cnx - { g__tag_struct_\int_eval:n {\c@g__tag_struct_abs_int}_prop } + \__tag_struct_prop_gput:nne + { \int_use:N \c@g__tag_struct_abs_int } { A } { \l__tag_attr_value_tl } } diff --git a/Master/texmf-dist/tex/latex/tagpdf/tagpdfdocu-patches.sty b/Master/texmf-dist/tex/latex/tagpdf/tagpdfdocu-patches.sty index af9efe1f754..dd08c7e2acd 100644 --- a/Master/texmf-dist/tex/latex/tagpdf/tagpdfdocu-patches.sty +++ b/Master/texmf-dist/tex/latex/tagpdf/tagpdfdocu-patches.sty @@ -1,5 +1,5 @@ %\RequirePackage[enable-debug]{expl3}[2018/06/14] -\ProvidesExplPackage {tagpdfdocu-patches} {2023-08-30} {0.98l} +\ProvidesExplPackage {tagpdfdocu-patches} {2023-10-27} {0.98m} {patches/commands for the tagpdf documentation} \RequirePackage{etoolbox,xpatch} |