summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2023-10-27 19:58:21 +0000
committerKarl Berry <karl@freefriends.org>2023-10-27 19:58:21 +0000
commit3166e6ef8fb8bc54d43ef4c07ddaf9935f5e4857 (patch)
tree4edbc7846f7ee76cb3fa98769effb8d7ccdfaaf7 /Master/texmf-dist/tex
parent1bd4d7592d3d26ea9d6b670d267f81c11285920d (diff)
tagpdf (27oct23)
git-svn-id: svn://tug.org/texlive/trunk@68676 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex')
-rw-r--r--Master/texmf-dist/tex/latex/tagpdf/tagpdf-base.sty3
-rw-r--r--Master/texmf-dist/tex/latex/tagpdf/tagpdf-debug-generic.sty2
-rw-r--r--Master/texmf-dist/tex/latex/tagpdf/tagpdf-debug-lua.sty2
-rw-r--r--Master/texmf-dist/tex/latex/tagpdf/tagpdf-debug.sty157
-rw-r--r--Master/texmf-dist/tex/latex/tagpdf/tagpdf-luatex.def2
-rw-r--r--Master/texmf-dist/tex/latex/tagpdf/tagpdf-mc-code-generic.sty18
-rw-r--r--Master/texmf-dist/tex/latex/tagpdf/tagpdf-mc-code-lua.sty2
-rw-r--r--Master/texmf-dist/tex/latex/tagpdf/tagpdf-ns-latex-book.def2
-rw-r--r--Master/texmf-dist/tex/latex/tagpdf/tagpdf-ns-latex-inline.def2
-rw-r--r--Master/texmf-dist/tex/latex/tagpdf/tagpdf-ns-latex.def2
-rw-r--r--Master/texmf-dist/tex/latex/tagpdf/tagpdf-ns-mathml.def2
-rw-r--r--Master/texmf-dist/tex/latex/tagpdf/tagpdf-ns-pdf.def2
-rw-r--r--Master/texmf-dist/tex/latex/tagpdf/tagpdf-ns-pdf2.def2
-rw-r--r--Master/texmf-dist/tex/latex/tagpdf/tagpdf-parent-child-2.csv2
-rw-r--r--Master/texmf-dist/tex/latex/tagpdf/tagpdf-parent-child.csv2
-rw-r--r--Master/texmf-dist/tex/latex/tagpdf/tagpdf.lua4
-rw-r--r--Master/texmf-dist/tex/latex/tagpdf/tagpdf.sty468
-rw-r--r--Master/texmf-dist/tex/latex/tagpdf/tagpdfdocu-patches.sty2
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}