From b38bdd666b0d1885e3973229464381898448a5fb Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Tue, 26 Mar 2024 20:16:04 +0000 Subject: tagpdf (26mar24) git-svn-id: svn://tug.org/texlive/trunk@70779 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/latex/tagpdf/README.md | 4 +- Master/texmf-dist/doc/latex/tagpdf/ex-AF-file.pdf | 118 +++++++-------- .../doc/latex/tagpdf/ex-alt-actualtext.pdf | Bin 34295 -> 34295 bytes .../texmf-dist/doc/latex/tagpdf/ex-attribute.pdf | 71 ++++----- .../doc/latex/tagpdf/ex-formula-problem.pdf | 20 +-- Master/texmf-dist/doc/latex/tagpdf/ex-list.pdf | 159 +++++++++++---------- .../tagpdf/ex-mc-manual-para-split-obsolete.pdf | 16 +-- .../texmf-dist/doc/latex/tagpdf/ex-softhyphen.pdf | 18 +-- .../doc/latex/tagpdf/ex-spaceglyph-listings.pdf | 18 +-- .../doc/latex/tagpdf/ex-structure-obsolete.pdf | 18 +-- .../doc/latex/tagpdf/ex-tagpdf-template.pdf | 83 +++++------ Master/texmf-dist/doc/latex/tagpdf/tagpdf-code.pdf | Bin 1626709 -> 1688215 bytes Master/texmf-dist/doc/latex/tagpdf/tagpdf.pdf | Bin 1158244 -> 1169481 bytes Master/texmf-dist/doc/latex/tagpdf/tagpdf.tex | 26 ++-- .../doc/latex/tagpdf/tagpdfsetup-keys.tex | 4 +- .../source/latex/tagpdf/tagpdf-backend.dtx | 10 +- .../source/latex/tagpdf/tagpdf-checks.dtx | 46 +++++- .../texmf-dist/source/latex/tagpdf/tagpdf-data.dtx | 16 +-- .../source/latex/tagpdf/tagpdf-mc-generic.dtx | 6 +- .../source/latex/tagpdf/tagpdf-mc-luacode.dtx | 6 +- .../source/latex/tagpdf/tagpdf-mc-shared.dtx | 8 +- .../source/latex/tagpdf/tagpdf-roles.dtx | 4 +- .../source/latex/tagpdf/tagpdf-space.dtx | 4 +- .../source/latex/tagpdf/tagpdf-struct.dtx | 100 +++++++------ .../texmf-dist/source/latex/tagpdf/tagpdf-tree.dtx | 64 ++++++--- .../texmf-dist/source/latex/tagpdf/tagpdf-user.dtx | 17 ++- Master/texmf-dist/source/latex/tagpdf/tagpdf.dtx | 14 +- Master/texmf-dist/tex/latex/tagpdf/tagpdf-base.sty | 3 +- .../tex/latex/tagpdf/tagpdf-debug-generic.sty | 2 +- .../tex/latex/tagpdf/tagpdf-debug-lua.sty | 2 +- .../texmf-dist/tex/latex/tagpdf/tagpdf-debug.sty | 25 +++- .../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-ns-latex-book.def | 2 +- .../tex/latex/tagpdf/tagpdf-ns-latex.def | 2 +- .../tex/latex/tagpdf/tagpdf-ns-mathml.def | 2 +- .../texmf-dist/tex/latex/tagpdf/tagpdf-ns-pdf.def | 2 +- .../texmf-dist/tex/latex/tagpdf/tagpdf-ns-pdf2.def | 2 +- .../tex/latex/tagpdf/tagpdf-parent-child-2.csv | 2 +- .../tex/latex/tagpdf/tagpdf-parent-child.csv | 2 +- Master/texmf-dist/tex/latex/tagpdf/tagpdf.lua | 6 +- Master/texmf-dist/tex/latex/tagpdf/tagpdf.sty | 136 ++++++++++++------ .../tex/latex/tagpdf/tagpdfdocu-patches.sty | 14 +- 44 files changed, 609 insertions(+), 449 deletions(-) (limited to 'Master') diff --git a/Master/texmf-dist/doc/latex/tagpdf/README.md b/Master/texmf-dist/doc/latex/tagpdf/README.md index 9f79f1623f1..2dd2455fcf0 100644 --- a/Master/texmf-dist/doc/latex/tagpdf/README.md +++ b/Master/texmf-dist/doc/latex/tagpdf/README.md @@ -1,6 +1,6 @@ #tagpdf β€” A package to create tagged pdf -Packageversion: 0.98x -Packagedate: 2024/02/29 +Packageversion: 0.99a +Packagedate: 2024/03/27 Author: Ulrike Fischer, LaTeX Project Team ## License diff --git a/Master/texmf-dist/doc/latex/tagpdf/ex-AF-file.pdf b/Master/texmf-dist/doc/latex/tagpdf/ex-AF-file.pdf index 8c99d4f1046..d60ba4c7195 100644 --- a/Master/texmf-dist/doc/latex/tagpdf/ex-AF-file.pdf +++ b/Master/texmf-dist/doc/latex/tagpdf/ex-AF-file.pdf @@ -1,36 +1,36 @@ %PDF-2.0 %ΜΥΑΤΕΨΠΔΖ 22 0 obj -<< /Subtype /application#2Fx-tex/Type /EmbeddedFile /Params<> /Length 151 >> +<< /Subtype /application#2Fx-tex/Type /EmbeddedFile /Params<> /Length 151 >> stream %% LaTeX2e file `example-input-file.tex' %% generated by the `filecontents' environment -%% from source `ex-AF-file' on 2024/02/29. +%% from source `ex-AF-file' on 2024/03/26. %% Additional info! endstream endobj 23 0 obj -<< /Type /Filespec /AFRelationship /Unspecified /F /UF /EF<> >> +<< /Type /Filespec /AFRelationship /Unspecified /F (example-input-file.tex) /UF /EF<> >> endobj 25 0 obj -<< /Subtype /text#2Fplain/Type /EmbeddedFile /Params<> /Length 19 >> +<< /Subtype /text#2Fplain/Type /EmbeddedFile /Params<> /Length 19 >> stream BΓ€r with teh shirt endstream endobj 26 0 obj -<< /Type /Filespec /AFRelationship /Supplement /F /UF /EF<> >> +<< /Type /Filespec /AFRelationship /Supplement /F (tag-AFfile1.txt) /UF /EF<> >> endobj 28 0 obj -<< /Subtype /text#2Fplain/Type /EmbeddedFile /Params<> /Length 4 >> +<< /Subtype /text#2Fplain/Type /EmbeddedFile /Params<> /Length 4 >> stream Duck endstream endobj 29 0 obj -<< /Type /Filespec /AFRelationship /Supplement /F /UF /EF<> >> +<< /Type /Filespec /AFRelationship /Supplement /F (tag-AFfile2.txt) /UF /EF<> >> endobj 31 0 obj << /Type /Metadata /Subtype /XML /Length 11382 >> @@ -228,7 +228,7 @@ stream - luahbtex-1.17.0 + luahbtex-1.18.0 2.0 @@ -242,17 +242,17 @@ stream - 2024-02-29T16:57:20+01:00 + 2024-03-26T12:37:25+01:00 application/pdf ex-AF-file.tex LaTeX - 2024-02-29T16:57:20+01:00 - 2024-02-29T16:57:20+01:00 - 2024-02-29T16:57:20+01:00 + 2024-03-26T12:37:25+01:00 + 2024-03-26T12:37:25+01:00 + 2024-03-26T12:37:25+01:00 uuid:38d5a844-2217-4081-87cc-b2129dc357a6 - uuid:a7d1af3c-32df-45aa-8920-ce87378d2633 + uuid:ad44a459-698d-4e23-82da-7687a47c02a1 three 1 @@ -347,25 +347,25 @@ endobj << /Type /Namespace /NS (https://www.latex-project.org/ns/book/2022) /RoleMapNS 18 0 R >> endobj 19 0 obj -<< /Type /Namespace /NS (data:,DEBE37CF-E291-AA2B-9859-8F75D4B0C463) >> +<< /Type /Namespace /NS (data:,1E5AC41C-2554-3F25-6E65-E30725E676D0) >> endobj 8 0 obj [ 9 0 R 11 0 R 13 0 R 15 0 R 17 0 R 19 0 R ] endobj 21 0 obj -<< /Type /StructElem /S /Document /P 5 0 R /K [24 0 R 27 0 R 30 0 R] /NS 11 0 R /ID (ID.01) >> +<< /Type /StructElem /S /Document /NS 11 0 R /P 5 0 R /K [24 0 R 27 0 R 30 0 R] /ID (ID.01) >> endobj 24 0 obj -<< /Type /StructElem /S /P /P 21 0 R /K <> /AF [26 0 R] /NS 11 0 R /ID (ID.02) >> +<< /Type /StructElem /AF [26 0 R] /S /P /NS 11 0 R /P 21 0 R /K <> /ID (ID.02) >> endobj 27 0 obj -<< /Type /StructElem /S /P /P 21 0 R /K <> /AF [29 0 R] /NS 11 0 R /ID (ID.03) >> +<< /Type /StructElem /AF [29 0 R] /S /P /NS 11 0 R /P 21 0 R /K <> /ID (ID.03) >> endobj 30 0 obj -<< /Type /StructElem /S /P /P 21 0 R /K <> /AF [23 0 R] /NS 11 0 R /ID (ID.04) >> +<< /Type /StructElem /AF [23 0 R] /S /P /NS 11 0 R /P 21 0 R /K <> /ID (ID.04) >> endobj 5 0 obj -<< /Type /StructTreeRoot /K 21 0 R /IDTree 39 0 R /ParentTree 6 0 R /RoleMap 7 0 R /Namespaces 8 0 R >> +<< /Type /StructTreeRoot /Namespaces 8 0 R /IDTree 39 0 R /ParentTree 6 0 R /RoleMap 7 0 R /K 21 0 R >> endobj 40 0 obj [ 28 [ 500 ] 49 [ 681 444 ] 63 [ 556 ] 66 [ 278 ] 72 [ 278 ] 75 [ 833 ] 77 [ 556 ] 81 [ 500 ] 88 [ 278 ] 97 [ 556 ] 103 [ 333 ] 105 [ 389 ] 108 [ 750 556 ] 120 [ 444 ] ] @@ -449,59 +449,59 @@ endobj << /Type /Catalog /Pages 36 0 R /MarkInfo 37 0 R/Lang (de-DE)/Metadata 31 0 R/StructTreeRoot 5 0 R >> endobj 46 0 obj -<< /Producer (luahbtex-1.17.0)/Creator (LaTeX)/CreationDate (D:20240229165720+01'00')/ModDate (D:20240229165720+01'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.17.0 (TeX Live 2023)) >> +<< /Producer (luahbtex-1.18.0)/Creator (LaTeX)/CreationDate (D:20240326123725+01'00')/ModDate (D:20240326123725+01'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.0 (TeX Live 2024)) >> endobj xref 0 47 0000000002 65535 f -0000013712 00000 n +0000013544 00000 n 0000000003 00000 f 0000000004 00000 f 0000000010 00000 f -0000016530 00000 n -0000013795 00000 n -0000014006 00000 n -0000015960 00000 n -0000014585 00000 n +0000016362 00000 n +0000013627 00000 n +0000013838 00000 n +0000015792 00000 n +0000014417 00000 n 0000000012 00000 f -0000014653 00000 n +0000014485 00000 n 0000000014 00000 f -0000014723 00000 n +0000014555 00000 n 0000000020 00000 f -0000015486 00000 n -0000014804 00000 n -0000015764 00000 n -0000015593 00000 n -0000015871 00000 n +0000015318 00000 n +0000014636 00000 n +0000015596 00000 n +0000015425 00000 n +0000015703 00000 n 0000000000 00000 f -0000016021 00000 n +0000015853 00000 n 0000000020 00000 n 0000000382 00000 n -0000016134 00000 n -0000000673 00000 n -0000000828 00000 n -0000016266 00000 n -0000001062 00000 n -0000001202 00000 n -0000016398 00000 n -0000001436 00000 n -0000013649 00000 n -0000013514 00000 n -0000012908 00000 n -0000020283 00000 n -0000020637 00000 n -0000013759 00000 n -0000013852 00000 n -0000013969 00000 n -0000016650 00000 n -0000019099 00000 n -0000016836 00000 n -0000019320 00000 n -0000020437 00000 n -0000020699 00000 n -0000020817 00000 n +0000015966 00000 n +0000000603 00000 n +0000000758 00000 n +0000016098 00000 n +0000000943 00000 n +0000001083 00000 n +0000016230 00000 n +0000001268 00000 n +0000013481 00000 n +0000013346 00000 n +0000012740 00000 n +0000020115 00000 n +0000020469 00000 n +0000013591 00000 n +0000013684 00000 n +0000013801 00000 n +0000016482 00000 n +0000018931 00000 n +0000016668 00000 n +0000019152 00000 n +0000020269 00000 n +0000020531 00000 n +0000020649 00000 n trailer -<< /Size 47 /Root 45 0 R /Info 46 0 R /ID [ <3ABB138A7AFFDC627AC73E4C733E69DE> <3ABB138A7AFFDC627AC73E4C733E69DE> ] >> +<< /Size 47 /Root 45 0 R /Info 46 0 R /ID [ <84F6CFEAE9C5A0FD2B6A9EA6CD2F0427> <84F6CFEAE9C5A0FD2B6A9EA6CD2F0427> ] >> startxref -21040 +20872 %%EOF diff --git a/Master/texmf-dist/doc/latex/tagpdf/ex-alt-actualtext.pdf b/Master/texmf-dist/doc/latex/tagpdf/ex-alt-actualtext.pdf index 1ae3bb7f5ce..3287b8c4b79 100644 Binary files a/Master/texmf-dist/doc/latex/tagpdf/ex-alt-actualtext.pdf and b/Master/texmf-dist/doc/latex/tagpdf/ex-alt-actualtext.pdf differ diff --git a/Master/texmf-dist/doc/latex/tagpdf/ex-attribute.pdf b/Master/texmf-dist/doc/latex/tagpdf/ex-attribute.pdf index 81407f660d0..040eb74831a 100644 --- a/Master/texmf-dist/doc/latex/tagpdf/ex-attribute.pdf +++ b/Master/texmf-dist/doc/latex/tagpdf/ex-attribute.pdf @@ -202,7 +202,7 @@ stream - luahbtex-1.17.0 + luahbtex-1.18.0 1.5 @@ -216,17 +216,17 @@ stream - 2024-02-29T16:58:16+01:00 + 2024-03-26T12:38:18+01:00 application/pdf ex-attribute.tex LaTeX - 2024-02-29T16:58:16+01:00 - 2024-02-29T16:58:16+01:00 - 2024-02-29T16:58:16+01:00 + 2024-03-26T12:38:18+01:00 + 2024-03-26T12:38:18+01:00 + 2024-03-26T12:38:18+01:00 uuid:7a9cf910-1c19-429a-8f24-339c62d8a57f - uuid:026f2f3b-0c57-4019-879b-e29556eddc06 + uuid:01f40ebc-3025-46da-83d0-53b45ddca7a8 three 1 @@ -340,8 +340,9 @@ endobj << /Artifact /NonStruct /DocumentFragment /Art /Aside /Note /H7 /H6 /H8 /H6 /H9 /H6 /H10 /H6 /Title /P /FENote /Note /Sub /Span /Em /Span /Strong /Span /title /P /part /P /section /H1 /subsection /H2 /subsubsection /H3 /paragraph /H4 /subparagraph /H5 /list /L /itemize /L /enumerate /L /description /L /quote /BlockQuote /quotation /BlockQuote /verbatim /P /item /LI /itemlabel /Lbl /itembody /LBody /footnote /Note /footnotemark /Lbl /footnotelabel /Lbl /text-unit /Part /text /P /theorem-like /Sect /codeline /Span /float /Note /figures /Sect /tables /Sect >> endobj 30 0 obj -<< /Lay-borderdotted << <> >> -/TH-col << <> >> >> +<< /TH-col << <> >> +/Lay-borderdotted << <> >> + >> endobj 9 0 obj << /Type /StructElem /S /Document /P 5 0 R /K 10 0 R /ID (ID.001) >> @@ -356,10 +357,10 @@ endobj << /Type /StructElem /S /TR /P 11 0 R /K [13 0 R 16 0 R] /ID (ID.004) >> endobj 13 0 obj -<< /Type /StructElem /S /TH /P 12 0 R /K <> /A [ 14 0 R 15 0 R] /ID (ID.005) >> +<< /Type /StructElem /A [ 14 0 R 15 0 R] /S /TH /P 12 0 R /K <> /ID (ID.005) >> endobj 16 0 obj -<< /Type /StructElem /S /TH /P 12 0 R /K <> /C [/TH-col /Lay-borderdotted] /ID (ID.006) >> +<< /Type /StructElem /C [/TH-col /Lay-borderdotted] /S /TH /P 12 0 R /K <> /ID (ID.006) >> endobj 17 0 obj << /Type /StructElem /S /TBody /P 10 0 R /K 18 0 R /ID (ID.007) >> @@ -374,7 +375,7 @@ endobj << /Type /StructElem /S /TD /P 18 0 R /K <> /ID (ID.010) >> endobj 5 0 obj -<< /Type /StructTreeRoot /K 9 0 R /IDTree 29 0 R /ParentTree 6 0 R /RoleMap 7 0 R /ClassMap 30 0 R >> +<< /Type /StructTreeRoot /IDTree 29 0 R /ClassMap 30 0 R /ParentTree 6 0 R /RoleMap 7 0 R /K 9 0 R >> endobj 31 0 obj [ 63 [ 556 ] 82 [ 500 ] 96 [ 392 ] 103 [ 333 ] 107 [ 500 ] ] @@ -449,7 +450,7 @@ endobj << /Type /Catalog /Pages 26 0 R /MarkInfo 27 0 R/Lang (de_DE)/Metadata 21 0 R/StructTreeRoot 5 0 R >> endobj 38 0 obj -<< /Producer (luahbtex-1.17.0)/Creator (LaTeX)/Title (Title)/CreationDate (D:20240229165816+01'00')/ModDate (D:20240229165816+01'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.17.0 (TeX Live 2023)) >> +<< /Producer (luahbtex-1.18.0)/Creator (LaTeX)/Title (Title)/CreationDate (D:20240326123818+01'00')/ModDate (D:20240326123818+01'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.0 (TeX Live 2024)) >> endobj xref 0 39 @@ -458,42 +459,42 @@ xref 0000000003 00000 f 0000000004 00000 f 0000000008 00000 f -0000014964 00000 n +0000014965 00000 n 0000012928 00000 n 0000013247 00000 n 0000000000 00000 f -0000013952 00000 n -0000014037 00000 n -0000014129 00000 n -0000014213 00000 n -0000014303 00000 n +0000013953 00000 n +0000014038 00000 n +0000014130 00000 n +0000014214 00000 n +0000014304 00000 n 0000000020 00000 n 0000000071 00000 n -0000014432 00000 n -0000014572 00000 n -0000014656 00000 n -0000014746 00000 n -0000014855 00000 n +0000014433 00000 n +0000014573 00000 n +0000014657 00000 n +0000014747 00000 n +0000014856 00000 n 0000000132 00000 n 0000012758 00000 n 0000012616 00000 n 0000011606 00000 n -0000017304 00000 n -0000017658 00000 n +0000017305 00000 n +0000017659 00000 n 0000012892 00000 n 0000012992 00000 n 0000013210 00000 n 0000013826 00000 n -0000015082 00000 n -0000016260 00000 n -0000015159 00000 n -0000015233 00000 n -0000016496 00000 n -0000017458 00000 n -0000017720 00000 n -0000017838 00000 n +0000015083 00000 n +0000016261 00000 n +0000015160 00000 n +0000015234 00000 n +0000016497 00000 n +0000017459 00000 n +0000017721 00000 n +0000017839 00000 n trailer -<< /Size 39 /Root 37 0 R /Info 38 0 R /ID [ ] >> +<< /Size 39 /Root 37 0 R /Info 38 0 R /ID [ <7CB01A17A29E54AFE61F74619149BAA2> <7CB01A17A29E54AFE61F74619149BAA2> ] >> startxref -18075 +18076 %%EOF diff --git a/Master/texmf-dist/doc/latex/tagpdf/ex-formula-problem.pdf b/Master/texmf-dist/doc/latex/tagpdf/ex-formula-problem.pdf index 5d3323be0d3..b6d83ea778e 100644 --- a/Master/texmf-dist/doc/latex/tagpdf/ex-formula-problem.pdf +++ b/Master/texmf-dist/doc/latex/tagpdf/ex-formula-problem.pdf @@ -225,7 +225,7 @@ stream - luahbtex-1.17.0 + luahbtex-1.18.0 1.7 @@ -239,17 +239,17 @@ stream - 2024-02-29T16:58:45+01:00 + 2024-03-26T12:38:44+01:00 application/pdf ex-formula-problem.tex LaTeX - 2024-02-29T16:58:45+01:00 - 2024-02-29T16:58:45+01:00 - 2024-02-29T16:58:45+01:00 + 2024-03-26T12:38:44+01:00 + 2024-03-26T12:38:44+01:00 + 2024-03-26T12:38:44+01:00 uuid:8eb2ce1d-b2ec-440a-8bc2-73733eb3eeb0 - uuid:65ad365f-5035-4b6f-823a-616444d2fc32 + uuid:ddd0eb59-f589-4121-8907-771096906955 three 2 @@ -330,10 +330,10 @@ endobj << /Type /StructElem /S /P /P 9 0 R /K <> /ID (ID.04) >> endobj 18 0 obj -<< /Type /StructElem /S /Formula /P 9 0 R /K <> /Alt /ID (ID.05) >> +<< /Type /StructElem /Alt /S /Formula /P 9 0 R /K <> /ID (ID.05) >> endobj 5 0 obj -<< /Type /StructTreeRoot /K 9 0 R /IDTree 25 0 R /ParentTree 6 0 R /RoleMap 7 0 R >> +<< /Type /StructTreeRoot /IDTree 25 0 R /ParentTree 6 0 R /RoleMap 7 0 R /K 9 0 R >> endobj 26 0 obj [ 28 [ 500 ] 49 [ 681 444 ] 55 [ 306 ] 63 [ 556 ] 66 [ 278 ] 72 [ 278 ] 75 [ 833 ] 77 [ 556 ] 81 [ 500 ] 88 [ 278 ] 96 [ 392 556 ] 103 [ 333 ] 105 [ 389 ] 108 [ 750 556 ] 120 [ 444 ] ] @@ -425,7 +425,7 @@ endobj << /Type /Catalog /Pages 16 0 R /MarkInfo 23 0 R/Lang (de-DE)/Metadata 19 0 R/StructTreeRoot 5 0 R >> endobj 33 0 obj -<< /Producer (luahbtex-1.17.0)/Creator (LaTeX)/CreationDate (D:20240229165845+01'00')/ModDate (D:20240229165845+01'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.17.0 (TeX Live 2023)) >> +<< /Producer (luahbtex-1.18.0)/Creator (LaTeX)/CreationDate (D:20240326123844+01'00')/ModDate (D:20240326123844+01'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.0 (TeX Live 2024)) >> endobj xref 0 34 @@ -464,7 +464,7 @@ xref 0000018886 00000 n 0000019004 00000 n trailer -<< /Size 34 /Root 32 0 R /Info 33 0 R /ID [ ] >> +<< /Size 34 /Root 32 0 R /Info 33 0 R /ID [ <261B190B1D69BD2C62C12E52CE4751E9> <261B190B1D69BD2C62C12E52CE4751E9> ] >> startxref 19227 %%EOF diff --git a/Master/texmf-dist/doc/latex/tagpdf/ex-list.pdf b/Master/texmf-dist/doc/latex/tagpdf/ex-list.pdf index c382fd3d0a1..ccb7061fdae 100644 --- a/Master/texmf-dist/doc/latex/tagpdf/ex-list.pdf +++ b/Master/texmf-dist/doc/latex/tagpdf/ex-list.pdf @@ -196,7 +196,7 @@ stream - luahbtex-1.17.0 + luahbtex-1.18.0 1.7 @@ -210,17 +210,17 @@ stream - 2024-02-29T16:59:15+01:00 + 2024-03-26T12:39:11+01:00 application/pdf ex-list.tex LaTeX - 2024-02-29T16:59:15+01:00 - 2024-02-29T16:59:15+01:00 - 2024-02-29T16:59:15+01:00 + 2024-03-26T12:39:11+01:00 + 2024-03-26T12:39:11+01:00 + 2024-03-26T12:39:11+01:00 uuid:4c749825-1de7-414c-879f-29e4d0bef66e - uuid:f0eb81b5-3e25-4af9-8dad-0fe978dae692 + uuid:265453a1-69b8-4a8b-89ff-82f48c105aba three 1 @@ -348,10 +348,11 @@ endobj << /Artifact /NonStruct /DocumentFragment /Art /Aside /Note /H7 /H6 /H8 /H6 /H9 /H6 /H10 /H6 /Title /P /FENote /Note /Sub /Span /Em /Span /Strong /Span /title /P /part /P /section /H2 /subsection /H3 /subsubsection /H4 /paragraph /H5 /subparagraph /H6 /list /L /itemize /L /enumerate /L /description /L /quote /BlockQuote /quotation /BlockQuote /verbatim /P /item /LI /itemlabel /Lbl /itembody /LBody /footnote /Note /footnotemark /Lbl /footnotelabel /Lbl /text-unit /Part /text /P /theorem-like /Sect /codeline /Span /float /Note /figures /Sect /tables /Sect /chapter /H1 >> endobj 58 0 obj -<< /justify <> -/description <> +<< /itemize <> +/justify <> /enumerate <> -/itemize <> >> +/description <> + >> endobj 9 0 obj << /Type /StructElem /S /Document /P 5 0 R /K [12 0 R 24 0 R 36 0 R] /ID (ID.001) >> @@ -366,7 +367,7 @@ endobj << /Type /StructElem /S /text-unit /P 9 0 R /K 13 0 R /ID (ID.004) >> endobj 13 0 obj -<< /Type /StructElem /S /itemize /P 12 0 R /K [14 0 R 19 0 R] /C /itemize /ID (ID.005) >> +<< /Type /StructElem /C /itemize /S /itemize /P 12 0 R /K [14 0 R 19 0 R] /ID (ID.005) >> endobj 14 0 obj << /Type /StructElem /S /LI /P 13 0 R /K [15 0 R 16 0 R] /ID (ID.006) >> @@ -381,7 +382,7 @@ endobj << /Type /StructElem /S /text-unit /P 16 0 R /K 18 0 R /ID (ID.009) >> endobj 18 0 obj -<< /Type /StructElem /S /text /P 17 0 R /K <> /C /justify /ID (ID.010) >> +<< /Type /StructElem /C /justify /S /text /P 17 0 R /K <> /ID (ID.010) >> endobj 19 0 obj << /Type /StructElem /S /LI /P 13 0 R /K [20 0 R 21 0 R] /ID (ID.011) >> @@ -396,13 +397,13 @@ endobj << /Type /StructElem /S /text-unit /P 21 0 R /K 23 0 R /ID (ID.014) >> endobj 23 0 obj -<< /Type /StructElem /S /text /P 22 0 R /K <> /C /justify /ID (ID.015) >> +<< /Type /StructElem /C /justify /S /text /P 22 0 R /K <> /ID (ID.015) >> endobj 24 0 obj << /Type /StructElem /S /text-unit /P 9 0 R /K 25 0 R /ID (ID.016) >> endobj 25 0 obj -<< /Type /StructElem /S /enumerate /P 24 0 R /K [26 0 R 31 0 R] /C /enumerate /ID (ID.017) >> +<< /Type /StructElem /C /enumerate /S /enumerate /P 24 0 R /K [26 0 R 31 0 R] /ID (ID.017) >> endobj 26 0 obj << /Type /StructElem /S /LI /P 25 0 R /K [27 0 R 28 0 R] /ID (ID.018) >> @@ -417,7 +418,7 @@ endobj << /Type /StructElem /S /text-unit /P 28 0 R /K 30 0 R /ID (ID.021) >> endobj 30 0 obj -<< /Type /StructElem /S /text /P 29 0 R /K <> /C /justify /ID (ID.022) >> +<< /Type /StructElem /C /justify /S /text /P 29 0 R /K <> /ID (ID.022) >> endobj 31 0 obj << /Type /StructElem /S /LI /P 25 0 R /K [32 0 R 33 0 R] /ID (ID.023) >> @@ -432,13 +433,13 @@ endobj << /Type /StructElem /S /text-unit /P 33 0 R /K 35 0 R /ID (ID.026) >> endobj 35 0 obj -<< /Type /StructElem /S /text /P 34 0 R /K <> /C /justify /ID (ID.027) >> +<< /Type /StructElem /C /justify /S /text /P 34 0 R /K <> /ID (ID.027) >> endobj 36 0 obj << /Type /StructElem /S /text-unit /P 9 0 R /K 37 0 R /ID (ID.028) >> endobj 37 0 obj -<< /Type /StructElem /S /description /P 36 0 R /K [38 0 R 43 0 R] /C /description /ID (ID.029) >> +<< /Type /StructElem /C /description /S /description /P 36 0 R /K [38 0 R 43 0 R] /ID (ID.029) >> endobj 38 0 obj << /Type /StructElem /S /LI /P 37 0 R /K [39 0 R 40 0 R] /ID (ID.030) >> @@ -453,7 +454,7 @@ endobj << /Type /StructElem /S /text-unit /P 40 0 R /K 42 0 R /ID (ID.033) >> endobj 42 0 obj -<< /Type /StructElem /S /text /P 41 0 R /K <> /C /justify /ID (ID.034) >> +<< /Type /StructElem /C /justify /S /text /P 41 0 R /K <> /ID (ID.034) >> endobj 43 0 obj << /Type /StructElem /S /LI /P 37 0 R /K [44 0 R 45 0 R] /ID (ID.035) >> @@ -468,10 +469,10 @@ endobj << /Type /StructElem /S /text-unit /P 45 0 R /K 47 0 R /ID (ID.038) >> endobj 47 0 obj -<< /Type /StructElem /S /text /P 46 0 R /K <> /C /justify /ID (ID.039) >> +<< /Type /StructElem /C /justify /S /text /P 46 0 R /K <> /ID (ID.039) >> endobj 5 0 obj -<< /Type /StructTreeRoot /K 9 0 R /IDTree 57 0 R /ParentTree 6 0 R /RoleMap 7 0 R /ClassMap 58 0 R >> +<< /Type /StructTreeRoot /IDTree 57 0 R /ClassMap 58 0 R /ParentTree 6 0 R /RoleMap 7 0 R /K 9 0 R >> endobj 59 0 obj [ 28 [ 559 ] 43 [ 511 ] 47 [ 639 ] 70 [ 607 ] 75 [ 958 ] 81 [ 575 ] 96 [ 474 ] 98 [ 454 ] 105 [ 447 ] 109 [ 639 ] ] @@ -653,7 +654,7 @@ endobj << /Type /Catalog /Pages 54 0 R /MarkInfo 55 0 R/Lang (en-US)/Metadata 48 0 R/StructTreeRoot 5 0 R >> endobj 72 0 obj -<< /Producer (luahbtex-1.17.0)/Creator (LaTeX)/CreationDate (D:20240229165915+01'00')/ModDate (D:20240229165915+01'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.17.0 (TeX Live 2023)) >> +<< /Producer (luahbtex-1.18.0)/Creator (LaTeX)/CreationDate (D:20240326123911+01'00')/ModDate (D:20240326123911+01'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.0 (TeX Live 2024)) >> endobj xref 0 73 @@ -662,76 +663,76 @@ xref 0000000003 00000 f 0000000004 00000 f 0000000008 00000 f -0000019049 00000 n +0000019050 00000 n 0000013595 00000 n 0000014434 00000 n 0000000000 00000 f -0000015230 00000 n -0000015331 00000 n -0000015407 00000 n -0000015483 00000 n -0000015570 00000 n -0000015677 00000 n -0000015767 00000 n -0000015877 00000 n -0000015961 00000 n -0000016049 00000 n -0000016172 00000 n -0000016262 00000 n -0000016372 00000 n -0000016456 00000 n -0000016544 00000 n -0000016667 00000 n -0000016754 00000 n -0000016865 00000 n -0000016955 00000 n -0000017065 00000 n -0000017149 00000 n -0000017237 00000 n -0000017360 00000 n -0000017450 00000 n -0000017560 00000 n -0000017644 00000 n -0000017732 00000 n -0000017855 00000 n -0000017942 00000 n -0000018057 00000 n -0000018147 00000 n -0000018257 00000 n -0000018341 00000 n -0000018429 00000 n -0000018552 00000 n -0000018642 00000 n -0000018753 00000 n -0000018837 00000 n -0000018925 00000 n +0000015231 00000 n +0000015332 00000 n +0000015408 00000 n +0000015484 00000 n +0000015571 00000 n +0000015678 00000 n +0000015768 00000 n +0000015878 00000 n +0000015962 00000 n +0000016050 00000 n +0000016173 00000 n +0000016263 00000 n +0000016373 00000 n +0000016457 00000 n +0000016545 00000 n +0000016668 00000 n +0000016755 00000 n +0000016866 00000 n +0000016956 00000 n +0000017066 00000 n +0000017150 00000 n +0000017238 00000 n +0000017361 00000 n +0000017451 00000 n +0000017561 00000 n +0000017645 00000 n +0000017733 00000 n +0000017856 00000 n +0000017943 00000 n +0000018058 00000 n +0000018148 00000 n +0000018258 00000 n +0000018342 00000 n +0000018430 00000 n +0000018553 00000 n +0000018643 00000 n +0000018754 00000 n +0000018838 00000 n +0000018926 00000 n 0000000020 00000 n 0000013413 00000 n 0000013271 00000 n 0000011489 00000 n -0000029176 00000 n -0000022224 00000 n -0000029530 00000 n +0000029177 00000 n +0000022225 00000 n +0000029531 00000 n 0000013559 00000 n 0000013715 00000 n 0000014397 00000 n 0000015026 00000 n -0000019167 00000 n -0000021126 00000 n -0000019299 00000 n -0000019373 00000 n -0000021360 00000 n -0000022375 00000 n -0000022572 00000 n -0000027711 00000 n -0000022908 00000 n -0000023031 00000 n -0000027947 00000 n -0000029330 00000 n -0000029592 00000 n -0000029710 00000 n +0000019168 00000 n +0000021127 00000 n +0000019300 00000 n +0000019374 00000 n +0000021361 00000 n +0000022376 00000 n +0000022573 00000 n +0000027712 00000 n +0000022909 00000 n +0000023032 00000 n +0000027948 00000 n +0000029331 00000 n +0000029593 00000 n +0000029711 00000 n trailer -<< /Size 73 /Root 71 0 R /Info 72 0 R /ID [ ] >> +<< /Size 73 /Root 71 0 R /Info 72 0 R /ID [ ] >> startxref -29933 +29934 %%EOF diff --git a/Master/texmf-dist/doc/latex/tagpdf/ex-mc-manual-para-split-obsolete.pdf b/Master/texmf-dist/doc/latex/tagpdf/ex-mc-manual-para-split-obsolete.pdf index 489fdd4e6a9..652800313dd 100644 --- a/Master/texmf-dist/doc/latex/tagpdf/ex-mc-manual-para-split-obsolete.pdf +++ b/Master/texmf-dist/doc/latex/tagpdf/ex-mc-manual-para-split-obsolete.pdf @@ -229,7 +229,7 @@ stream - luahbtex-1.17.0 + luahbtex-1.18.0 1.7 @@ -243,17 +243,17 @@ stream - 2024-02-29T16:59:41+01:00 + 2024-03-26T12:39:35+01:00 application/pdf ex-mc-manual-para-split-obsolete.tex LaTeX - 2024-02-29T16:59:41+01:00 - 2024-02-29T16:59:41+01:00 - 2024-02-29T16:59:41+01:00 + 2024-03-26T12:39:35+01:00 + 2024-03-26T12:39:35+01:00 + 2024-03-26T12:39:35+01:00 uuid:c33d64b4-96ec-4e48-8f27-0b3edc831547 - uuid:f5078816-e0bc-4925-8018-205f0f0cb53a + uuid:12bee4ab-8ca2-46c2-859d-4cd10811d754 three 2 @@ -413,7 +413,7 @@ endobj << /Type /Catalog /Pages 14 0 R /Lang (en-US)/Metadata 15 0 R >> endobj 25 0 obj -<< /Producer (luahbtex-1.17.0)/Creator (LaTeX)/CreationDate (D:20240229165941+01'00')/ModDate (D:20240229165941+01'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.17.0 (TeX Live 2023)) >> +<< /Producer (luahbtex-1.18.0)/Creator (LaTeX)/CreationDate (D:20240326123935+01'00')/ModDate (D:20240326123935+01'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.0 (TeX Live 2024)) >> endobj xref 0 26 @@ -444,7 +444,7 @@ xref 0000023897 00000 n 0000023978 00000 n trailer -<< /Size 26 /Root 24 0 R /Info 25 0 R /ID [ <4619D94AD7710EDDACE7704934588499> <4619D94AD7710EDDACE7704934588499> ] >> +<< /Size 26 /Root 24 0 R /Info 25 0 R /ID [ <57215501A1810E2849ED12EDF63B1113> <57215501A1810E2849ED12EDF63B1113> ] >> startxref 24201 %%EOF diff --git a/Master/texmf-dist/doc/latex/tagpdf/ex-softhyphen.pdf b/Master/texmf-dist/doc/latex/tagpdf/ex-softhyphen.pdf index 30dfc66660c..a720c2fbb09 100644 --- a/Master/texmf-dist/doc/latex/tagpdf/ex-softhyphen.pdf +++ b/Master/texmf-dist/doc/latex/tagpdf/ex-softhyphen.pdf @@ -196,7 +196,7 @@ stream - luahbtex-1.17.0 + luahbtex-1.18.0 1.7 @@ -210,17 +210,17 @@ stream - 2024-02-29T17:00:06+01:00 + 2024-03-26T12:39:57+01:00 application/pdf ex-softhyphen.tex LaTeX - 2024-02-29T17:00:06+01:00 - 2024-02-29T17:00:06+01:00 - 2024-02-29T17:00:06+01:00 + 2024-03-26T12:39:57+01:00 + 2024-03-26T12:39:57+01:00 + 2024-03-26T12:39:57+01:00 uuid:aa82e685-4098-469d-861c-3c45dfc700c7 - uuid:eb8da107-1f5f-411e-8f72-fe6bc0a4628a + uuid:f76d8e6c-0c4b-405b-84b2-774e0fc02ef3 three 1 @@ -308,7 +308,7 @@ endobj << /Type /StructElem /S /text /P 12 0 R /K <> /ID (ID.05) >> endobj 5 0 obj -<< /Type /StructTreeRoot /K 9 0 R /IDTree 22 0 R /ParentTree 6 0 R /RoleMap 7 0 R >> +<< /Type /StructTreeRoot /IDTree 22 0 R /ParentTree 6 0 R /RoleMap 7 0 R /K 9 0 R >> endobj 23 0 obj [ 1 [ 250 ] 14 [ 333 ] 46 [ 946 ] 66 [ 500 ] 69 [ 611 479 ] 74 [ 287 ] 79 [ 582 ] 81 [ 601 ] 83 [ 395 424 326 ] 193 [ 500 ] 909 [ 333 ] ] @@ -393,7 +393,7 @@ endobj << /Type /Catalog /Pages 19 0 R /MarkInfo 20 0 R/Lang (en-US)/Metadata 14 0 R/StructTreeRoot 5 0 R >> endobj 30 0 obj -<< /Producer (luahbtex-1.17.0)/Creator (LaTeX)/CreationDate (D:20240229170006+01'00')/ModDate (D:20240229170006+01'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.17.0 (TeX Live 2023)) >> +<< /Producer (luahbtex-1.18.0)/Creator (LaTeX)/CreationDate (D:20240326123957+01'00')/ModDate (D:20240326123957+01'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.0 (TeX Live 2024)) >> endobj xref 0 31 @@ -429,7 +429,7 @@ xref 0000018116 00000 n 0000018234 00000 n trailer -<< /Size 31 /Root 29 0 R /Info 30 0 R /ID [ ] >> +<< /Size 31 /Root 29 0 R /Info 30 0 R /ID [ <95EFC9564CFCC32D88728B22057337B9> <95EFC9564CFCC32D88728B22057337B9> ] >> startxref 18457 %%EOF diff --git a/Master/texmf-dist/doc/latex/tagpdf/ex-spaceglyph-listings.pdf b/Master/texmf-dist/doc/latex/tagpdf/ex-spaceglyph-listings.pdf index eab351a09f9..02d1bce7c75 100644 --- a/Master/texmf-dist/doc/latex/tagpdf/ex-spaceglyph-listings.pdf +++ b/Master/texmf-dist/doc/latex/tagpdf/ex-spaceglyph-listings.pdf @@ -196,7 +196,7 @@ stream - luahbtex-1.17.0 + luahbtex-1.18.0 1.5 @@ -210,17 +210,17 @@ stream - 2024-02-29T17:00:29+01:00 + 2024-03-26T12:40:18+01:00 application/pdf ex-spaceglyph-listings.tex LaTeX - 2024-02-29T17:00:29+01:00 - 2024-02-29T17:00:29+01:00 - 2024-02-29T17:00:29+01:00 + 2024-03-26T12:40:18+01:00 + 2024-03-26T12:40:18+01:00 + 2024-03-26T12:40:18+01:00 uuid:acdc2435-bf29-4e54-8d09-1c9b6dc32038 - uuid:8f1de585-e600-4836-82a5-c76f286e0ac4 + uuid:1904eb5f-c1d3-4914-8986-45c554fbcee7 three 1 @@ -281,7 +281,7 @@ endobj << /Type /StructElem /S /Document /P 5 0 R /ID (ID.01) >> endobj 5 0 obj -<< /Type /StructTreeRoot /K 9 0 R /IDTree 18 0 R /ParentTree 6 0 R /RoleMap 7 0 R >> +<< /Type /StructTreeRoot /IDTree 18 0 R /ParentTree 6 0 R /RoleMap 7 0 R /K 9 0 R >> endobj 19 0 obj [ 28 [ 500 ] 103 [ 333 ] 116 [ 528 ] ] @@ -354,7 +354,7 @@ endobj << /Type /Catalog /Pages 15 0 R /MarkInfo 16 0 R/Lang (en-US)/Metadata 10 0 R/StructTreeRoot 5 0 R >> endobj 26 0 obj -<< /Producer (luahbtex-1.17.0)/Creator (LaTeX)/CreationDate (D:20240229170029+01'00')/ModDate (D:20240229170029+01'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.17.0 (TeX Live 2023)) >> +<< /Producer (luahbtex-1.18.0)/Creator (LaTeX)/CreationDate (D:20240326124018+01'00')/ModDate (D:20240326124018+01'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.0 (TeX Live 2024)) >> endobj xref 0 27 @@ -386,7 +386,7 @@ xref 0000015488 00000 n 0000015606 00000 n trailer -<< /Size 27 /Root 25 0 R /Info 26 0 R /ID [ ] >> +<< /Size 27 /Root 25 0 R /Info 26 0 R /ID [ ] >> startxref 15829 %%EOF diff --git a/Master/texmf-dist/doc/latex/tagpdf/ex-structure-obsolete.pdf b/Master/texmf-dist/doc/latex/tagpdf/ex-structure-obsolete.pdf index e406398e00b..8cdd375048a 100644 --- a/Master/texmf-dist/doc/latex/tagpdf/ex-structure-obsolete.pdf +++ b/Master/texmf-dist/doc/latex/tagpdf/ex-structure-obsolete.pdf @@ -196,7 +196,7 @@ stream - luahbtex-1.17.0 + luahbtex-1.18.0 1.7 @@ -210,17 +210,17 @@ stream - 2024-02-29T17:00:54+01:00 + 2024-03-26T12:40:40+01:00 application/pdf ex-structure-obsolete.tex LaTeX - 2024-02-29T17:00:54+01:00 - 2024-02-29T17:00:54+01:00 - 2024-02-29T17:00:54+01:00 + 2024-03-26T12:40:40+01:00 + 2024-03-26T12:40:40+01:00 + 2024-03-26T12:40:40+01:00 uuid:bf5e4a2b-cfa9-4fc5-878c-8f9d2ee95445 - uuid:ef68407b-0075-4b8e-8cfa-a9571558f263 + uuid:32de8dd7-b94e-4d73-8082-8944bacf31fe three 1 @@ -358,7 +358,7 @@ endobj << /Type /StructElem /S /LBody /P 17 0 R /K <> /ID (ID.011) >> endobj 5 0 obj -<< /Type /StructTreeRoot /K 9 0 R /IDTree 29 0 R /ParentTree 6 0 R /RoleMap 7 0 R >> +<< /Type /StructTreeRoot /IDTree 29 0 R /ParentTree 6 0 R /RoleMap 7 0 R /K 9 0 R >> endobj 30 0 obj [ 28 [ 500 ] 35 [ 556 ] 47 [ 556 ] 50 [ 444 ] 59 [ 500 ] 63 [ 556 ] 66 [ 278 ] 71 [ 625 ] 75 [ 833 ] 77 [ 556 ] 81 [ 500 500 ] 84 [ 556 ] 88 [ 278 ] 96 [ 392 ] 98 [ 394 ] 103 [ 333 ] 105 [ 389 ] 107 [ 500 ] 116 [ 528 ] 118 [ 528 ] ] @@ -526,7 +526,7 @@ endobj << /Type /Catalog /Pages 26 0 R /MarkInfo 27 0 R/Lang (en-US)/Metadata 20 0 R/StructTreeRoot 5 0 R >> endobj 43 0 obj -<< /Producer (luahbtex-1.17.0)/Creator (LaTeX)/CreationDate (D:20240229170054+01'00')/ModDate (D:20240229170054+01'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.17.0 (TeX Live 2023)) >> +<< /Producer (luahbtex-1.18.0)/Creator (LaTeX)/CreationDate (D:20240326124040+01'00')/ModDate (D:20240326124040+01'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.0 (TeX Live 2024)) >> endobj xref 0 44 @@ -575,7 +575,7 @@ xref 0000023426 00000 n 0000023544 00000 n trailer -<< /Size 44 /Root 42 0 R /Info 43 0 R /ID [ ] >> +<< /Size 44 /Root 42 0 R /Info 43 0 R /ID [ <3FCC1FA6E2ABE954C0528DFC6D779B79> <3FCC1FA6E2ABE954C0528DFC6D779B79> ] >> startxref 23767 %%EOF diff --git a/Master/texmf-dist/doc/latex/tagpdf/ex-tagpdf-template.pdf b/Master/texmf-dist/doc/latex/tagpdf/ex-tagpdf-template.pdf index 557d1452711..f37921e4b80 100644 --- a/Master/texmf-dist/doc/latex/tagpdf/ex-tagpdf-template.pdf +++ b/Master/texmf-dist/doc/latex/tagpdf/ex-tagpdf-template.pdf @@ -196,7 +196,7 @@ stream - luahbtex-1.17.0 + luahbtex-1.18.0 2.0 @@ -210,17 +210,17 @@ stream - 2024-02-29T17:01:20+01:00 + 2024-03-26T12:41:03+01:00 application/pdf ex-tagpdf-template.tex LaTeX - 2024-02-29T17:01:20+01:00 - 2024-02-29T17:01:20+01:00 - 2024-02-29T17:01:20+01:00 + 2024-03-26T12:41:03+01:00 + 2024-03-26T12:41:03+01:00 + 2024-03-26T12:41:03+01:00 uuid:f320abfc-f6ab-4d12-8719-d176f4d947cf - uuid:db592c31-57b1-4b03-8ad9-0f2ed0291c7a + uuid:84306d89-0443-4615-8b86-67eb3a82fb4c three 1 @@ -282,7 +282,8 @@ endobj << /Artifact /NonStruct /DocumentFragment /Art /Aside /Note /H7 /H6 /H8 /H6 /H9 /H6 /H10 /H6 /Title /P /FENote /Note /Sub /Span /Em /Span /Strong /Span /title /P /part /P /section /H1 /subsection /H2 /subsubsection /H3 /paragraph /H4 /subparagraph /H5 /list /L /itemize /L /enumerate /L /description /L /quote /BlockQuote /quotation /BlockQuote /verbatim /P /item /LI /itemlabel /Lbl /itembody /LBody /footnote /Note /footnotemark /Lbl /footnotelabel /Lbl /text-unit /Part /text /P /theorem-like /Sect /codeline /Span /float /Note /figures /Sect /tables /Sect >> endobj 35 0 obj -<< /justify <> >> +<< /justify <> + >> endobj 9 0 obj << /Type /Namespace /NS (http://iso.org/pdf/ssn) >> @@ -306,28 +307,28 @@ endobj << /Type /Namespace /NS (https://www.latex-project.org/ns/book/2022) /RoleMapNS 18 0 R >> endobj 19 0 obj -<< /Type /Namespace /NS (data:,6C8EEC8F-449A-97BB-7B8E-86F81B43D9B) >> +<< /Type /Namespace /NS (data:,626E17C6-5B4F-1E3-226B-789BC1772C4D) >> endobj 8 0 obj [ 9 0 R 11 0 R 13 0 R 15 0 R 17 0 R 19 0 R ] endobj 21 0 obj -<< /Type /StructElem /S /Document /P 5 0 R /K 24 0 R /NS 11 0 R /ID (ID.01) >> +<< /Type /StructElem /S /Document /NS 11 0 R /P 5 0 R /K 24 0 R /ID (ID.01) >> endobj 22 0 obj -<< /Type /StructElem /S /Artifact /P 5 0 R /NS 15 0 R /ID (ID.02) >> +<< /Type /StructElem /S /Artifact /NS 15 0 R /P 5 0 R /ID (ID.02) >> endobj 23 0 obj -<< /Type /StructElem /S /Artifact /P 5 0 R /NS 15 0 R /ID (ID.03) >> +<< /Type /StructElem /S /Artifact /NS 15 0 R /P 5 0 R /ID (ID.03) >> endobj 24 0 obj -<< /Type /StructElem /S /text-unit /P 21 0 R /K 25 0 R /NS 15 0 R /ID (ID.04) >> +<< /Type /StructElem /S /text-unit /NS 15 0 R /P 21 0 R /K 25 0 R /ID (ID.04) >> endobj 25 0 obj -<< /Type /StructElem /S /text /P 24 0 R /K <> /C /justify /NS 15 0 R /ID (ID.05) >> +<< /Type /StructElem /C /justify /S /text /NS 15 0 R /P 24 0 R /K <> /ID (ID.05) >> endobj 5 0 obj -<< /Type /StructTreeRoot /K 21 0 R /IDTree 34 0 R /ParentTree 6 0 R /RoleMap 7 0 R /ClassMap 35 0 R /Namespaces 8 0 R >> +<< /Type /StructTreeRoot /Namespaces 8 0 R /IDTree 34 0 R /ClassMap 35 0 R /ParentTree 6 0 R /RoleMap 7 0 R /K 21 0 R >> endobj 36 0 obj [ 28 [ 500 ] 59 [ 500 ] 63 [ 556 ] 84 [ 556 ] 96 [ 392 ] 103 [ 333 ] ] @@ -398,7 +399,7 @@ endobj << /Type /Catalog /Pages 31 0 R /MarkInfo 32 0 R/Lang (en-US)/Metadata 26 0 R/StructTreeRoot 5 0 R >> endobj 42 0 obj -<< /Producer (luahbtex-1.17.0)/Creator (LaTeX)/CreationDate (D:20240229170120+01'00')/ModDate (D:20240229170120+01'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.17.0 (TeX Live 2023)) >> +<< /Producer (luahbtex-1.18.0)/Creator (LaTeX)/CreationDate (D:20240326124103+01'00')/ModDate (D:20240326124103+01'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.0 (TeX Live 2024)) >> endobj xref 0 43 @@ -407,46 +408,46 @@ xref 0000000003 00000 f 0000000004 00000 f 0000000010 00000 f -0000014806 00000 n +0000014807 00000 n 0000012015 00000 n 0000012225 00000 n -0000014241 00000 n -0000012867 00000 n +0000014242 00000 n +0000012868 00000 n 0000000012 00000 f -0000012935 00000 n +0000012936 00000 n 0000000014 00000 f -0000013005 00000 n +0000013006 00000 n 0000000020 00000 f -0000013768 00000 n -0000013086 00000 n -0000014046 00000 n -0000013875 00000 n -0000014153 00000 n +0000013769 00000 n +0000013087 00000 n +0000014047 00000 n +0000013876 00000 n +0000014154 00000 n 0000000000 00000 f -0000014302 00000 n -0000014399 00000 n -0000014486 00000 n -0000014573 00000 n -0000014672 00000 n +0000014303 00000 n +0000014400 00000 n +0000014487 00000 n +0000014574 00000 n +0000014673 00000 n 0000000020 00000 n 0000011869 00000 n 0000011734 00000 n 0000011500 00000 n -0000017427 00000 n -0000017781 00000 n +0000017428 00000 n +0000017782 00000 n 0000011979 00000 n 0000012056 00000 n 0000012188 00000 n 0000012804 00000 n -0000014943 00000 n -0000016384 00000 n -0000015030 00000 n -0000016605 00000 n -0000017581 00000 n -0000017843 00000 n -0000017961 00000 n +0000014944 00000 n +0000016385 00000 n +0000015031 00000 n +0000016606 00000 n +0000017582 00000 n +0000017844 00000 n +0000017962 00000 n trailer -<< /Size 43 /Root 41 0 R /Info 42 0 R /ID [ ] >> +<< /Size 43 /Root 41 0 R /Info 42 0 R /ID [ <4E141C6BCFC9003D8E382C7DD3DAFCC7> <4E141C6BCFC9003D8E382C7DD3DAFCC7> ] >> startxref -18184 +18185 %%EOF diff --git a/Master/texmf-dist/doc/latex/tagpdf/tagpdf-code.pdf b/Master/texmf-dist/doc/latex/tagpdf/tagpdf-code.pdf index 471cf17a795..ffb7984b160 100644 Binary files a/Master/texmf-dist/doc/latex/tagpdf/tagpdf-code.pdf and b/Master/texmf-dist/doc/latex/tagpdf/tagpdf-code.pdf differ diff --git a/Master/texmf-dist/doc/latex/tagpdf/tagpdf.pdf b/Master/texmf-dist/doc/latex/tagpdf/tagpdf.pdf index 6b3be5e36c4..771fe1ed0f0 100644 Binary files a/Master/texmf-dist/doc/latex/tagpdf/tagpdf.pdf and b/Master/texmf-dist/doc/latex/tagpdf/tagpdf.pdf differ diff --git a/Master/texmf-dist/doc/latex/tagpdf/tagpdf.tex b/Master/texmf-dist/doc/latex/tagpdf/tagpdf.tex index 59eacee0b44..b8b718482b3 100644 --- a/Master/texmf-dist/doc/latex/tagpdf/tagpdf.tex +++ b/Master/texmf-dist/doc/latex/tagpdf/tagpdf.tex @@ -16,8 +16,8 @@ } \DebugBlocksOff \makeatletter -\def\UlrikeFischer@package@version{0.98x} -\def\UlrikeFischer@package@date{2024-02-29} +\def\UlrikeFischer@package@version{0.99a} +\def\UlrikeFischer@package@date{2024-03-27} \makeatother \documentclass[bibliography=totoc,a4paper]{article} @@ -34,8 +34,8 @@ \usepackage[style=numeric]{biblatex} \addbibresource{tagpdf.bib} -\usepackage[noparboxrestore]{marginnote} \reversemarginpar +\NewDocumentCommand\sidenote{m}{\marginpar{#1}} \usepackage{booktabs} \setlength\belowcaptionskip{10pt} \usepackage{tcolorbox} @@ -384,10 +384,11 @@ command so that \pkg{tagpdf} can pick up the correct code path. \begin{taglstlisting} \DocumentMetadata { - % testphase = phase-I, % tagging without paragraph tagging - testphase = phase-II % tagging with paragraph tagging and other new stuff. - % testphase = phase-III % tagging with paragraph sec, toc, block tagging and more - % pdfversion = 2.0 % pdfversion must be set here. + % testphase = phase-I, % tagging without paragraph tagging + % testphase = phase-II, % tagging with paragraph tagging + testphase = phase-III, % tagging with paragraph sec, toc, blocks and more + pdfversion = 2.0, % pdfversion must be set here. + pdfstandard=ua-2, % pdfstandard can be set too } \documentclass{article} \begin{document} @@ -1028,7 +1029,7 @@ The key-val list understands the following keys: The validators complain if some text is not marked up, but it is not quite clear if this is a serious problem. - The\sidenote{lua mode only} lua mode will mark up everything unmarked as + The\sidenote{lua mode} lua mode will mark up everything unmarked as \texttt{artifact=notype}. You can suppress this behavior by setting the tagpdfsetup key \texttt{activate/tagunmarked} to false. See section \ref{ssec:setup}. @@ -1199,7 +1200,7 @@ This (expandable) command returns the values of some variables. Currently, the w \subsubsection{Luamode: global or not global -- that is the question}\label{sec:global-local} -In\sidenote{Luamode mode only} luamode the mc-commands set and unset an +In\sidenote{lua mode} luamode the mc-commands set and unset an attribute to mark the nodes. One can view such an attribute like a font change or a color: they affect all following chars and glue nodes until stopped. @@ -1858,7 +1859,8 @@ The key-val list understands the following keys: \item[\PrintKeyName{lang}] This key allows to set the language for a structure element. The value should be a bcp-identifier, - e.g. |de-De|. + e.g. |de-De|. It can also be set \enquote{from the outside} for all + structures in the current group with \cs{tagpdfsetup} and the |text/lang| key. \item[\PrintKeyName{ref}] This key allows to add references to other structure elements, it adds the |/Ref| array to the @@ -2472,8 +2474,6 @@ perhaps insert break points. \section{Storing and reusing boxes}\label{sec:savebox} -\section{Saving and using boxes} - \TeX{} allows to store material in boxes and to use these box once or multiple times in other places. This poses some challenges to tagging. The listings in the following examples uses low-level \TeX{} box commands to @@ -2523,7 +2523,7 @@ The box can in both modes be used without problems many times. We assume in the following that the box contains only well balanced tagging commands and no parts that are \enquote{untagged}. It should be possible to -copy the whole box inside a \verb+\tagstructbegin+/\verb+\tagstructend+ +copy the whole box inside a \verb+\tagstructbegin+/\hspace{0pt}\verb+\tagstructend+ pair. So the following is fine as box content \begin{taglstlisting} box=\tagstructbegin{...}\tagmcbegin{} balanced content\tagmcend\tagstructend diff --git a/Master/texmf-dist/doc/latex/tagpdf/tagpdfsetup-keys.tex b/Master/texmf-dist/doc/latex/tagpdf/tagpdfsetup-keys.tex index 2c255fbf23a..2484a420203 100644 --- a/Master/texmf-dist/doc/latex/tagpdf/tagpdfsetup-keys.tex +++ b/Master/texmf-dist/doc/latex/tagpdf/tagpdfsetup-keys.tex @@ -66,6 +66,8 @@ math/tex/AF & --- &boolean &bool &latex-lab-math\\[4p %% table key path % true/false/layout table/tagging & table-tagging &choice &code &latex-lab-table\\ -table/header-rows & table-header-rows& clist &clist &latex-lab-table\\ +table/header-rows & table-header-rows& clist &clist &latex-lab-table\\[4pt]\midrule +% change for text +text/lang & --- & string & code &tagpdf-user \\ \bottomrule \end{tabular} diff --git a/Master/texmf-dist/source/latex/tagpdf/tagpdf-backend.dtx b/Master/texmf-dist/source/latex/tagpdf/tagpdf-backend.dtx index 7640251892d..e15316252e9 100644 --- a/Master/texmf-dist/source/latex/tagpdf/tagpdf-backend.dtx +++ b/Master/texmf-dist/source/latex/tagpdf/tagpdf-backend.dtx @@ -47,13 +47,13 @@ % }^^A % } % -% \date{Version 0.98x, released 2024-02-29} +% \date{Version 0.99a, released 2024-03-27} % \maketitle % \begin{implementation} % \begin{macrocode} %<@@=tag> %<*luatex> -\ProvidesExplFile {tagpdf-luatex.def} {2024-02-29} {0.98x} +\ProvidesExplFile {tagpdf-luatex.def} {2024-03-27} {0.99a} {tagpdf~driver~for~luatex} % \end{macrocode} % \section{Loading the lua} @@ -164,8 +164,8 @@ local ProvidesLuaModule = { name = "tagpdf", - version = "0.98x", --TAGVERSION - date = "2024-02-29", --TAGDATE + version = "0.99a", --TAGVERSION + date = "2024-03-27", --TAGDATE description = "tagpdf lua code", license = "The LATEX Project Public License 1.3c" } @@ -704,7 +704,7 @@ end % TODO: is uses internal l3pdf commands, this should be properly supported by l3pdf % \begin{macrocode} local function @@_pdf_object_ref (name) - local tokenname = 'c__pdf_backend_object_'..name..'_int' + local tokenname = 'c__pdf_object_'..name..'_int' local object = token.create(tokenname).mode ..' 0 R' return object end diff --git a/Master/texmf-dist/source/latex/tagpdf/tagpdf-checks.dtx b/Master/texmf-dist/source/latex/tagpdf/tagpdf-checks.dtx index d92c8b36e53..63b0185c470 100644 --- a/Master/texmf-dist/source/latex/tagpdf/tagpdf-checks.dtx +++ b/Master/texmf-dist/source/latex/tagpdf/tagpdf-checks.dtx @@ -48,7 +48,7 @@ % }^^A % } % -% \date{Version 0.98x, released 2024-02-29} +% \date{Version 0.99a, released 2024-03-27} % \maketitle % \begin{documentation} % \section{Commands} @@ -295,7 +295,11 @@ % if there are (beside Root) other open structures on the stack. % \end{function} % - +% \begin{function}{tree-statistic} +% Message issued at the end of the compilation +% showing the number of objects to write +% \end{function} +% % \begin{function}{show-struct,show-kids} % These two messages are used in debug mode % to show the current structures in the log and terminal. @@ -327,7 +331,7 @@ % \begin{macrocode} %<@@=tag> %<*header> -\ProvidesExplPackage {tagpdf-checks-code} {2024-02-29} {0.98x} +\ProvidesExplPackage {tagpdf-checks-code} {2024-03-27} {0.99a} {part of tagpdf - code related to checks, conditionals, debugging and messages} % % \end{macrocode} @@ -461,6 +465,22 @@ The~structures~are~automatically~closed,\\ but~their~nesting~can~be~wrong. } +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{tree-statistic} +% Message issued at the end showing the estimated number of +% structures and MC-childs +% \begin{macrocode} +\msg_new:nnn { tag } {tree-statistic} + { + Finalizing~the~tagging~structure:\\ + Writing~out~\c_tilde_str + \int_use:N\c@g_@@_struct_abs_int\c_space_tl~structure~objects\\ + with~\c_tilde_str + \int_use:N\c@g_@@_MCID_abs_int\c_space_tl'MC'~leaf~nodes.\\ + Be~patient~if~there~are~lots~of~objects! + } % % \end{macrocode} % \end{macro} @@ -1128,5 +1148,25 @@ % \begin{macrocode} % % \end{macrocode} +% +% \subsection{Benchmarks} +% It doesn't make much sense to do benchmarks in debug mode or in combination +% with a log-level as this would slow down the compilation. +% So we add simple commands that can be activated if l3benchmark has been loaded. +% TODO: is a warning needed? +% \begin{macrocode} +%<*package> +\cs_new_protected:Npn \@@_check_benchmark_tic:{} +\cs_new_protected:Npn \@@_check_benchmark_toc:{} +\cs_new_protected:Npn \tag_check_benchmark_on: + { + \cs_if_exist:NT \benchmark_tic: + { + \cs_set_eq:NN \@@_check_benchmark_tic: \benchmark_tic: + \cs_set_eq:NN \@@_check_benchmark_toc: \benchmark_toc: + } + } +% +% \end{macrocode} % \end{implementation} % \PrintIndex diff --git a/Master/texmf-dist/source/latex/tagpdf/tagpdf-data.dtx b/Master/texmf-dist/source/latex/tagpdf/tagpdf-data.dtx index 70d71e4c57a..fd99bcfdec2 100644 --- a/Master/texmf-dist/source/latex/tagpdf/tagpdf-data.dtx +++ b/Master/texmf-dist/source/latex/tagpdf/tagpdf-data.dtx @@ -47,7 +47,7 @@ % }^^A % } % -% \date{Version 0.98x, released 2024-02-29} +% \date{Version 0.99a, released 2024-03-27} % \maketitle % \begin{documentation} % This files contains a various data files which are read in @@ -61,7 +61,7 @@ % latex-lab has also a namespace module, which takes precendence! % \begin{macrocode} %<*ns-latex> -%% \ProvidesExplFile {tagpdf-ns-latex.def} {2024-02-29} {0.98x} +%% \ProvidesExplFile {tagpdf-ns-latex.def} {2024-03-27} {0.99a} %% {latex} {https://www.latex-project.org/ns/dflt/2022}{} title, Title, pdf2, part, Title, pdf2, @@ -93,7 +93,7 @@ text, P, pdf2, % It is bound to change % \begin{macrocode} %<*ns-latex-book> -%% \ProvidesExplFile {tagpdf-ns-latex-book.def} {2024-02-29} {0.98x} +%% \ProvidesExplFile {tagpdf-ns-latex-book.def} {2024-03-27} {0.99a} %% {latex-book} {https://www.latex-project.org/ns/book/2022}{} chapter, H1,pdf2, section, H2,pdf2, @@ -107,7 +107,7 @@ subparagraph, H6,pdf2, % \section{The pdf namespace data} % \begin{macrocode} %<*ns-pdf> -%% \ProvidesExplFile {tagpdf-ns-pdf.def} {2024-02-29} {0.98x} +%% \ProvidesExplFile {tagpdf-ns-pdf.def} {2024-03-27} {0.99a} %% {pdf} {http://iso.org/pdf/ssn}{} StructTreeRoot,StructTreeRoot,pdf,D, Document,Document,pdf,D, @@ -175,7 +175,7 @@ Strong,Span,pdf,I, % \section{The pdf 2.0 namespace data} % \begin{macrocode} %<*ns-pdf2> -%% \ProvidesExplFile {tagpdf-ns-pdf2.def} {2024-02-29} {0.98x} +%% \ProvidesExplFile {tagpdf-ns-pdf2.def} {2024-03-27} {0.99a} %% {pdf2} {http://iso.org/pdf2/ssn}{} StructTreeRoot,StructTreeRoot,pdf2,D, Document,Document,pdf2,D, @@ -232,7 +232,7 @@ Strong,Strong,pdf2,I, % \section{The mathml namespace data} % \begin{macrocode} %<*ns-mathml> -%% \ProvidesExplFile {tagpdf-ns-mathml.def} {2024-02-29} {0.98x} +%% \ProvidesExplFile {tagpdf-ns-mathml.def} {2024-03-27} {0.99a} % {mathml}{http://www.w3.org/1998/Math/MathML}{} abs,abs,mathml, and,and,mathml, @@ -467,7 +467,7 @@ xor,xor,mathml, % This will perhaps change in future. % \begin{macrocode} %<*parent-child> -%% \ProvidesExplFile {tagpdf-parent-child.csv} {2024-02-29} {0.98x} +%% \ProvidesExplFile {tagpdf-parent-child.csv} {2024-03-27} {0.99a} ,,,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,βˆ…,βˆ… @@ -522,7 +522,7 @@ MC,both,---,βˆ…,βˆ…,βˆ…,βˆ…,βˆ…,βˆ…,0..n,‑,βˆ…,βˆ…,βˆ…,0..n,0..n,0..n,0..n,0.. % This will perhaps change in future. % \begin{macrocode} %<*parent-child-2> -%% \ProvidesExplFile {tagpdf-parent-child-2.csv} {2024-02-29} {0.98x} +%% \ProvidesExplFile {tagpdf-parent-child-2.csv} {2024-03-27} {0.99a} ,,,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/source/latex/tagpdf/tagpdf-mc-generic.dtx b/Master/texmf-dist/source/latex/tagpdf/tagpdf-mc-generic.dtx index 6254c52b543..e5477fe165e 100644 --- a/Master/texmf-dist/source/latex/tagpdf/tagpdf-mc-generic.dtx +++ b/Master/texmf-dist/source/latex/tagpdf/tagpdf-mc-generic.dtx @@ -46,7 +46,7 @@ % }^^A % } % -% \date{Version 0.98x, released 2024-02-29} +% \date{Version 0.99a, released 2024-03-27} % \maketitle % \begin{documentation} % \end{documentation} @@ -55,11 +55,11 @@ % \begin{macrocode} %<@@=tag> %<*generic> -\ProvidesExplPackage {tagpdf-mc-code-generic} {2024-02-29} {0.98x} +\ProvidesExplPackage {tagpdf-mc-code-generic} {2024-03-27} {0.99a} {part of tagpdf - code related to marking chunks - generic mode} % %<*debug> -\ProvidesExplPackage {tagpdf-debug-generic} {2024-02-29} {0.98x} +\ProvidesExplPackage {tagpdf-debug-generic} {2024-03-27} {0.99a} {part of tagpdf - debugging code related to marking chunks - generic mode} % % \end{macrocode} diff --git a/Master/texmf-dist/source/latex/tagpdf/tagpdf-mc-luacode.dtx b/Master/texmf-dist/source/latex/tagpdf/tagpdf-mc-luacode.dtx index 14872c42e2e..c3789356d9b 100644 --- a/Master/texmf-dist/source/latex/tagpdf/tagpdf-mc-luacode.dtx +++ b/Master/texmf-dist/source/latex/tagpdf/tagpdf-mc-luacode.dtx @@ -46,7 +46,7 @@ % }^^A % } % -% \date{Version 0.98x, released 2024-02-29} +% \date{Version 0.99a, released 2024-03-27} % \maketitle % \begin{implementation} % The code is splitted into three parts: code shared by all engines, @@ -86,11 +86,11 @@ % \begin{macrocode} %<@@=tag> %<*luamode> -\ProvidesExplPackage {tagpdf-mc-code-lua} {2024-02-29} {0.98x} +\ProvidesExplPackage {tagpdf-mc-code-lua} {2024-03-27} {0.99a} {tagpdf - mc code only for the luamode } % %<*debug> -\ProvidesExplPackage {tagpdf-debug-lua} {2024-02-29} {0.98x} +\ProvidesExplPackage {tagpdf-debug-lua} {2024-03-27} {0.99a} {part of tagpdf - debugging code related to marking chunks - lua mode} % % \end{macrocode} diff --git a/Master/texmf-dist/source/latex/tagpdf/tagpdf-mc-shared.dtx b/Master/texmf-dist/source/latex/tagpdf/tagpdf-mc-shared.dtx index 4f9d059c7d4..54f5f2dca67 100644 --- a/Master/texmf-dist/source/latex/tagpdf/tagpdf-mc-shared.dtx +++ b/Master/texmf-dist/source/latex/tagpdf/tagpdf-mc-shared.dtx @@ -46,7 +46,7 @@ % }^^A % } % -% \date{Version 0.98x, released 2024-02-29} +% \date{Version 0.99a, released 2024-03-27} % \maketitle % \begin{documentation} % \section{Public Commands} @@ -181,7 +181,7 @@ % \begin{macrocode} %<@@=tag> %<*header> -\ProvidesExplPackage {tagpdf-mc-code-shared} {2024-02-29} {0.98x} +\ProvidesExplPackage {tagpdf-mc-code-shared} {2024-03-27} {0.99a} {part of tagpdf - code related to marking chunks - code shared by generic and luamode } % @@ -191,8 +191,8 @@ % MC chunks must be counted. % I use a latex counter for the absolute count, so that it is added to % |\cl@@ckpt| and restored e.g. in tabulars and align. -% |\int_new:N \c@g_@@_MCID_int| and -% |\tl_put_right:Nn\cl@@ckpt{\@elt{g_uf_test_int}}| +% |\int_new:N \c@g_@@_MCID_abs_int| and +% |\tl_put_right:Nn\cl@@ckpt{\@elt{g_@@_MCID_abs_int}}| % would work too, but as the name is not expl3 then too, why bother? % The absolute counter can be used to label and to check if the page % counter needs a reset. diff --git a/Master/texmf-dist/source/latex/tagpdf/tagpdf-roles.dtx b/Master/texmf-dist/source/latex/tagpdf/tagpdf-roles.dtx index 6f48db87b15..77379192d5c 100644 --- a/Master/texmf-dist/source/latex/tagpdf/tagpdf-roles.dtx +++ b/Master/texmf-dist/source/latex/tagpdf/tagpdf-roles.dtx @@ -46,7 +46,7 @@ % }^^A % } % -% \date{Version 0.98x, released 2024-02-29} +% \date{Version 0.99a, released 2024-03-27} % \maketitle % \begin{documentation} % \begin{function} @@ -98,7 +98,7 @@ % \begin{macrocode} %<@@=tag> %<*header> -\ProvidesExplPackage {tagpdf-roles-code} {2024-02-29} {0.98x} +\ProvidesExplPackage {tagpdf-roles-code} {2024-03-27} {0.99a} {part of tagpdf - code related to roles and structure names} % % \end{macrocode} diff --git a/Master/texmf-dist/source/latex/tagpdf/tagpdf-space.dtx b/Master/texmf-dist/source/latex/tagpdf/tagpdf-space.dtx index fc0cdd8c756..16adb240510 100644 --- a/Master/texmf-dist/source/latex/tagpdf/tagpdf-space.dtx +++ b/Master/texmf-dist/source/latex/tagpdf/tagpdf-space.dtx @@ -46,7 +46,7 @@ % }^^A % } % -% \date{Version 0.98x, released 2024-02-29} +% \date{Version 0.99a, released 2024-03-27} % \maketitle % \begin{documentation} % \begin{function}{activate/space (setup-key),interwordspace (deprecated)} @@ -66,7 +66,7 @@ % \begin{macrocode} %<@@=tag> %<*header> -\ProvidesExplPackage {tagpdf-space-code} {2024-02-29} {0.98x} +\ProvidesExplPackage {tagpdf-space-code} {2024-03-27} {0.99a} {part of tagpdf - code related to real space chars} % % \end{macrocode} diff --git a/Master/texmf-dist/source/latex/tagpdf/tagpdf-struct.dtx b/Master/texmf-dist/source/latex/tagpdf/tagpdf-struct.dtx index 64bd8f4c56d..8b1a9555d5c 100644 --- a/Master/texmf-dist/source/latex/tagpdf/tagpdf-struct.dtx +++ b/Master/texmf-dist/source/latex/tagpdf/tagpdf-struct.dtx @@ -46,7 +46,7 @@ % }^^A % } % -% \date{Version 0.98x, released 2024-02-29} +% \date{Version 0.99a, released 2024-03-27} % \maketitle % \begin{documentation} % \section{Public Commands} @@ -285,7 +285,7 @@ % \begin{macrocode} %<@@=tag> %<*header> -\ProvidesExplPackage {tagpdf-struct-code} {2024-02-29} {0.98x} +\ProvidesExplPackage {tagpdf-struct-code} {2024-03-27} {0.99a} {part of tagpdf - code related to storing structure} % % \end{macrocode} @@ -791,14 +791,14 @@ % break into two or more mcid. In this case the lua code has to convert % put the dictionary of the kid into an array. See issue 13 at tagpdf repo. % We exchange the dummy command for the kids to mark this case. +% Change 2024-03-19: don't use a regex - that is slow. % \begin{macrocode} \cs_new_protected:Npn\@@_struct_exchange_kid_command:N #1 %#1 = seq var { \seq_gpop_left:NN #1 \l_@@_tmpa_tl - \regex_replace_once:nnN - { \c{\@@_mc_insert_mcid_kids:n} } - { \c{\@@_mc_insert_mcid_single_kids:n} } - \l_@@_tmpa_tl + \tl_replace_once:Nnn \l_@@_tmpa_tl + {\@@_mc_insert_mcid_kids:n} + {\@@_mc_insert_mcid_single_kids:n} \seq_gput_left:NV #1 \l_@@_tmpa_tl } @@ -900,49 +900,41 @@ % \begin{macro}{\@@_struct_get_dict_content:nN} % This maps the dictionary content of a structure into a tl-var. % Basically it does what |\pdfdict_use:n| does. -% TODO!! this looks over-complicated. Check if it can be done with pdfdict now. +% This is used a lot so should be rather fast. % \begin{macrocode} \cs_new_protected:Npn \@@_struct_get_dict_content:nN #1 #2 %#1: stucture num { \tl_clear:N #2 - \seq_map_inline:cn + \prop_map_inline:cn { g_@@_struct_#1_prop } { - c_@@_struct_ - \int_compare:nNnTF{#1}={0}{StructTreeRoot}{StructElem} - _entries_seq - } - { - \tl_put_right:Ne - #2 + \tl_put_right:Ne #2 { - \prop_if_in:cnT - { g_@@_struct_#1_prop } - { ##1 } - { - \c_space_tl/##1~ -% \end{macrocode} -% Some keys needs the option to format the key, e.g. add brackets for an -% array -% \begin{macrocode} - \cs_if_exist_use:cTF {@@_struct_format_##1:e} - { - { \prop_item:cn{ g_@@_struct_#1_prop } { ##1 } } - } - { - \prop_item:cn{ g_@@_struct_#1_prop } { ##1 } - } - } +% \end{macrocode} +% Some keys needs the option to format the value, e.g. add brackets for an +% array, we also need the option to ignore some entries in the properties. +% \begin{macrocode} + \cs_if_exist_use:cTF {@@_struct_format_##1:nn} + {{##1}{##2}} + {\c_space_tl/##1~##2} } } } % \end{macrocode} % \end{macro} -% \begin{macro}{\@@_struct_format_Ref:n} +% +% \begin{macro}{\@@_struct_format_rolemap:nn,\@@_struct_format_parentrole:nn} +% This two entries should not end in the PDF. +% \begin{macrocode} +\cs_new:Nn\@@_struct_format_rolemap:nn{} +\cs_new:Nn\@@_struct_format_parentrole:nn{} +% \end{macrocode} +% \end{macro} + +% \begin{macro}{\@@_struct_format_Ref:nn} % Ref is an array, we store only the content to be able to extend it % so the formatting command adds the brackets: % \begin{macrocode} -\cs_new:Nn\__tag_struct_format_Ref:n{[#1]} -\cs_generate_variant:Nn\__tag_struct_format_Ref:n{e} +\cs_new:Nn\__tag_struct_format_Ref:nn{\c_space_tl/#1~[#2]} % \end{macrocode} % \end{macro} % \begin{macro}{\@@_struct_write_obj:n} @@ -1433,11 +1425,17 @@ } }, } -% % \end{macrocode} % \end{macro} % \section{User commands} -% +% We allow to set a language by default +% \begin{macro}{\l_@@_struct_lang_tl} +% \begin{macrocode} +\tl_new:N \l_@@_struct_lang_tl +% +% \end{macrocode} +% \end{macro} +% % \begin{macro}{\tag_struct_begin:n,\tag_struct_end:} % \begin{macrocode} %\cs_new_protected:Npn \tag_struct_begin:n #1 {\int_gincr:N \c@g_@@_struct_abs_int} @@ -1464,6 +1462,18 @@ { \int_use:N \c@g_@@_struct_abs_int } { Type } { /StructElem } + \tl_if_empty:NF \l_@@_struct_lang_tl + { + \@@_struct_prop_gput:nne + { \int_use:N \c@g_@@_struct_abs_int } + { Lang } + { (\l_@@_struct_lang_tl) } + } + \@@_struct_prop_gput:nnn + { \int_use:N \c@g_@@_struct_abs_int } + { Type } + { /StructElem } + \tl_set:Nn \l_@@_struct_stack_parent_tmpa_tl {-1} \keys_set:nn { @@ / struct} { #1 } % \end{macrocode} @@ -1626,7 +1636,7 @@ % {no~parent:~stashed} % { % parent~structure:~\l_@@_struct_stack_parent_tmpa_tl\c_space_tl =~ -% \l_@@_get_parent_tmpa_tl +% \prop_item:cn{ g__tag_struct_\l_@@_struct_stack_parent_tmpa_tl _prop }{S} % } % } % \prop_gput:cne @@ -1928,7 +1938,7 @@ % \section{Attributes and attribute classes} % \begin{macrocode} %<*header> -\ProvidesExplPackage {tagpdf-attr-code} {2024-02-29} {0.98x} +\ProvidesExplPackage {tagpdf-attr-code} {2024-03-27} {0.99a} {part of tagpdf - code related to attributes and attribute classes} % % \end{macrocode} @@ -1936,12 +1946,12 @@ % \begin{variable} % { % ,\g_@@_attr_entries_prop -% ,\g_@@_attr_class_used_seq +% ,\g_@@_attr_class_used_prop % ,\g_@@_attr_objref_prop % ,\l_@@_attr_value_tl % } % |\g_@@_attr_entries_prop| will store attribute names and their dictionary content.\\ -% |\g_@@_attr_class_used_seq| will hold the attributes which have been used as +% |\g_@@_attr_class_used_prop| will hold the attributes which have been used as % class name. % |\l_@@_attr_value_tl| is used to build the attribute array or key. % Every time an attribute is used for the first time, and object is created @@ -1950,10 +1960,14 @@ % \begin{macrocode} %<*package> \prop_new:N \g_@@_attr_entries_prop -\seq_new:N \g_@@_attr_class_used_seq +\prop_new_linked:N \g_@@_attr_class_used_prop \tl_new:N \l_@@_attr_value_tl \prop_new:N \g_@@_attr_objref_prop %will contain obj num of used attributes % \end{macrocode} +% This seq is currently kept for compability with the table code. +% \begin{macrocode} +\seq_new:N\g_@@_attr_class_used_seq +% \end{macrocode} % \end{variable} % \subsection{Commands and keys} % \begin{macro}{\@@_attr_new_entry:nn,role/new-attribute (setup-key), newattribute (deprecated)} @@ -2022,7 +2036,7 @@ { \msg_error:nnn { tag } { attr-unknown } { ##1 } } - \seq_gput_left:Nn\g_@@_attr_class_used_seq { ##1} + \prop_gput:Nnn\g_@@_attr_class_used_prop { ##1} {} } \tl_set:Ne \l_@@_tmpa_tl { diff --git a/Master/texmf-dist/source/latex/tagpdf/tagpdf-tree.dtx b/Master/texmf-dist/source/latex/tagpdf/tagpdf-tree.dtx index 36d9e74cbf8..bfcbd6b6c9f 100644 --- a/Master/texmf-dist/source/latex/tagpdf/tagpdf-tree.dtx +++ b/Master/texmf-dist/source/latex/tagpdf/tagpdf-tree.dtx @@ -47,13 +47,13 @@ % }^^A % } % -% \date{Version 0.98x, released 2024-02-29} +% \date{Version 0.99a, released 2024-03-27} % \maketitle % \begin{implementation} % \begin{macrocode} %<@@=tag> %<*header> -\ProvidesExplPackage {tagpdf-tree-code} {2024-02-29} {0.98x} +\ProvidesExplPackage {tagpdf-tree-code} {2024-03-27} {0.99a} {part of tagpdf - code related to writing trees and dictionaries to the pdf} % % \end{macrocode} @@ -92,6 +92,7 @@ \int_step_inline:nnn{2}{\seq_count:N\g_@@_struct_stack_seq} {\tag_struct_end:} } + \msg_note:nn {tag}{tree-statistic} } % \end{macrocode} % \end{macro} @@ -265,7 +266,8 @@ { g_@@_struct_0_prop } { RoleMap } { \pdf_object_ref:n { @@/tree/rolemap } } - \@@_struct_fill_kid_key:n { 0 } + \@@_struct_fill_kid_key:n { 0 } + \prop_gremove:cn { g_@@_struct_0_prop } {S} \@@_struct_get_dict_content:nN { 0 } \l_@@_tmpa_tl \pdf_object_write:nne { @@/struct/0 } @@ -503,22 +505,27 @@ \cs_new_protected:Npn \@@_tree_write_classmap: { \tl_clear:N \l_@@_tmpa_tl - \seq_gremove_duplicates:N \g_@@_attr_class_used_seq - \seq_set_map:NNn \l_@@_tmpa_seq \g_@@_attr_class_used_seq - { - ##1\c_space_tl - << - \prop_item:Nn +% \end{macrocode} +% We process the older sec for compability with the table code. +% TODO: check if still needed +% \begin{macrocode} + \seq_map_inline:Nn \g_@@_attr_class_used_seq + { + \prop_gput:Nnn \g_@@_attr_class_used_prop {##1}{} + } + \prop_map_inline:Nn \g_@@_attr_class_used_prop + { + \tl_put_right:Ne \l_@@_tmpa_tl + { + ##1\c_space_tl + << + \prop_item:Nn \g_@@_attr_entries_prop {##1} - >> - } - \tl_set:Ne \l_@@_tmpa_tl - { - \seq_use:Nn - \l_@@_tmpa_seq - { \iow_newline: } - } + >> + \iow_newline: + } + } \tl_if_empty:NF \l_@@_tmpa_tl { @@ -585,15 +592,37 @@ { \hook_use:n {tagpdf/finish/before} \@@_tree_final_checks: + \iow_term:n{Package~tagpdf~Info:~writing~ParentTree} + \@@_check_benchmark_tic: \@@_tree_write_parenttree: + \@@_check_benchmark_toc: + \iow_term:n{Package~tagpdf~Info:~writing~IDTree} + \@@_check_benchmark_tic: \@@_tree_write_idtree: + \@@_check_benchmark_toc: + \iow_term:n{Package~tagpdf~Info:~writing~RoleMap} + \@@_check_benchmark_tic: \@@_tree_write_rolemap: + \@@_check_benchmark_toc: + \iow_term:n{Package~tagpdf~Info:~writing~ClassMap} + \@@_check_benchmark_tic: \@@_tree_write_classmap: + \@@_check_benchmark_toc: + \iow_term:n{Package~tagpdf~Info:~writing~NameSpaces} + \@@_check_benchmark_tic: \@@_tree_write_namespaces: + \@@_check_benchmark_toc: + \iow_term:n{Package~tagpdf~Info:~writing~StructElems} + \@@_check_benchmark_tic: \@@_tree_write_structelements: %this is rather slow!! + \@@_check_benchmark_toc: + \iow_term:n{Package~tagpdf~Info:~writing~Root} + \@@_check_benchmark_tic: \@@_tree_write_structtreeroot: + \@@_check_benchmark_toc: } } +% % \end{macrocode} % \end{macro} % @@ -601,6 +630,7 @@ % We need to add to the Page resources the |StructParents| entry, this is simply the % absolute page number. % \begin{macrocode} +%<*package> \hook_gput_code:nnn{begindocument}{tagpdf} { \bool_if:NT\g_@@_active_tree_bool diff --git a/Master/texmf-dist/source/latex/tagpdf/tagpdf-user.dtx b/Master/texmf-dist/source/latex/tagpdf/tagpdf-user.dtx index e51bb9d35ff..82732b4458a 100644 --- a/Master/texmf-dist/source/latex/tagpdf/tagpdf-user.dtx +++ b/Master/texmf-dist/source/latex/tagpdf/tagpdf-user.dtx @@ -46,7 +46,7 @@ % }^^A % } % -% \date{Version 0.98x, released 2024-02-29} +% \date{Version 0.99a, released 2024-03-27} % \maketitle % \begin{documentation} % \section{Setup commands} @@ -309,7 +309,7 @@ % \begin{macrocode} %<@@=tag> %<*header> -\ProvidesExplPackage {tagpdf-user} {2024-02-29} {0.98x} +\ProvidesExplPackage {tagpdf-user} {2024-03-27} {0.99a} {tagpdf - user commands} % % \end{macrocode} @@ -763,6 +763,7 @@ % this will hold the structure number of the current text-unit. % \begin{macrocode} \tl_new:N \g_@@_para_main_struct_tl +\tl_gset:Nn \g_@@_para_main_struct_tl {1} \tl_new:N \l_@@_para_tag_default_tl \tl_set:Nn \l_@@_para_tag_default_tl { text } \tl_new:N \l_@@_para_tag_tl @@ -1197,6 +1198,18 @@ {{\use:c{@@_mc_disable_marks:} #1}} % \end{macrocode} % \end{macro} +% \subsection{Language support} +% +% With the following key the lang variable is set. All structures in the current group will +% then set this lang variable. +% \begin{macro}{test/lang (setup-key)} +% \begin{macrocode} +\keys_define:nn { @@ / setup } + { + text / lang .tl_set:N = \l_@@_struct_lang_tl + } +% \end{macrocode} +% \end{macro} % \subsection{Header and footer} % Header and footer should normally be tagged as artifacts. The following code % requires the new hooks. diff --git a/Master/texmf-dist/source/latex/tagpdf/tagpdf.dtx b/Master/texmf-dist/source/latex/tagpdf/tagpdf.dtx index a14273f8b95..ffdb147b450 100644 --- a/Master/texmf-dist/source/latex/tagpdf/tagpdf.dtx +++ b/Master/texmf-dist/source/latex/tagpdf/tagpdf.dtx @@ -87,7 +87,7 @@ % \begin{macrocode} %<@@=tag> %<*package> -\ProvidesExplPackage {tagpdf} {2024-02-29} {0.98x} +\ProvidesExplPackage {tagpdf} {2024-03-27} {0.99a} { A package to experiment with pdf tagging } \bool_if:nF @@ -113,7 +113,7 @@ % \end{macrocode} %<*debug> % \begin{macrocode} -\ProvidesExplPackage {tagpdf-debug} {2024-02-29} {0.98x} +\ProvidesExplPackage {tagpdf-debug} {2024-03-27} {0.99a} { debug code for tagpdf } \@ifpackageloaded{tagpdf}{}{\PackageWarning{tagpdf-debug}{tagpdf~not~loaded,~quitting}\endinput} % \end{macrocode} @@ -136,7 +136,7 @@ % we define a base package with dummy functions % \begin{macrocode} %<*base> -\ProvidesExplPackage {tagpdf-base} {2024-02-29} {0.98x} +\ProvidesExplPackage {tagpdf-base} {2024-03-27} {0.99a} {part of tagpdf - provide base, no-op versions of the user commands } % % \end{macrocode} @@ -487,7 +487,7 @@ % \begin{macrocode} \cs_set_protected:Npn \tag_stop: { -% \msg_note:nnx {tag / debug }{tag-stop}{ \int_use:N \l_@@_tag_stop_int } +% \msg_note:nne {tag / debug }{tag-stop}{ \int_use:N \l_@@_tag_stop_int } \int_incr:N \l_@@_tag_stop_int \bool_set_false:N \l_@@_active_struct_bool \bool_set_false:N \l_@@_active_mc_bool @@ -504,7 +504,7 @@ \bool_set_true:N \l_@@_active_socket_bool \@@_start_para_ints: } -% \msg_note:nnx {tag / debug }{tag-start}{ \int_use:N \l_@@_tag_stop_int } +% \msg_note:nne {tag / debug }{tag-start}{ \int_use:N \l_@@_tag_stop_int } } \cs_set_eq:NN\tagstop\tag_stop: \cs_set_eq:NN\tagstart\tag_start: @@ -512,7 +512,7 @@ % \begin{macrocode} \cs_set_protected:Npn \tag_stop:n #1 { -% \msg_note:nnxx {tag / debug }{tag-stop}{ \int_use:N \l_@@_tag_stop_int }{#1} +% \msg_note:nnee {tag / debug }{tag-stop}{ \int_use:N \l_@@_tag_stop_int }{#1} \int_incr:N \l_@@_tag_stop_int \bool_set_false:N \l_@@_active_struct_bool \bool_set_false:N \l_@@_active_mc_bool @@ -529,7 +529,7 @@ \bool_set_true:N \l_@@_active_socket_bool \@@_start_para_ints: } -% \msg_note:nnxx {tag / debug }{tag-start}{ \int_use:N \l_@@_tag_stop_int }{#1} +% \msg_note:nnee {tag / debug }{tag-start}{ \int_use:N \l_@@_tag_stop_int }{#1} } % %<*base> diff --git a/Master/texmf-dist/tex/latex/tagpdf/tagpdf-base.sty b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-base.sty index d094e725874..b1bece78c6d 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} {2024-02-29} {0.98x} +\ProvidesExplPackage {tagpdf-base} {2024-03-27} {0.99a} {part of tagpdf - provide base, no-op versions of the user commands } \AddToHook{begindocument} { @@ -85,7 +85,6 @@ %% File: tagpdf-checks.dtx - \cs_new:Npn \tag_get:n #1 { \use:c {__tag_get_data_#1: } } \prg_new_conditional:Npnn \tag_if_active: { p , T , TF, F } { \prg_return_false: } 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 a6a197b049c..8cff446acfc 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} {2024-02-29} {0.98x} +\ProvidesExplPackage {tagpdf-debug-generic} {2024-03-27} {0.99a} {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 f038bd52450..88e18989dfa 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} {2024-02-29} {0.98x} +\ProvidesExplPackage {tagpdf-debug-lua} {2024-03-27} {0.99a} {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 aa1b666971c..6dfd1b194a1 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} {2024-02-29} {0.98x} +\ProvidesExplPackage {tagpdf-debug} {2024-03-27} {0.99a} { debug code for tagpdf } \@ifpackageloaded{tagpdf}{}{\PackageWarning{tagpdf-debug}{tagpdf~not~loaded,~quitting}\endinput} \prop_gput:Nnn \g_msg_module_type_prop { tag / debug} {} @@ -34,7 +34,7 @@ \cs_set_protected:Npn \tag_stop: { - \msg_note:nnx {tag / debug }{tag-stop}{ \int_use:N \l__tag_tag_stop_int } + \msg_note:nne {tag / debug }{tag-stop}{ \int_use:N \l__tag_tag_stop_int } \int_incr:N \l__tag_tag_stop_int \bool_set_false:N \l__tag_active_struct_bool \bool_set_false:N \l__tag_active_mc_bool @@ -51,13 +51,13 @@ \bool_set_true:N \l__tag_active_socket_bool \__tag_start_para_ints: } - \msg_note:nnx {tag / debug }{tag-start}{ \int_use:N \l__tag_tag_stop_int } + \msg_note:nne {tag / debug }{tag-start}{ \int_use:N \l__tag_tag_stop_int } } \cs_set_eq:NN\tagstop\tag_stop: \cs_set_eq:NN\tagstart\tag_start: \cs_set_protected:Npn \tag_stop:n #1 { - \msg_note:nnxx {tag / debug }{tag-stop}{ \int_use:N \l__tag_tag_stop_int }{#1} + \msg_note:nnee {tag / debug }{tag-stop}{ \int_use:N \l__tag_tag_stop_int }{#1} \int_incr:N \l__tag_tag_stop_int \bool_set_false:N \l__tag_active_struct_bool \bool_set_false:N \l__tag_active_mc_bool @@ -74,7 +74,7 @@ \bool_set_true:N \l__tag_active_socket_bool \__tag_start_para_ints: } - \msg_note:nnxx {tag / debug }{tag-start}{ \int_use:N \l__tag_tag_stop_int }{#1} + \msg_note:nnee {tag / debug }{tag-start}{ \int_use:N \l__tag_tag_stop_int }{#1} } \bool_if:NTF \g__tag_mode_lua_bool { @@ -85,7 +85,6 @@ } %% File: tagpdf-checks.dtx - \msg_new:nnn { tag/debug } { show-struct } { =========================\\ @@ -331,6 +330,18 @@ { \int_use:N \c@g__tag_struct_abs_int } { Type } { /StructElem } + \tl_if_empty:NF \l__tag_struct_lang_tl + { + \__tag_struct_prop_gput:nne + { \int_use:N \c@g__tag_struct_abs_int } + { Lang } + { (\l__tag_struct_lang_tl) } + } + \__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 @@ -462,7 +473,7 @@ {no~parent:~stashed} { parent~structure:~\l__tag_struct_stack_parent_tmpa_tl\c_space_tl =~ - \l__tag_get_parent_tmpa_tl + \prop_item:cn{ g__tag_struct_\l__tag_struct_stack_parent_tmpa_tl _prop }{S} } } \prop_gput:cne diff --git a/Master/texmf-dist/tex/latex/tagpdf/tagpdf-luatex.def b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-luatex.def index e73f00a66e6..15f6837eee4 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} {2024-02-29} {0.98x} +\ProvidesExplFile {tagpdf-luatex.def} {2024-03-27} {0.99a} {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 d2579a9cac7..50df791ef7e 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} {2024-02-29} {0.98x} +\ProvidesExplPackage {tagpdf-mc-code-generic} {2024-03-27} {0.99a} {part of tagpdf - code related to marking chunks - generic mode} \tl_new:N \l__tag_mc_ref_abspage_tl 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 9029b5368eb..de7af50aaac 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} {2024-02-29} {0.98x} +\ProvidesExplPackage {tagpdf-mc-code-lua} {2024-03-27} {0.99a} {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 9f86f3ffcb3..261fe517234 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} {2024-02-29} {0.98x} +%% \ProvidesExplFile {tagpdf-ns-latex-book.def} {2024-03-27} {0.99a} %% {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.def b/Master/texmf-dist/tex/latex/tagpdf/tagpdf-ns-latex.def index 488747030cc..ce1976865ee 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} {2024-02-29} {0.98x} +%% \ProvidesExplFile {tagpdf-ns-latex.def} {2024-03-27} {0.99a} %% {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 0e00fd4b494..2b2a6cedba6 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} {2024-02-29} {0.98x} +%% \ProvidesExplFile {tagpdf-ns-mathml.def} {2024-03-27} {0.99a} 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 7aca049b1e5..4ab47810225 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} {2024-02-29} {0.98x} +%% \ProvidesExplFile {tagpdf-ns-pdf.def} {2024-03-27} {0.99a} %% {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 966ae325f1c..aafd7ebfdff 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} {2024-02-29} {0.98x} +%% \ProvidesExplFile {tagpdf-ns-pdf2.def} {2024-03-27} {0.99a} %% {pdf2} {http://iso.org/pdf2/ssn}{} StructTreeRoot,StructTreeRoot,pdf2,D, Document,Document,pdf2,D, 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 7ed3c478705..730dcbe1f82 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} {2024-02-29} {0.98x} +%% \ProvidesExplFile {tagpdf-parent-child-2.csv} {2024-03-27} {0.99a} ,,,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 88347fdc58e..39b39c11e92 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} {2024-02-29} {0.98x} +%% \ProvidesExplFile {tagpdf-parent-child.csv} {2024-03-27} {0.99a} ,,,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 31e3049bdef..86d941885c3 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.98x", --TAGVERSION - date = "2024-02-29", --TAGDATE + version = "0.99a", --TAGVERSION + date = "2024-03-27", --TAGDATE description = "tagpdf lua code", license = "The LATEX Project Public License 1.3c" } @@ -377,7 +377,7 @@ local function __tag_insert_bdc_node (head,current,tag,dict) return head end local function __tag_pdf_object_ref (name) - local tokenname = 'c__pdf_backend_object_'..name..'_int' + local tokenname = 'c__pdf_object_'..name..'_int' local object = token.create(tokenname).mode ..' 0 R' return object end diff --git a/Master/texmf-dist/tex/latex/tagpdf/tagpdf.sty b/Master/texmf-dist/tex/latex/tagpdf/tagpdf.sty index 644aee8b945..efa57d3ddc4 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} {2024-02-29} {0.98x} +\ProvidesExplPackage {tagpdf} {2024-03-27} {0.99a} { A package to experiment with pdf tagging } \bool_if:nF @@ -271,7 +271,6 @@ } %% File: tagpdf-checks.dtx - \msg_new:nnn { tag } {mc-nested} { nested~marked~content~found~-~mcid~#1 } \msg_new:nnn { tag } {mc-tag-missing} { required~tag~missing~-~mcid~#1 } \msg_new:nnn { tag } {mc-label-unknown} @@ -314,6 +313,15 @@ The~structures~are~automatically~closed,\\ but~their~nesting~can~be~wrong. } +\msg_new:nnn { tag } {tree-statistic} + { + Finalizing~the~tagging~structure:\\ + Writing~out~\c_tilde_str + \int_use:N\c@g__tag_struct_abs_int\c_space_tl~structure~objects\\ + with~\c_tilde_str + \int_use:N\c@g__tag_MCID_abs_int\c_space_tl'MC'~leaf~nodes.\\ + Be~patient~if~there~are~lots~of~objects! + } \msg_new:nnn { tag } {attr-unknown} { attribute~#1~is~unknown} \msg_new:nnn { tag } {role-missing} { tag~#1~has~no~role~assigned } \msg_new:nnn { tag } {role-unknown} { role~#1~is~not~known } @@ -583,6 +591,16 @@ { \prg_return_true: } { \prg_return_false: } } +\cs_new_protected:Npn \__tag_check_benchmark_tic:{} +\cs_new_protected:Npn \__tag_check_benchmark_toc:{} +\cs_new_protected:Npn \tag_check_benchmark_on: + { + \cs_if_exist:NT \benchmark_tic: + { + \cs_set_eq:NN \__tag_check_benchmark_tic: \benchmark_tic: + \cs_set_eq:NN \__tag_check_benchmark_toc: \benchmark_toc: + } + } %% File: tagpdf-mc-shared.dtx \cs_new:Npn \__tag_get_mc_abs_cnt: { \int_use:N \c@g__tag_MCID_abs_int } @@ -748,6 +766,7 @@ \int_step_inline:nnn{2}{\seq_count:N\g__tag_struct_stack_seq} {\tag_struct_end:} } + \msg_note:nn {tag}{tree-statistic} } \pdf_object_new:n { __tag/struct/0 } \tl_new:N \g__tag_tree_openaction_struct_tl @@ -855,6 +874,7 @@ { RoleMap } { \pdf_object_ref:n { __tag/tree/rolemap } } \__tag_struct_fill_kid_key:n { 0 } + \prop_gremove:cn { g__tag_struct_0_prop } {S} \__tag_struct_get_dict_content:nN { 0 } \l__tag_tmpa_tl \pdf_object_write:nne { __tag/struct/0 } @@ -999,22 +1019,23 @@ \cs_new_protected:Npn \__tag_tree_write_classmap: { \tl_clear:N \l__tag_tmpa_tl - \seq_gremove_duplicates:N \g__tag_attr_class_used_seq - \seq_set_map:NNn \l__tag_tmpa_seq \g__tag_attr_class_used_seq - { - ##1\c_space_tl - << - \prop_item:Nn + \seq_map_inline:Nn \g__tag_attr_class_used_seq + { + \prop_gput:Nnn \g__tag_attr_class_used_prop {##1}{} + } + \prop_map_inline:Nn \g__tag_attr_class_used_prop + { + \tl_put_right:Ne \l__tag_tmpa_tl + { + ##1\c_space_tl + << + \prop_item:Nn \g__tag_attr_entries_prop {##1} - >> - } - \tl_set:Ne \l__tag_tmpa_tl - { - \seq_use:Nn - \l__tag_tmpa_seq - { \iow_newline: } - } + >> + \iow_newline: + } + } \tl_if_empty:NF \l__tag_tmpa_tl { @@ -1063,13 +1084,34 @@ { \hook_use:n {tagpdf/finish/before} \__tag_tree_final_checks: + \iow_term:n{Package~tagpdf~Info:~writing~ParentTree} + \__tag_check_benchmark_tic: \__tag_tree_write_parenttree: + \__tag_check_benchmark_toc: + \iow_term:n{Package~tagpdf~Info:~writing~IDTree} + \__tag_check_benchmark_tic: \__tag_tree_write_idtree: + \__tag_check_benchmark_toc: + \iow_term:n{Package~tagpdf~Info:~writing~RoleMap} + \__tag_check_benchmark_tic: \__tag_tree_write_rolemap: + \__tag_check_benchmark_toc: + \iow_term:n{Package~tagpdf~Info:~writing~ClassMap} + \__tag_check_benchmark_tic: \__tag_tree_write_classmap: + \__tag_check_benchmark_toc: + \iow_term:n{Package~tagpdf~Info:~writing~NameSpaces} + \__tag_check_benchmark_tic: \__tag_tree_write_namespaces: + \__tag_check_benchmark_toc: + \iow_term:n{Package~tagpdf~Info:~writing~StructElems} + \__tag_check_benchmark_tic: \__tag_tree_write_structelements: %this is rather slow!! + \__tag_check_benchmark_toc: + \iow_term:n{Package~tagpdf~Info:~writing~Root} + \__tag_check_benchmark_tic: \__tag_tree_write_structtreeroot: + \__tag_check_benchmark_toc: } } \hook_gput_code:nnn{begindocument}{tagpdf} @@ -2067,10 +2109,9 @@ \cs_new_protected:Npn\__tag_struct_exchange_kid_command:N #1 %#1 = seq var { \seq_gpop_left:NN #1 \l__tag_tmpa_tl - \regex_replace_once:nnN - { \c{\__tag_mc_insert_mcid_kids:n} } - { \c{\__tag_mc_insert_mcid_single_kids:n} } - \l__tag_tmpa_tl + \tl_replace_once:Nnn \l__tag_tmpa_tl + {\__tag_mc_insert_mcid_kids:n} + {\__tag_mc_insert_mcid_single_kids:n} \seq_gput_left:NV #1 \l__tag_tmpa_tl } @@ -2158,34 +2199,20 @@ \cs_new_protected:Npn \__tag_struct_get_dict_content:nN #1 #2 %#1: stucture num { \tl_clear:N #2 - \seq_map_inline:cn - { - c__tag_struct_ - \int_compare:nNnTF{#1}={0}{StructTreeRoot}{StructElem} - _entries_seq - } + \prop_map_inline:cn { g__tag_struct_#1_prop } { - \tl_put_right:Ne - #2 + \tl_put_right:Ne #2 { - \prop_if_in:cnT - { g__tag_struct_#1_prop } - { ##1 } - { - \c_space_tl/##1~ - \cs_if_exist_use:cTF {__tag_struct_format_##1:e} - { - { \prop_item:cn{ g__tag_struct_#1_prop } { ##1 } } - } - { - \prop_item:cn{ g__tag_struct_#1_prop } { ##1 } - } - } + \cs_if_exist_use:cTF {__tag_struct_format_##1:nn} + {{##1}{##2}} + {\c_space_tl/##1~##2} } } } -\cs_new:Nn\__tag_struct_format_Ref:n{[#1]} -\cs_generate_variant:Nn\__tag_struct_format_Ref:n{e} +\cs_new:Nn\__tag_struct_format_rolemap:nn{} +\cs_new:Nn\__tag_struct_format_parentrole:nn{} + +\cs_new:Nn\__tag_struct_format_Ref:nn{\c_space_tl/#1~[#2]} \cs_new_protected:Npn \__tag_struct_write_obj:n #1 % #1 is the struct num { \pdf_object_if_exist:nTF { __tag/struct/#1 } @@ -2534,6 +2561,7 @@ } }, } +\tl_new:N \l__tag_struct_lang_tl \cs_set_protected:Npn \tag_struct_begin:n #1 %#1 key-val { \__tag_check_if_active_struct:T @@ -2550,6 +2578,18 @@ { \int_use:N \c@g__tag_struct_abs_int } { Type } { /StructElem } + \tl_if_empty:NF \l__tag_struct_lang_tl + { + \__tag_struct_prop_gput:nne + { \int_use:N \c@g__tag_struct_abs_int } + { Lang } + { (\l__tag_struct_lang_tl) } + } + \__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 @@ -2852,9 +2892,10 @@ \prop_new:N \g__tag_attr_entries_prop -\seq_new:N \g__tag_attr_class_used_seq +\prop_new_linked:N \g__tag_attr_class_used_prop \tl_new:N \l__tag_attr_value_tl \prop_new:N \g__tag_attr_objref_prop %will contain obj num of used attributes +\seq_new:N\g__tag_attr_class_used_seq \cs_new_protected:Npn \__tag_attr_new_entry:nn #1 #2 %#1:name, #2: content { \prop_gput:Nen \g__tag_attr_entries_prop @@ -2889,7 +2930,7 @@ { \msg_error:nnn { tag } { attr-unknown } { ##1 } } - \seq_gput_left:Nn\g__tag_attr_class_used_seq { ##1} + \prop_gput:Nnn\g__tag_attr_class_used_prop { ##1} {} } \tl_set:Ne \l__tag_tmpa_tl { @@ -3247,6 +3288,7 @@ \int_new:N \g__tag_para_main_begin_int \int_new:N \g__tag_para_main_end_int \tl_new:N \g__tag_para_main_struct_tl +\tl_gset:Nn \g__tag_para_main_struct_tl {1} \tl_new:N \l__tag_para_tag_default_tl \tl_set:Nn \l__tag_para_tag_default_tl { text } \tl_new:N \l__tag_para_tag_tl @@ -3539,6 +3581,10 @@ \renewcommand\tagpdfparaOff{\bool_set_false:N \l__tag_para_bool} \NewDocumentCommand\tagpdfsuppressmarks{m} {{\use:c{__tag_mc_disable_marks:} #1}} +\keys_define:nn { __tag / setup } + { + text / lang .tl_set:N = \l__tag_struct_lang_tl + } \cs_new_protected:Npn\__tag_hook_kernel_before_head:{} \cs_new_protected:Npn\__tag_hook_kernel_after_head:{} \cs_new_protected:Npn\__tag_hook_kernel_before_foot:{} diff --git a/Master/texmf-dist/tex/latex/tagpdf/tagpdfdocu-patches.sty b/Master/texmf-dist/tex/latex/tagpdf/tagpdfdocu-patches.sty index 17baec2298b..c3e663cecd2 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} {2024-02-29} {0.98x} +\ProvidesExplPackage {tagpdfdocu-patches} {2024-03-27} {0.99a} {patches/commands for the tagpdf documentation} \RequirePackage{etoolbox,xpatch} @@ -69,15 +69,17 @@ } % ======== marginnote ========== +% 2024-03-23 currently marginnote is no longer used, we use marginpar % TODO marginnote has a bug (a \par is missing) so it messes up tagging. % but currently unneeded as we marked them up as artifacts anyway as they don't contain % meaningful contents -\renewcommand*{\mn@parboxrestore}{\tagpdfparaOff}% +%\renewcommand*{\mn@parboxrestore}{\tagpdfparaOff}% -\NewDocumentCommand\sidenote{m} - { - \tag_mc_artifact_group_begin:n{notype}\tagpdfparaOff\marginnote{#1}\tag_mc_artifact_group_end: - } +%\NewDocumentCommand\sidenote{m} +% {% +% %\tag_mc_artifact_group_begin:n{notype}\tagpdfparaOff\marginnote{#1}\tag_mc_artifact_group_end: +% \marginpar{#1}% +% } \ExplSyntaxOff % ======== tikzpicture ========== -- cgit v1.2.3