From 6edc677a3c031d7dbf451d7abfb1016abe58e0c8 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Mon, 14 Jun 2021 20:30:18 +0000 Subject: tagpdf (14jun21) git-svn-id: svn://tug.org/texlive/trunk@59592 c570f23f-e606-0410-a88d-b1316a301751 --- .../tex/latex/tagpdf/tagpdf-attr-code.sty | 2 +- .../tex/latex/tagpdf/tagpdf-checks-code.sty | 2 +- .../texmf-dist/tex/latex/tagpdf/tagpdf-luatex.def | 2 +- .../tex/latex/tagpdf/tagpdf-mc-code-generic.sty | 2 +- .../tex/latex/tagpdf/tagpdf-mc-code-lua.sty | 2 +- .../tex/latex/tagpdf/tagpdf-mc-code-shared.sty | 2 +- .../texmf-dist/tex/latex/tagpdf/tagpdf-pdftex.def | 2 +- .../tex/latex/tagpdf/tagpdf-roles-code.sty | 2 +- .../tex/latex/tagpdf/tagpdf-space-code.sty | 2 +- .../tex/latex/tagpdf/tagpdf-struct-code.sty | 27 +++++++++++++++------- .../tex/latex/tagpdf/tagpdf-tree-code.sty | 2 +- Master/texmf-dist/tex/latex/tagpdf/tagpdf-user.sty | 20 ++++++++++++---- Master/texmf-dist/tex/latex/tagpdf/tagpdf.lua | 4 ++-- Master/texmf-dist/tex/latex/tagpdf/tagpdf.sty | 2 +- .../tex/latex/tagpdf/tagpdfdocu-patches.sty | 21 +++++++++++------ 15 files changed, 61 insertions(+), 33 deletions(-) (limited to 'Master/texmf-dist/tex/latex/tagpdf') diff --git a/Master/texmf-dist/tex/latex/tagpdf/tagpdf-attr-code.sty b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-attr-code.sty index dcb382f02c6..3c805d5a2ff 100644 --- a/Master/texmf-dist/tex/latex/tagpdf/tagpdf-attr-code.sty +++ b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-attr-code.sty @@ -20,7 +20,7 @@ %% %% File: tagpdf-struct.dtx -\ProvidesExplPackage {tagpdf-attr-code} {2021/05/14} {0.81} +\ProvidesExplPackage {tagpdf-attr-code} {2021-06-14} {0.82} {part of tagpdf - code related to attributes and attribute classes} diff --git a/Master/texmf-dist/tex/latex/tagpdf/tagpdf-checks-code.sty b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-checks-code.sty index c94593e5fa1..8237f924129 100644 --- a/Master/texmf-dist/tex/latex/tagpdf/tagpdf-checks-code.sty +++ b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-checks-code.sty @@ -19,7 +19,7 @@ %% and all files in that bundle must be distributed together. %% %% File: tagpdf-checks.dtx -\ProvidesExplPackage {tagpdf-checks-code} {2021/05/14} {0.81} +\ProvidesExplPackage {tagpdf-checks-code} {2021-06-14} {0.82} {part of tagpdf - code related to checks and messages} diff --git a/Master/texmf-dist/tex/latex/tagpdf/tagpdf-luatex.def b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-luatex.def index 7ce0ccbd05b..33a35a2ee30 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} {2021/05/14} {0.81} +\ProvidesExplFile {tagpdf-luatex.def} {2021-06-14} {0.82} {tagpdf~driver~for~luatex} \newattribute \l__tag_mc_type_attr %the value represent the type 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 6b0a4a033fc..a8d3eb3762b 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.dtx -\ProvidesExplPackage {tagpdf-mc-code-generic} {2021/05/14} {0.81} +\ProvidesExplPackage {tagpdf-mc-code-generic} {2021-06-14} {0.82} {part of tagpdf - code related to marking chunks - generic mode} 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 23c7c746153..21eef042047 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.dtx -\ProvidesExplPackage {tagpdf-mc-code-lua} {2021/05/14} {0.81} +\ProvidesExplPackage {tagpdf-mc-code-lua} {2021-06-14} {0.82} {tagpdf - mc code only for the luamode } diff --git a/Master/texmf-dist/tex/latex/tagpdf/tagpdf-mc-code-shared.sty b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-mc-code-shared.sty index 7a7fb156ad7..7156cf78895 100644 --- a/Master/texmf-dist/tex/latex/tagpdf/tagpdf-mc-code-shared.sty +++ b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-mc-code-shared.sty @@ -19,7 +19,7 @@ %% and all files in that bundle must be distributed together. %% %% File: tagpdf-mc.dtx -\ProvidesExplPackage {tagpdf-mc-code-shared} {2021/05/14} {0.81} +\ProvidesExplPackage {tagpdf-mc-code-shared} {2021-06-14} {0.82} {part of tagpdf - code related to marking chunks - code shared by generic and luamode } diff --git a/Master/texmf-dist/tex/latex/tagpdf/tagpdf-pdftex.def b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-pdftex.def index cda376c56e6..7e3881075bd 100644 --- a/Master/texmf-dist/tex/latex/tagpdf/tagpdf-pdftex.def +++ b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-pdftex.def @@ -19,7 +19,7 @@ %% and all files in that bundle must be distributed together. %% %% File: tagpdf-backend.dtx -\ProvidesExplFile {tagpdf-pdftex.def} {2021/05/14} {0.81} +\ProvidesExplFile {tagpdf-pdftex.def} {2021-06-14} {0.82} {tagpdf~driver~for~pdftex} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/Master/texmf-dist/tex/latex/tagpdf/tagpdf-roles-code.sty b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-roles-code.sty index e7bcea87af1..aefbff739fc 100644 --- a/Master/texmf-dist/tex/latex/tagpdf/tagpdf-roles-code.sty +++ b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-roles-code.sty @@ -19,7 +19,7 @@ %% and all files in that bundle must be distributed together. %% %% File: tagpdf-roles.dtx -\ProvidesExplPackage {tagpdf-roles-code} {2021/05/14} {0.81} +\ProvidesExplPackage {tagpdf-roles-code} {2021-06-14} {0.82} {part of tagpdf - code related to roles and structure names} \__tag_seq_new:N \g__tag_role_tags_seq %to get names (type/NS) from numbers \__tag_prop_new:N \g__tag_role_tags_prop %to get numbers from names (type/NS) diff --git a/Master/texmf-dist/tex/latex/tagpdf/tagpdf-space-code.sty b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-space-code.sty index d4cee555290..910c9908381 100644 --- a/Master/texmf-dist/tex/latex/tagpdf/tagpdf-space-code.sty +++ b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-space-code.sty @@ -19,7 +19,7 @@ %% and all files in that bundle must be distributed together. %% %% File: tagpdf-space.dtx -\ProvidesExplPackage {tagpdf-space-code} {2021/05/14} {0.81} +\ProvidesExplPackage {tagpdf-space-code} {2021-06-14} {0.82} {part of tagpdf - code related to real space chars} \sys_if_engine_pdftex:T diff --git a/Master/texmf-dist/tex/latex/tagpdf/tagpdf-struct-code.sty b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-struct-code.sty index a70aa3ec850..3b67e6a6bfb 100644 --- a/Master/texmf-dist/tex/latex/tagpdf/tagpdf-struct-code.sty +++ b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-struct-code.sty @@ -19,7 +19,7 @@ %% and all files in that bundle must be distributed together. %% %% File: tagpdf-struct.dtx -\ProvidesExplPackage {tagpdf-struct-code} {2021/05/14} {0.81} +\ProvidesExplPackage {tagpdf-struct-code} {2021-06-14} {0.82} {part of tagpdf - code related to storing structure} \newcounter { g__tag_struct_abs_int } \int_gzero:N \c@g__tag_struct_abs_int @@ -154,7 +154,7 @@ } } -\cs_new:Nn\__tag_struct_kid_link_gput_right:nn %#1 num of parent struct, #2 obj reference +\cs_new:Nn\__tag_struct_kid_OBJR_gput_right:nn %#1 num of parent struct, #2 obj reference { \pdf_object_unnamed_write:nx { dict } @@ -169,7 +169,7 @@ } } -\cs_generate_variant:Nn\__tag_struct_kid_link_gput_right:nn { nx } +\cs_generate_variant:Nn\__tag_struct_kid_OBJR_gput_right:nn { nx } \cs_new:Nn\__tag_struct_exchange_kid_command:N %N= seq { @@ -598,11 +598,12 @@ } } -%%%% Code to tag links +%%%% Code to tag annotations like links. %%%% this works for url, see exp-link.pdf. %%%% it must be checked for other links -\cs_new_protected:Nn \__tag_struct_finish_link: +\cs_new_protected:Npn \__tag_struct_insert_annot:nn #1 #2 %#1 object reference to the annotation/xform + %#2 structparent number { \bool_if:NT \g__tag_active_struct_bool { @@ -614,17 +615,18 @@ \msg_error:nn { tag } { struct-faulty-nesting } } %put the obj number of link annot in the kid entry: - \__tag_struct_kid_link_gput_right:nx + \__tag_struct_kid_OBJR_gput_right:nx { \l__tag_struct_stack_parent_tmp_tl } { - \pdfannot_link_ref_last: + #1 % } % add the parent obj number to the parent tree: + \exp_args:Nnx \__tag_parenttree_add_objr:nn { - \int_use:N\c@g__tag_parenttree_obj_int + #2 } { \prop_item:cn @@ -636,6 +638,15 @@ } } +\cs_new_protected:Npn \tag_struct_insert_annot:nn #1 #2 %#1 should be an object reference + %#2 struct parent num + { + \__tag_struct_insert_annot:nn {#1}{#2} + } + +\cs_generate_variant:Nn \tag_struct_insert_annot:nn {xx} +\cs_new:Npn \tag_struct_parent_int: {\int_use:c { c@g__tag_parenttree_obj_int }} + %% %% diff --git a/Master/texmf-dist/tex/latex/tagpdf/tagpdf-tree-code.sty b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-tree-code.sty index 258f2818eb6..8d8c0859878 100644 --- a/Master/texmf-dist/tex/latex/tagpdf/tagpdf-tree-code.sty +++ b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-tree-code.sty @@ -19,7 +19,7 @@ %% and all files in that bundle must be distributed together. %% %% File: tagpdf-tree.dtx -\ProvidesExplPackage {tagpdf-tree-code} {2021/05/14} {0.81} +\ProvidesExplPackage {tagpdf-tree-code} {2021-06-14} {0.82} {part of tagpdf - code related to writing trees and dictionaries to the pdf} \hook_gput_code:nnn{begindocument}{tagpdf} diff --git a/Master/texmf-dist/tex/latex/tagpdf/tagpdf-user.sty b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-user.sty index b52a3e0f31f..d8ac9706154 100644 --- a/Master/texmf-dist/tex/latex/tagpdf/tagpdf-user.sty +++ b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-user.sty @@ -19,7 +19,7 @@ %% and all files in that bundle must be distributed together. %% %% File: tagpdf.dtx -\ProvidesExplPackage {tagpdf-user} {2021/05/14} {0.81} +\ProvidesExplPackage {tagpdf-user} {2021-06-14} {0.82} {tagpdf - user commands} \NewDocumentCommand \tagpdfsetup { m } @@ -30,6 +30,16 @@ \cs_set_eq:NN\tagpdfifluatexTF \sys_if_engine_luatex:TF \cs_set_eq:NN\tagpdfifluatexT \sys_if_engine_luatex:T \cs_set_eq:NN\tagpdfifpdftexT \sys_if_engine_pdftex:T +\prg_new_conditional:Npnn \tag_if_active: { p , T , TF, F } + { + \bool_if:NTF\g__tag_active_struct_bool + { + \prg_return_true: + } + { + \prg_return_false: + } + } \bool_new:N \l__tag_stop_bool \prg_new_conditional:Nnn \__tag_if_stop: {p,T,F,TF} @@ -205,7 +215,7 @@ \pdfannot_dict_put:nnx { link/URI } { StructParent } - { \int_use:N\c@g__tag_parenttree_obj_int } + { \tag_struct_parent_int: } } } @@ -215,7 +225,7 @@ { \bool_if:NT \g__tag_active_struct_bool { - \__tag_struct_finish_link: + \tag_struct_insert_annot:xx {\pdfannot_link_ref_last:}{\tag_struct_parent_int:} \tag_mc_end: \tag_struct_end: \tag_mc_begin_pop:n{} @@ -234,7 +244,7 @@ \pdfannot_dict_put:nnx { link/GoTo } { StructParent } - { \int_use:N\c@g__tag_parenttree_obj_int } + { \tag_struct_parent_int: } } } @@ -244,7 +254,7 @@ { \bool_if:NT \g__tag_active_struct_bool { - \__tag_struct_finish_link: + \tag_struct_insert_annot:xx {\pdfannot_link_ref_last:}{\tag_struct_parent_int:} \tag_mc_end: \tag_struct_end: \tag_mc_begin_pop:n{} diff --git a/Master/texmf-dist/tex/latex/tagpdf/tagpdf.lua b/Master/texmf-dist/tex/latex/tagpdf/tagpdf.lua index f21d27218ba..d2b49628180 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.81", --TAGVERSION - date = "2021-05-14", --TAGDATE + version = "0.82", --TAGVERSION + date = "2021-06-14", --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 aa3c436567f..75825724cfd 100644 --- a/Master/texmf-dist/tex/latex/tagpdf/tagpdf.sty +++ b/Master/texmf-dist/tex/latex/tagpdf/tagpdf.sty @@ -19,7 +19,7 @@ %% and all files in that bundle must be distributed together. %% %% File: tagpdf.dtx -\ProvidesExplPackage {tagpdf} {2021/05/14} {0.81} +\ProvidesExplPackage {tagpdf} {2021-06-14} {0.82} { A package to experiment with pdf tagging } \bool_if:nF diff --git a/Master/texmf-dist/tex/latex/tagpdf/tagpdfdocu-patches.sty b/Master/texmf-dist/tex/latex/tagpdf/tagpdfdocu-patches.sty index 40dc38289f1..ec5042709ab 100644 --- a/Master/texmf-dist/tex/latex/tagpdf/tagpdfdocu-patches.sty +++ b/Master/texmf-dist/tex/latex/tagpdf/tagpdfdocu-patches.sty @@ -1,11 +1,14 @@ %\RequirePackage[enable-debug]{expl3}[2018/06/14] -\ProvidesExplPackage {tagpdfdocu-patches} {2021/03/22} {0.80} +\ProvidesExplPackage {tagpdfdocu-patches} {2021-06-14} {0.82} {patches/commands for the tagpdf documentation} %%%%% % tableofcontents +% no internal patches, but KOMA-only solution +% TODO it must be checked how best practice is now for the table of contents. %%%%% + \AfterTOCHead{\tag_struct_begin:n{tag=TOC}} \AfterStartingTOC{\tag_struct_end:} %end TOC %Marking the toc entries @@ -78,6 +81,7 @@ %%%%%%%%% % Sectioning commands +% no internal patches, but KOMA-only solution %%%%%%%% \AddtoDoHook{heading/begingroup}{\tagpdfparaOff\use_none:n} @@ -106,10 +110,10 @@ \tag_mc_end:\tagstructend}% } -%minisec is simply P, H6 doesn't work .... -% so we let paratagging handle this. But we add a strong structure -% should changed to H6 as it is no longer required to have H6 only after H5 -%but need to check how to disable paratagging ... +% minisec is simply P, so we let paratagging handle this. +% But we add a strong structure +% TODO: Should changed to H6 as it is no longer required to have H6 only after H5 +% but need to check how to disable paratagging ... \cs_new:Nn \__tag_docu_tag_minisec:n { \tag_struct_begin:n {tag=Strong} @@ -124,7 +128,8 @@ %%%% %% Lists - +%% patches enumitem internals! +%%%% \AddToHook{env/itemize/begin}{\par\tagstructbegin{tag=L}}%\par is needed to close the paragraph before. \AddToHook{env/itemize/end}{\par\tagstructend\tagstructend\tagstructend}%LBody,LI,L \AddToHook{env/enumerate/begin}{\par\tagstructbegin{tag=L}} @@ -204,7 +209,9 @@ % TODO % ======= bibliography ======== -% biblatex. There are some entry mc-chunks somewhere. +% biblatex. Creates some empty mc-chunks. +% no internal patches, but redefining begentry/finentry is not safe. +% better hook is needed. \newbibmacro*{begentry}{\tagstructbegin{tag=BibEntry}\tagmcbegin{tag=BibEntry}} \newbibmacro*{finentry}{\finentry\tagmcend\tagstructend} -- cgit v1.2.3