diff options
Diffstat (limited to 'macros')
49 files changed, 2614 insertions, 808 deletions
diff --git a/macros/latex/contrib/tagpdf/README.md b/macros/latex/contrib/tagpdf/README.md index 2196a3b515..555e13337e 100644 --- a/macros/latex/contrib/tagpdf/README.md +++ b/macros/latex/contrib/tagpdf/README.md @@ -1,6 +1,6 @@ #tagpdf β A package to create tagged pdf -Packageversion: 0.98j -Packagedate: 2023/07/08 +Packageversion: 0.98k +Packagedate: 2023/08/04 Author: Ulrike Fischer ## License diff --git a/macros/latex/contrib/tagpdf/ex-AF-file.pdf b/macros/latex/contrib/tagpdf/ex-AF-file.pdf Binary files differindex 19a9d7b8ea..0ff5805d5f 100644 --- a/macros/latex/contrib/tagpdf/ex-AF-file.pdf +++ b/macros/latex/contrib/tagpdf/ex-AF-file.pdf diff --git a/macros/latex/contrib/tagpdf/ex-AF-file.tex b/macros/latex/contrib/tagpdf/ex-AF-file.tex index 2282cd0026..56a7702f39 100644 --- a/macros/latex/contrib/tagpdf/ex-AF-file.tex +++ b/macros/latex/contrib/tagpdf/ex-AF-file.tex @@ -1,12 +1,10 @@ % !Mode:: "TeX:DE:UTF-8:Main" -\IfFormatAtLeastTF{2022-06-01}{} - {\RequirePackage{pdfmanagement-testphase}} \DocumentMetadata { uncompress, pdfversion=2.0, lang=de-DE, - testphase=tagpdf %load and activate tagpdf + testphase=phase-I %load and activate tagpdf } \documentclass{article} diff --git a/macros/latex/contrib/tagpdf/ex-alt-actualtext.pdf b/macros/latex/contrib/tagpdf/ex-alt-actualtext.pdf Binary files differnew file mode 100644 index 0000000000..f43da375d1 --- /dev/null +++ b/macros/latex/contrib/tagpdf/ex-alt-actualtext.pdf diff --git a/macros/latex/contrib/tagpdf/ex-alt-actualtext.tex b/macros/latex/contrib/tagpdf/ex-alt-actualtext.tex index ae44370152..fa33887086 100644 --- a/macros/latex/contrib/tagpdf/ex-alt-actualtext.tex +++ b/macros/latex/contrib/tagpdf/ex-alt-actualtext.tex @@ -1,13 +1,12 @@ % !Mode:: "TeX:DE:UTF-8:Main" -\RequirePackage{pdfmanagement-testphase} -\DeclareDocumentMetadata{pdfversion=1.7,lang=de-DE} + +\DocumentMetadata{pdfversion=1.7,lang=de-DE,testphase=phase-II} \documentclass{article} \usepackage{tagpdf} -\tagpdfsetup{tabsorder=structure, - activate} +\tagpdfsetup{tabsorder=structure} \usepackage{iftex} \iftutex \usepackage{fontspec} diff --git a/macros/latex/contrib/tagpdf/ex-attribute.pdf b/macros/latex/contrib/tagpdf/ex-attribute.pdf new file mode 100644 index 0000000000..4eb4ff455d --- /dev/null +++ b/macros/latex/contrib/tagpdf/ex-attribute.pdf @@ -0,0 +1,493 @@ +%PDF-1.5 +%ΜΥΑΤΕΨΠΔΖ +14 0 obj +<< <</O /Table /Scope /Both>> >> +endobj +15 0 obj +<< <</O /Layout /Borderstyle /Dotted >> >> +endobj +21 0 obj +<< /Type /Metadata /Subtype /XML /Length 11036 >> +stream + +<?xpacket begin="ο»Ώ" id="W5M0MpCehiHzreSzNTczkc9d"?> +<x:xmpmeta xmlns:x="adobe:ns:meta/"> + <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> + <rdf:Description rdf:about="" + xmlns:pdf="http://ns.adobe.com/pdf/1.3/" + xmlns:xmpRights="http://ns.adobe.com/xap/1.0/rights/" + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:photoshop="http://ns.adobe.com/photoshop/1.0/" + xmlns:xmp="http://ns.adobe.com/xap/1.0/" + xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" + xmlns:stEvt="http://ns.adobe.com/xap/1.0/sType/ResourceEvent#" + xmlns:pdfaid="http://www.aiim.org/pdfa/ns/id/" + xmlns:pdfuaid="http://www.aiim.org/pdfua/ns/id/" + xmlns:pdfx="http://ns.adobe.com/pdfx/1.3/" + xmlns:pdfxid="http://www.npes.org/pdfx/ns/id/" + xmlns:prism="http://prismstandard.org/namespaces/basic/3.0/" + xmlns:stFnt="http://ns.adobe.com/xap/1.0/sType/Font#" + xmlns:Iptc4xmpCore="http://iptc.org/std/Iptc4xmpCore/1.0/xmlns/" + xmlns:pdfaExtension="http://www.aiim.org/pdfa/ns/extension/" + xmlns:pdfaSchema="http://www.aiim.org/pdfa/ns/schema#" + xmlns:pdfaProperty="http://www.aiim.org/pdfa/ns/property#" + xmlns:pdfaType="http://www.aiim.org/pdfa/ns/type#" + xmlns:pdfaField="http://www.aiim.org/pdfa/ns/field#"> + <pdfaExtension:schemas> + <rdf:Bag> + <rdf:li rdf:parseType="Resource"> + <pdfaSchema:schema>XMP Media Management Schema</pdfaSchema:schema> + <pdfaSchema:prefix>xmpMM</pdfaSchema:prefix> + <pdfaSchema:namespaceURI>http://ns.adobe.com/xap/1.0/mm/</pdfaSchema:namespaceURI> + <pdfaSchema:property> + <rdf:Seq> + <rdf:li rdf:parseType="Resource"> + <pdfaProperty:name>OriginalDocumentID</pdfaProperty:name> + <pdfaProperty:valueType>URI</pdfaProperty:valueType> + <pdfaProperty:category>internal</pdfaProperty:category> + <pdfaProperty:description>The common identifier for all versions and renditions of a document.</pdfaProperty:description> + </rdf:li> + </rdf:Seq> + </pdfaSchema:property> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <pdfaSchema:schema>PDF/A Identification Schema</pdfaSchema:schema> + <pdfaSchema:prefix>pdfaid</pdfaSchema:prefix> + <pdfaSchema:namespaceURI>http://www.aiim.org/pdfa/ns/id/</pdfaSchema:namespaceURI> + <pdfaSchema:property> + <rdf:Seq> + <rdf:li rdf:parseType="Resource"> + <pdfaProperty:name>year</pdfaProperty:name> + <pdfaProperty:valueType>Integer</pdfaProperty:valueType> + <pdfaProperty:category>internal</pdfaProperty:category> + <pdfaProperty:description>Year of standard</pdfaProperty:description> + </rdf:li> + </rdf:Seq> + </pdfaSchema:property> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <pdfaSchema:schema>PDF/UA Universal Accessibility Schema</pdfaSchema:schema> + <pdfaSchema:prefix>pdfuaid</pdfaSchema:prefix> + <pdfaSchema:namespaceURI>http://www.aiim.org/pdfua/ns/id/</pdfaSchema:namespaceURI> + <pdfaSchema:property> + <rdf:Seq> + <rdf:li rdf:parseType="Resource"> + <pdfaProperty:name>part</pdfaProperty:name> + <pdfaProperty:valueType>Integer</pdfaProperty:valueType> + <pdfaProperty:category>internal</pdfaProperty:category> + <pdfaProperty:description>Part of ISO 14289 standard</pdfaProperty:description> + </rdf:li> + </rdf:Seq> + </pdfaSchema:property> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <pdfaSchema:schema>PDF/X ID Schema</pdfaSchema:schema> + <pdfaSchema:prefix>pdfxid</pdfaSchema:prefix> + <pdfaSchema:namespaceURI>http://www.npes.org/pdfx/ns/id/</pdfaSchema:namespaceURI> + <pdfaSchema:property> + <rdf:Seq> + <rdf:li rdf:parseType="Resource"> + <pdfaProperty:name>GTS_PDFXVersion</pdfaProperty:name> + <pdfaProperty:valueType>Text</pdfaProperty:valueType> + <pdfaProperty:category>internal</pdfaProperty:category> + <pdfaProperty:description>ID of PDF/X standard</pdfaProperty:description> + </rdf:li> + </rdf:Seq> + </pdfaSchema:property> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <pdfaSchema:schema>PRISM Basic Metadata</pdfaSchema:schema> + <pdfaSchema:prefix>prism</pdfaSchema:prefix> + <pdfaSchema:namespaceURI>http://prismstandard.org/namespaces/basic/3.0/</pdfaSchema:namespaceURI> + <pdfaSchema:property> + <rdf:Seq> + <rdf:li rdf:parseType="Resource"> + <pdfaProperty:name>complianceProfile</pdfaProperty:name> + <pdfaProperty:valueType>Text</pdfaProperty:valueType> + <pdfaProperty:category>internal</pdfaProperty:category> + <pdfaProperty:description>PRISM specification compliance profile to which this document adheres</pdfaProperty:description> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <pdfaProperty:name>publicationName</pdfaProperty:name> + <pdfaProperty:valueType>Text</pdfaProperty:valueType> + <pdfaProperty:category>external</pdfaProperty:category> + <pdfaProperty:description>Publicationname</pdfaProperty:description> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <pdfaProperty:name>aggregationType</pdfaProperty:name> + <pdfaProperty:valueType>Text</pdfaProperty:valueType> + <pdfaProperty:category>external</pdfaProperty:category> + <pdfaProperty:description>Publicationtype</pdfaProperty:description> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <pdfaProperty:name>bookEdition</pdfaProperty:name> + <pdfaProperty:valueType>Text</pdfaProperty:valueType> + <pdfaProperty:category>external</pdfaProperty:category> + <pdfaProperty:description>Edition of the book in which the document was published</pdfaProperty:description> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <pdfaProperty:name>volume</pdfaProperty:name> + <pdfaProperty:valueType>Text</pdfaProperty:valueType> + <pdfaProperty:category>external</pdfaProperty:category> + <pdfaProperty:description>Publication volume number</pdfaProperty:description> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <pdfaProperty:name>number</pdfaProperty:name> + <pdfaProperty:valueType>Text</pdfaProperty:valueType> + <pdfaProperty:category>external</pdfaProperty:category> + <pdfaProperty:description>Publication issue number within a volume</pdfaProperty:description> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <pdfaProperty:name>pageRange</pdfaProperty:name> + <pdfaProperty:valueType>Text</pdfaProperty:valueType> + <pdfaProperty:category>external</pdfaProperty:category> + <pdfaProperty:description>Page range for the document within the print version of its publication</pdfaProperty:description> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <pdfaProperty:name>issn</pdfaProperty:name> + <pdfaProperty:valueType>Text</pdfaProperty:valueType> + <pdfaProperty:category>external</pdfaProperty:category> + <pdfaProperty:description>ISSN for the printed publication in which the document was published</pdfaProperty:description> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <pdfaProperty:name>eIssn</pdfaProperty:name> + <pdfaProperty:valueType>Text</pdfaProperty:valueType> + <pdfaProperty:category>external</pdfaProperty:category> + <pdfaProperty:description>ISSN for the electronic publication in which the document was published</pdfaProperty:description> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <pdfaProperty:name>isbn</pdfaProperty:name> + <pdfaProperty:valueType>Text</pdfaProperty:valueType> + <pdfaProperty:category>external</pdfaProperty:category> + <pdfaProperty:description>ISBNforthepublicationinwhichthedocumentwaspublished</pdfaProperty:description> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <pdfaProperty:name>doi</pdfaProperty:name> + <pdfaProperty:valueType>Text</pdfaProperty:valueType> + <pdfaProperty:category>external</pdfaProperty:category> + <pdfaProperty:description>Digital Object Identifier for the document</pdfaProperty:description> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <pdfaProperty:name>url</pdfaProperty:name> + <pdfaProperty:valueType>URL</pdfaProperty:valueType> + <pdfaProperty:category>external</pdfaProperty:category> + <pdfaProperty:description>URL at which the document can be found</pdfaProperty:description> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <pdfaProperty:name>byteCount</pdfaProperty:name> + <pdfaProperty:valueType>Integer</pdfaProperty:valueType> + <pdfaProperty:category>internal</pdfaProperty:category> + <pdfaProperty:description>Approximate file size in octets</pdfaProperty:description> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <pdfaProperty:name>pageCount</pdfaProperty:name> + <pdfaProperty:valueType>Integer</pdfaProperty:valueType> + <pdfaProperty:category>internal</pdfaProperty:category> + <pdfaProperty:description>Number of pages in the print version of the document</pdfaProperty:description> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <pdfaProperty:name>subtitle</pdfaProperty:name> + <pdfaProperty:valueType>Text</pdfaProperty:valueType> + <pdfaProperty:category>external</pdfaProperty:category> + <pdfaProperty:description>Document'ssubtitle</pdfaProperty:description> + </rdf:li> + </rdf:Seq> + </pdfaSchema:property> + </rdf:li> + </rdf:Bag> + </pdfaExtension:schemas> + <pdf:Producer>luahbtex-1.17.0</pdf:Producer> + <pdf:PDFVersion>1.5</pdf:PDFVersion> + <dc:type> + <rdf:Bag> + <rdf:li>Text</rdf:li> + </rdf:Bag> + </dc:type> + <dc:language> + <rdf:Bag> + <rdf:li>de_DE</rdf:li> + </rdf:Bag> + </dc:language> + <dc:date> + <rdf:Seq> + <rdf:li>2023-08-04T19:31:19+02:00</rdf:li> + </rdf:Seq> + </dc:date> + <dc:format>application/pdf</dc:format> + <dc:source>ex-attribute.tex</dc:source> + <xmp:CreatorTool>LaTeX</xmp:CreatorTool> + <xmp:CreateDate>2023-08-04T19:31:19+02:00</xmp:CreateDate> + <xmp:ModifyDate>2023-08-04T19:31:19+02:00</xmp:ModifyDate> + <xmp:MetadataDate>2023-08-04T19:31:19+02:00</xmp:MetadataDate> + <xmpMM:DocumentID>uuid:7a9cf910-1c19-429a-8f24-339c62d8a57f</xmpMM:DocumentID> + <xmpMM:InstanceID>uuid:2e9261fa-4639-4b72-826b-dd496923bab9</xmpMM:InstanceID> + <prism:complianceProfile>three</prism:complianceProfile> + <prism:pageCount>1</prism:pageCount> + </rdf:Description> + </rdf:RDF> +</x:xmpmeta> + + + + + + + + + + +<?xpacket end="w"?> +endstream +endobj +24 0 obj +<< /Length 950 >> +stream +/opacity1 gs +/Artifact BMC +q +1 0 0 1 263.264 757.502 cm +[] 0 d 0 J 0.398 w 0 0 m 68.747 0 l S +Q +EMC +/TH<</MCID 0>> BDC +BT +/F16 10.90909 Tf +1 0 0 1 280.14 747.818 Tm [<0067003F0052>]TJ +ET +EMC +/Artifact BMC +q +1 0 0 1 301.271 743.753 cm +[] 0 d 0 J 0.398 w 0 0 m 0 13.549 l S +Q +EMC +/TH<</MCID 1>> BDC +BT +/F16 10.90909 Tf +1 0 0 1 310.881 747.818 Tm [<0067003F006B>]TJ +ET +EMC +/Artifact BMC +q +1 0 0 1 332.011 743.753 cm +[] 0 d 0 J 0.398 w 0 0 m 0 13.549 l S +Q +q +1 0 0 1 263.264 743.554 cm +[] 0 d 0 J 0.398 w 0 0 m 68.747 0 l S +Q +EMC +/TD<</MCID 2>> BDC +BT +/F16 10.90909 Tf +1 0 0 1 280.14 733.87 Tm [<006700600052>]TJ +ET +EMC +/Artifact BMC +q +1 0 0 1 301.271 729.806 cm +[] 0 d 0 J 0.398 w 0 0 m 0 13.549 l S +Q +EMC +/TD<</MCID 3>> BDC +BT +/F16 10.90909 Tf +1 0 0 1 310.881 733.87 Tm [<0067003F006B>]TJ +ET +EMC +/Artifact BMC +q +1 0 0 1 332.011 729.806 cm +[] 0 d 0 J 0.398 w 0 0 m 0 13.549 l S +Q +q +1 0 0 1 263.264 729.606 cm +[] 0 d 0 J 0.398 w 0 0 m 68.747 0 l S +Q +EMC + +endstream +endobj +23 0 obj +<< /Type /Page /Contents 24 0 R /Resources 22 0 R /MediaBox [ 0 0 595.276 841.89 ] /StructParents 0/Tabs /S /Parent 26 0 R >> +endobj +22 0 obj +<< /ExtGState 1 0 R /Font << /F16 25 0 R >> /ProcSet [ /PDF /Text ] >> +endobj +1 0 obj +<< /opacity1 <</ca 1/CA 1>> >> +endobj +27 0 obj +<< /Marked true >> +endobj +6 0 obj +<< /Nums [0 [ 13 0 R 16 0 R 19 0 R 20 0 R] +] >> +endobj +28 0 obj +<< /Limits [(ID.001) (ID.010)]/Names [(ID.001) 9 0 R (ID.002) 10 0 R (ID.003) 11 0 R (ID.004) 12 0 R (ID.005) 13 0 R (ID.006) 16 0 R (ID.007) 17 0 R (ID.008) 18 0 R (ID.009) 19 0 R (ID.010) 20 0 R ] >> +endobj +29 0 obj +<< /Kids [28 0 R] >> +endobj +7 0 obj +<< /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 /Div /item /LI /itemlabel /Lbl /itembody /LBody /footnote /Note /footnotemark /Lbl /footnotelabel /Lbl /text-unit /Part /text /P >> +endobj +30 0 obj +<< /Lay-borderdotted << <</O /Layout /Borderstyle /Dotted >> >> +/TH-col << <</O /Table /Scope /Column>> >> >> +endobj +9 0 obj +<< /Type /StructElem /S /Document /P 5 0 R /K 10 0 R /ID (ID.001) >> +endobj +10 0 obj +<< /Type /StructElem /S /Table /P 9 0 R /K [11 0 R 17 0 R] /ID (ID.002) >> +endobj +11 0 obj +<< /Type /StructElem /S /THead /P 10 0 R /K 12 0 R /ID (ID.003) >> +endobj +12 0 obj +<< /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 <</Type /MCR /Pg 23 0 R /MCID 0>> /A [ 14 0 R 15 0 R] /ID (ID.005) >> +endobj +16 0 obj +<< /Type /StructElem /S /TH /P 12 0 R /K <</Type /MCR /Pg 23 0 R /MCID 1>> /C [/TH-col /Lay-borderdotted] /ID (ID.006) >> +endobj +17 0 obj +<< /Type /StructElem /S /TBody /P 10 0 R /K 18 0 R /ID (ID.007) >> +endobj +18 0 obj +<< /Type /StructElem /S /TR /P 17 0 R /K [19 0 R 20 0 R] /ID (ID.008) >> +endobj +19 0 obj +<< /Type /StructElem /S /TD /P 18 0 R /K <</Type /MCR /Pg 23 0 R /MCID 2>> /ID (ID.009) >> +endobj +20 0 obj +<< /Type /StructElem /S /TD /P 18 0 R /K <</Type /MCR /Pg 23 0 R /MCID 3>> /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 >> +endobj +31 0 obj +[ 63 [ 556 ] 82 [ 500 ] 96 [ 392 ] 103 [ 333 ] 107 [ 500 ] ] +endobj +33 0 obj +<< /Length 14 >> +stream + +endstream +endobj +34 0 obj +<< /Subtype /CIDFontType0C /Length 943 >> +stream + +Π‘Θ€΄
+endstream +endobj +32 0 obj +<< /Type /FontDescriptor /FontName /GQQXLV+LMRoman10-Regular /Flags 4 /FontBBox [ -430 -290 1417 1127 ] /Ascent 1127 /CapHeight 683 /Descent -290 /ItalicAngle 0 /StemV 93 /XHeight 431 /FontFile3 34 0 R /CIDSet 33 0 R >> +endobj +35 0 obj +<< /Length 748 >> +stream +%!PS-Adobe-3.0 Resource-CMap +%%DocumentNeededResources: ProcSet (CIDInit) +%%IncludeResource: ProcSet (CIDInit) +%%BeginResource: CMap (TeX-GQQXLV-LMRoman10-Regular-0) +%%Title: (TeX-GQQXLV-LMRoman10-Regular-0 TeX GQQXLV-LMRoman10-Regular 0) +%%Version: 1.000 +%%EndComments +/CIDInit /ProcSet findresource begin +12 dict begin +begincmap +/CIDSystemInfo +<< /Registry (TeX) +/Ordering (GQQXLV-LMRoman10-Regular) +/Supplement 0 +>> def +/CMapName /TeX-Identity-GQQXLV-LMRoman10-Regular def +/CMapType 2 def +1 begincodespacerange +<0000> <FFFF> +endcodespacerange +0 beginbfrange +endbfrange +5 beginbfchar +<003F> <0068> +<0052> <0031> +<0060> <0072> +<0067> <0020> +<006B> <0032> +endbfchar +endcmap +CMapName currentdict /CMap defineresource pop +end +end +%%EndResource +%%EOF + +endstream +endobj +25 0 obj +<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /GQQXLV+LMRoman10-Regular /DescendantFonts [ 36 0 R ] /ToUnicode 35 0 R >> +endobj +36 0 obj +<< /Type /Font /Subtype /CIDFontType0 /BaseFont /GQQXLV+LMRoman10-Regular /FontDescriptor 32 0 R /W 31 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >> +endobj +26 0 obj +<< /Type /Pages /Count 1 /Kids [ 23 0 R ] >> +endobj +37 0 obj +<< /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:20230804193119+02'00')/ModDate (D:20230804193119+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.17.0 (TeX Live 2023)) >> +endobj +xref +0 39 +0000000002 65535 f +0000012497 00000 n +0000000003 00000 f +0000000004 00000 f +0000000008 00000 f +0000014540 00000 n +0000012580 00000 n +0000012899 00000 n +0000000000 00000 f +0000013528 00000 n +0000013613 00000 n +0000013705 00000 n +0000013789 00000 n +0000013879 00000 n +0000000020 00000 n +0000000071 00000 n +0000014008 00000 n +0000014148 00000 n +0000014232 00000 n +0000014322 00000 n +0000014431 00000 n +0000000132 00000 n +0000012410 00000 n +0000012268 00000 n +0000011258 00000 n +0000016880 00000 n +0000017234 00000 n +0000012544 00000 n +0000012644 00000 n +0000012862 00000 n +0000013402 00000 n +0000014658 00000 n +0000015836 00000 n +0000014735 00000 n +0000014809 00000 n +0000016072 00000 n +0000017034 00000 n +0000017296 00000 n +0000017414 00000 n +trailer +<< /Size 39 /Root 37 0 R /Info 38 0 R /ID [ <6E7D71013228F6DA006A90DF510CF242> <6E7D71013228F6DA006A90DF510CF242> ] >> +startxref +17651 +%%EOF diff --git a/macros/latex/contrib/tagpdf/ex-attribute.tex b/macros/latex/contrib/tagpdf/ex-attribute.tex index fb1eb963e4..a8cc2a07b8 100644 --- a/macros/latex/contrib/tagpdf/ex-attribute.tex +++ b/macros/latex/contrib/tagpdf/ex-attribute.tex @@ -1,10 +1,7 @@ % !Mode:: "TeX:DE:UTF-8:Main" -\RequirePackage{pdfmanagement-testphase} -\DeclareDocumentMetadata{uncompress,lang=de_DE} +\DocumentMetadata{testphase=phase-I,uncompress,lang=de_DE} \documentclass{scrartcl} \usepackage[english]{babel} -\usepackage{tagpdf} -\tagpdfsetup{activate} \ExplSyntaxOn \pdfmanagement_add:nnn{Info}{Title}{(Title)} diff --git a/macros/latex/contrib/tagpdf/ex-formula-problem.pdf b/macros/latex/contrib/tagpdf/ex-formula-problem.pdf new file mode 100644 index 0000000000..6d8c1bfefd --- /dev/null +++ b/macros/latex/contrib/tagpdf/ex-formula-problem.pdf @@ -0,0 +1,464 @@ +%PDF-1.7 +%ΜΥΑΤΕΨΠΔΖ +14 0 obj +<< /Length 422 >> +stream +/opacity1 gs +/Artifact BMC +EMC +/P<</MCID 0>> BDC +BT +/F15 9.96264 Tf +1 0 0 1 148.712 657.235 Tm [<00310042004D00670061001C0069007800670051003F004D00320067006C004B0048001C006D006900320058>]TJ +ET +EMC +/Formula<</MCID 1 /Alt <FEFF00440069006500730020006900730074002000650069006E006500200046006F0072006D0065006C>>> BDC +BT +/F15 9.96264 Tf +1 0 0 1 148.712 645.28 Tm [<003700510060004B>28<006D0048001C>]TJ +ET +EMC +/Artifact BMC +EMC + +endstream +endobj +13 0 obj +<< /Type /Page /Contents 14 0 R /Resources 12 0 R /MediaBox [ 0 0 612 792 ] /StructParents 0/Tabs /S /Parent 16 0 R >> +endobj +12 0 obj +<< /ExtGState 1 0 R /Font << /F15 15 0 R >> /ProcSet [ /PDF /Text ] >> +endobj +19 0 obj +<< /Type /Metadata /Subtype /XML /Length 11042 >> +stream + +<?xpacket begin="ο»Ώ" id="W5M0MpCehiHzreSzNTczkc9d"?> +<x:xmpmeta xmlns:x="adobe:ns:meta/"> + <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> + <rdf:Description rdf:about="" + xmlns:pdf="http://ns.adobe.com/pdf/1.3/" + xmlns:xmpRights="http://ns.adobe.com/xap/1.0/rights/" + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:photoshop="http://ns.adobe.com/photoshop/1.0/" + xmlns:xmp="http://ns.adobe.com/xap/1.0/" + xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" + xmlns:stEvt="http://ns.adobe.com/xap/1.0/sType/ResourceEvent#" + xmlns:pdfaid="http://www.aiim.org/pdfa/ns/id/" + xmlns:pdfuaid="http://www.aiim.org/pdfua/ns/id/" + xmlns:pdfx="http://ns.adobe.com/pdfx/1.3/" + xmlns:pdfxid="http://www.npes.org/pdfx/ns/id/" + xmlns:prism="http://prismstandard.org/namespaces/basic/3.0/" + xmlns:stFnt="http://ns.adobe.com/xap/1.0/sType/Font#" + xmlns:Iptc4xmpCore="http://iptc.org/std/Iptc4xmpCore/1.0/xmlns/" + xmlns:pdfaExtension="http://www.aiim.org/pdfa/ns/extension/" + xmlns:pdfaSchema="http://www.aiim.org/pdfa/ns/schema#" + xmlns:pdfaProperty="http://www.aiim.org/pdfa/ns/property#" + xmlns:pdfaType="http://www.aiim.org/pdfa/ns/type#" + xmlns:pdfaField="http://www.aiim.org/pdfa/ns/field#"> + <pdfaExtension:schemas> + <rdf:Bag> + <rdf:li rdf:parseType="Resource"> + <pdfaSchema:schema>XMP Media Management Schema</pdfaSchema:schema> + <pdfaSchema:prefix>xmpMM</pdfaSchema:prefix> + <pdfaSchema:namespaceURI>http://ns.adobe.com/xap/1.0/mm/</pdfaSchema:namespaceURI> + <pdfaSchema:property> + <rdf:Seq> + <rdf:li rdf:parseType="Resource"> + <pdfaProperty:name>OriginalDocumentID</pdfaProperty:name> + <pdfaProperty:valueType>URI</pdfaProperty:valueType> + <pdfaProperty:category>internal</pdfaProperty:category> + <pdfaProperty:description>The common identifier for all versions and renditions of a document.</pdfaProperty:description> + </rdf:li> + </rdf:Seq> + </pdfaSchema:property> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <pdfaSchema:schema>PDF/A Identification Schema</pdfaSchema:schema> + <pdfaSchema:prefix>pdfaid</pdfaSchema:prefix> + <pdfaSchema:namespaceURI>http://www.aiim.org/pdfa/ns/id/</pdfaSchema:namespaceURI> + <pdfaSchema:property> + <rdf:Seq> + <rdf:li rdf:parseType="Resource"> + <pdfaProperty:name>year</pdfaProperty:name> + <pdfaProperty:valueType>Integer</pdfaProperty:valueType> + <pdfaProperty:category>internal</pdfaProperty:category> + <pdfaProperty:description>Year of standard</pdfaProperty:description> + </rdf:li> + </rdf:Seq> + </pdfaSchema:property> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <pdfaSchema:schema>PDF/UA Universal Accessibility Schema</pdfaSchema:schema> + <pdfaSchema:prefix>pdfuaid</pdfaSchema:prefix> + <pdfaSchema:namespaceURI>http://www.aiim.org/pdfua/ns/id/</pdfaSchema:namespaceURI> + <pdfaSchema:property> + <rdf:Seq> + <rdf:li rdf:parseType="Resource"> + <pdfaProperty:name>part</pdfaProperty:name> + <pdfaProperty:valueType>Integer</pdfaProperty:valueType> + <pdfaProperty:category>internal</pdfaProperty:category> + <pdfaProperty:description>Part of ISO 14289 standard</pdfaProperty:description> + </rdf:li> + </rdf:Seq> + </pdfaSchema:property> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <pdfaSchema:schema>PDF/X ID Schema</pdfaSchema:schema> + <pdfaSchema:prefix>pdfxid</pdfaSchema:prefix> + <pdfaSchema:namespaceURI>http://www.npes.org/pdfx/ns/id/</pdfaSchema:namespaceURI> + <pdfaSchema:property> + <rdf:Seq> + <rdf:li rdf:parseType="Resource"> + <pdfaProperty:name>GTS_PDFXVersion</pdfaProperty:name> + <pdfaProperty:valueType>Text</pdfaProperty:valueType> + <pdfaProperty:category>internal</pdfaProperty:category> + <pdfaProperty:description>ID of PDF/X standard</pdfaProperty:description> + </rdf:li> + </rdf:Seq> + </pdfaSchema:property> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <pdfaSchema:schema>PRISM Basic Metadata</pdfaSchema:schema> + <pdfaSchema:prefix>prism</pdfaSchema:prefix> + <pdfaSchema:namespaceURI>http://prismstandard.org/namespaces/basic/3.0/</pdfaSchema:namespaceURI> + <pdfaSchema:property> + <rdf:Seq> + <rdf:li rdf:parseType="Resource"> + <pdfaProperty:name>complianceProfile</pdfaProperty:name> + <pdfaProperty:valueType>Text</pdfaProperty:valueType> + <pdfaProperty:category>internal</pdfaProperty:category> + <pdfaProperty:description>PRISM specification compliance profile to which this document adheres</pdfaProperty:description> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <pdfaProperty:name>publicationName</pdfaProperty:name> + <pdfaProperty:valueType>Text</pdfaProperty:valueType> + <pdfaProperty:category>external</pdfaProperty:category> + <pdfaProperty:description>Publicationname</pdfaProperty:description> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <pdfaProperty:name>aggregationType</pdfaProperty:name> + <pdfaProperty:valueType>Text</pdfaProperty:valueType> + <pdfaProperty:category>external</pdfaProperty:category> + <pdfaProperty:description>Publicationtype</pdfaProperty:description> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <pdfaProperty:name>bookEdition</pdfaProperty:name> + <pdfaProperty:valueType>Text</pdfaProperty:valueType> + <pdfaProperty:category>external</pdfaProperty:category> + <pdfaProperty:description>Edition of the book in which the document was published</pdfaProperty:description> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <pdfaProperty:name>volume</pdfaProperty:name> + <pdfaProperty:valueType>Text</pdfaProperty:valueType> + <pdfaProperty:category>external</pdfaProperty:category> + <pdfaProperty:description>Publication volume number</pdfaProperty:description> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <pdfaProperty:name>number</pdfaProperty:name> + <pdfaProperty:valueType>Text</pdfaProperty:valueType> + <pdfaProperty:category>external</pdfaProperty:category> + <pdfaProperty:description>Publication issue number within a volume</pdfaProperty:description> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <pdfaProperty:name>pageRange</pdfaProperty:name> + <pdfaProperty:valueType>Text</pdfaProperty:valueType> + <pdfaProperty:category>external</pdfaProperty:category> + <pdfaProperty:description>Page range for the document within the print version of its publication</pdfaProperty:description> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <pdfaProperty:name>issn</pdfaProperty:name> + <pdfaProperty:valueType>Text</pdfaProperty:valueType> + <pdfaProperty:category>external</pdfaProperty:category> + <pdfaProperty:description>ISSN for the printed publication in which the document was published</pdfaProperty:description> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <pdfaProperty:name>eIssn</pdfaProperty:name> + <pdfaProperty:valueType>Text</pdfaProperty:valueType> + <pdfaProperty:category>external</pdfaProperty:category> + <pdfaProperty:description>ISSN for the electronic publication in which the document was published</pdfaProperty:description> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <pdfaProperty:name>isbn</pdfaProperty:name> + <pdfaProperty:valueType>Text</pdfaProperty:valueType> + <pdfaProperty:category>external</pdfaProperty:category> + <pdfaProperty:description>ISBNforthepublicationinwhichthedocumentwaspublished</pdfaProperty:description> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <pdfaProperty:name>doi</pdfaProperty:name> + <pdfaProperty:valueType>Text</pdfaProperty:valueType> + <pdfaProperty:category>external</pdfaProperty:category> + <pdfaProperty:description>Digital Object Identifier for the document</pdfaProperty:description> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <pdfaProperty:name>url</pdfaProperty:name> + <pdfaProperty:valueType>URL</pdfaProperty:valueType> + <pdfaProperty:category>external</pdfaProperty:category> + <pdfaProperty:description>URL at which the document can be found</pdfaProperty:description> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <pdfaProperty:name>byteCount</pdfaProperty:name> + <pdfaProperty:valueType>Integer</pdfaProperty:valueType> + <pdfaProperty:category>internal</pdfaProperty:category> + <pdfaProperty:description>Approximate file size in octets</pdfaProperty:description> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <pdfaProperty:name>pageCount</pdfaProperty:name> + <pdfaProperty:valueType>Integer</pdfaProperty:valueType> + <pdfaProperty:category>internal</pdfaProperty:category> + <pdfaProperty:description>Number of pages in the print version of the document</pdfaProperty:description> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <pdfaProperty:name>subtitle</pdfaProperty:name> + <pdfaProperty:valueType>Text</pdfaProperty:valueType> + <pdfaProperty:category>external</pdfaProperty:category> + <pdfaProperty:description>Document'ssubtitle</pdfaProperty:description> + </rdf:li> + </rdf:Seq> + </pdfaSchema:property> + </rdf:li> + </rdf:Bag> + </pdfaExtension:schemas> + <pdf:Producer>luahbtex-1.17.0</pdf:Producer> + <pdf:PDFVersion>1.7</pdf:PDFVersion> + <dc:type> + <rdf:Bag> + <rdf:li>Text</rdf:li> + </rdf:Bag> + </dc:type> + <dc:language> + <rdf:Bag> + <rdf:li>de-DE</rdf:li> + </rdf:Bag> + </dc:language> + <dc:date> + <rdf:Seq> + <rdf:li>2023-08-04T19:31:50+02:00</rdf:li> + </rdf:Seq> + </dc:date> + <dc:format>application/pdf</dc:format> + <dc:source>ex-formula-problem.tex</dc:source> + <xmp:CreatorTool>LaTeX</xmp:CreatorTool> + <xmp:CreateDate>2023-08-04T19:31:50+02:00</xmp:CreateDate> + <xmp:ModifyDate>2023-08-04T19:31:50+02:00</xmp:ModifyDate> + <xmp:MetadataDate>2023-08-04T19:31:50+02:00</xmp:MetadataDate> + <xmpMM:DocumentID>uuid:8eb2ce1d-b2ec-440a-8bc2-73733eb3eeb0</xmpMM:DocumentID> + <xmpMM:InstanceID>uuid:16d13dfb-e7a3-4f18-860c-443e275fa999</xmpMM:InstanceID> + <prism:complianceProfile>three</prism:complianceProfile> + <prism:pageCount>2</prism:pageCount> + </rdf:Description> + </rdf:RDF> +</x:xmpmeta> + + + + + + + + + + +<?xpacket end="w"?> +endstream +endobj +22 0 obj +<< /Length 330 >> +stream +/opacity1 gs +/Artifact BMC +EMC +/P<</MCID 0>> BDC +BT +/F15 9.96264 Tf +1 0 0 1 148.712 657.235 Tm [<00310042004D00670061001C0069007800670051003F004D00320067006C004B0048001C006D006900320058>]TJ +ET +EMC +/Formula<</MCID 1>> BDC +BT +/F15 9.96264 Tf +1 0 0 1 148.712 645.28 Tm [<003700510060004B>28<006D0048001C>]TJ +ET +EMC +/Artifact BMC +EMC + +endstream +endobj +21 0 obj +<< /Type /Page /Contents 22 0 R /Resources 20 0 R /MediaBox [ 0 0 612 792 ] /StructParents 1/Tabs /S /Parent 16 0 R >> +endobj +20 0 obj +<< /ExtGState 1 0 R /Font << /F15 15 0 R >> /ProcSet [ /PDF /Text ] >> +endobj +1 0 obj +<< /opacity1 <</ca 1/CA 1>> >> +endobj +23 0 obj +<< /Marked true >> +endobj +6 0 obj +<< /Nums [0 [ 10 0 R 11 0 R] +1 [ 17 0 R 18 0 R] +] >> +endobj +24 0 obj +<< /Limits [(ID.01) (ID.05)]/Names [(ID.01) 9 0 R (ID.02) 10 0 R (ID.03) 11 0 R (ID.04) 17 0 R (ID.05) 18 0 R ] >> +endobj +25 0 obj +<< /Kids [24 0 R] >> +endobj +7 0 obj +<< /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 /Div /item /LI /itemlabel /Lbl /itembody /LBody /footnote /Note /footnotemark /Lbl /footnotelabel /Lbl /text-unit /Part /text /P >> +endobj +9 0 obj +<< /Type /StructElem /S /Document /P 5 0 R /K [10 0 R 11 0 R 17 0 R 18 0 R] /ID (ID.01) >> +endobj +10 0 obj +<< /Type /StructElem /S /P /P 9 0 R /K <</Type /MCR /Pg 13 0 R /MCID 0>> /ID (ID.02) >> +endobj +11 0 obj +<< /Type /StructElem /S /Formula /P 9 0 R /K <</Type /MCR /Pg 13 0 R /MCID 1>> /ID (ID.03) >> +endobj +17 0 obj +<< /Type /StructElem /S /P /P 9 0 R /K <</Type /MCR /Pg 21 0 R /MCID 0>> /ID (ID.04) >> +endobj +18 0 obj +<< /Type /StructElem /S /Formula /P 9 0 R /K <</Type /MCR /Pg 21 0 R /MCID 1>> /Alt <FEFF00440069006500730020006900730074002000650069006E00650020007A0077006500690074006500200046006F0072006D0065006C> /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 >> +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 ] ] +endobj +28 0 obj +<< /Length 16 >> +stream + +endstream +endobj +29 0 obj +<< /Subtype /CIDFontType0C /Length 2395 >> +stream + +ϋlς\pϋοϋ"*;,\ϋ +€χRψ―Ψ£ͺhAee@hl£Ψgό
ϋ!χϋχχεθχ³χΤ¬Έςψΐ‘ͺ»ͺχΆͺl΅χΠχeΠJψ«ͺEΌχχΆϋ'lΡZϋF4[GB7ΊΏχΰ΄ϋ'lΩ2ϋ*=0χ,Γ·§Ι¨1@ψP€ψ‘§ψ ψ%χOrϋ +v_ϋϋ +χͺψyϋΤϋ5€ρ°χχϋ«ό
}χή +Π‘Θ€΄
+endstream +endobj +27 0 obj +<< /Type /FontDescriptor /FontName /QSESXJ+LMRoman10-Regular /Flags 4 /FontBBox [ -430 -290 1417 1127 ] /Ascent 1127 /CapHeight 683 /Descent -290 /ItalicAngle 0 /StemV 93 /XHeight 431 /FontFile3 29 0 R /CIDSet 28 0 R >> +endobj +30 0 obj +<< /Length 931 >> +stream +%!PS-Adobe-3.0 Resource-CMap +%%DocumentNeededResources: ProcSet (CIDInit) +%%IncludeResource: ProcSet (CIDInit) +%%BeginResource: CMap (TeX-QSESXJ-LMRoman10-Regular-0) +%%Title: (TeX-QSESXJ-LMRoman10-Regular-0 TeX QSESXJ-LMRoman10-Regular 0) +%%Version: 1.000 +%%EndComments +/CIDInit /ProcSet findresource begin +12 dict begin +begincmap +/CIDSystemInfo +<< /Registry (TeX) +/Ordering (QSESXJ-LMRoman10-Regular) +/Supplement 0 +>> def +/CMapName /TeX-Identity-QSESXJ-LMRoman10-Regular def +/CMapType 2 def +1 begincodespacerange +<0000> <FFFF> +endcodespacerange +0 beginbfrange +endbfrange +18 beginbfchar +<001C> <0061> +<0031> <0045> +<0032> <0065> +<0037> <0066> +<003F> <0068> +<0042> <0069> +<0048> <006C> +<004B> <006D> +<004D> <006E> +<0051> <006F> +<0058> <002E> +<0060> <0072> +<0061> <0053> +<0067> <0020> +<0069> <0074> +<006C> <0055> +<006D> <0075> +<0078> <007A> +endbfchar +endcmap +CMapName currentdict /CMap defineresource pop +end +end +%%EndResource +%%EOF + +endstream +endobj +15 0 obj +<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /QSESXJ+LMRoman10-Regular /DescendantFonts [ 31 0 R ] /ToUnicode 30 0 R >> +endobj +31 0 obj +<< /Type /Font /Subtype /CIDFontType0 /BaseFont /QSESXJ+LMRoman10-Regular /FontDescriptor 27 0 R /W 26 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >> +endobj +16 0 obj +<< /Type /Pages /Count 2 /Kids [ 13 0 R 21 0 R ] >> +endobj +32 0 obj +<< /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:20230804193150+02'00')/ModDate (D:20230804193150+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.17.0 (TeX Live 2023)) >> +endobj +xref +0 34 +0000000002 65535 f +0000012468 00000 n +0000000003 00000 f +0000000004 00000 f +0000000008 00000 f +0000013955 00000 n +0000012551 00000 n +0000012789 00000 n +0000000000 00000 f +0000013292 00000 n +0000013399 00000 n +0000013505 00000 n +0000000637 00000 n +0000000502 00000 n +0000000020 00000 n +0000018039 00000 n +0000018393 00000 n +0000013617 00000 n +0000013723 00000 n +0000000724 00000 n +0000012381 00000 n +0000012246 00000 n +0000011856 00000 n +0000012515 00000 n +0000012621 00000 n +0000012752 00000 n +0000014056 00000 n +0000016812 00000 n +0000014257 00000 n +0000014333 00000 n +0000017048 00000 n +0000018193 00000 n +0000018462 00000 n +0000018580 00000 n +trailer +<< /Size 34 /Root 32 0 R /Info 33 0 R /ID [ <313B6B151EAE693C9D4A2842B7659ACE> <313B6B151EAE693C9D4A2842B7659ACE> ] >> +startxref +18803 +%%EOF diff --git a/macros/latex/contrib/tagpdf/ex-formula-problem.tex b/macros/latex/contrib/tagpdf/ex-formula-problem.tex index 31b311500b..0e5c7ba837 100644 --- a/macros/latex/contrib/tagpdf/ex-formula-problem.tex +++ b/macros/latex/contrib/tagpdf/ex-formula-problem.tex @@ -1,14 +1,12 @@ % !Mode:: "TeX:DE:UTF-8:Main" -\RequirePackage{pdfmanagement-testphase} -\DeclareDocumentMetadata{ +\DocumentMetadata{ + testphase=phase-I, pdfversion=1.7 ,lang=de-DE ,uncompress} \documentclass{article} -\usepackage{tagpdf} -\tagpdfsetup{tabsorder=structure, - activate} +\tagpdfsetup{tabsorder=structure} \usepackage{iftex} \iftutex \usepackage{fontspec} diff --git a/macros/latex/contrib/tagpdf/ex-list.pdf b/macros/latex/contrib/tagpdf/ex-list.pdf new file mode 100644 index 0000000000..762ec0df25 --- /dev/null +++ b/macros/latex/contrib/tagpdf/ex-list.pdf @@ -0,0 +1,731 @@ +%PDF-1.7 +%ΜΥΑΤΕΨΠΔΖ +48 0 obj +<< /Type /Metadata /Subtype /XML /Length 11031 >> +stream + +<?xpacket begin="ο»Ώ" id="W5M0MpCehiHzreSzNTczkc9d"?> +<x:xmpmeta xmlns:x="adobe:ns:meta/"> + <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> + <rdf:Description rdf:about="" + xmlns:pdf="http://ns.adobe.com/pdf/1.3/" + xmlns:xmpRights="http://ns.adobe.com/xap/1.0/rights/" + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:photoshop="http://ns.adobe.com/photoshop/1.0/" + xmlns:xmp="http://ns.adobe.com/xap/1.0/" + xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" + xmlns:stEvt="http://ns.adobe.com/xap/1.0/sType/ResourceEvent#" + xmlns:pdfaid="http://www.aiim.org/pdfa/ns/id/" + xmlns:pdfuaid="http://www.aiim.org/pdfua/ns/id/" + xmlns:pdfx="http://ns.adobe.com/pdfx/1.3/" + xmlns:pdfxid="http://www.npes.org/pdfx/ns/id/" + xmlns:prism="http://prismstandard.org/namespaces/basic/3.0/" + xmlns:stFnt="http://ns.adobe.com/xap/1.0/sType/Font#" + xmlns:Iptc4xmpCore="http://iptc.org/std/Iptc4xmpCore/1.0/xmlns/" + xmlns:pdfaExtension="http://www.aiim.org/pdfa/ns/extension/" + xmlns:pdfaSchema="http://www.aiim.org/pdfa/ns/schema#" + xmlns:pdfaProperty="http://www.aiim.org/pdfa/ns/property#" + xmlns:pdfaType="http://www.aiim.org/pdfa/ns/type#" + xmlns:pdfaField="http://www.aiim.org/pdfa/ns/field#"> + <pdfaExtension:schemas> + <rdf:Bag> + <rdf:li rdf:parseType="Resource"> + <pdfaSchema:schema>XMP Media Management Schema</pdfaSchema:schema> + <pdfaSchema:prefix>xmpMM</pdfaSchema:prefix> + <pdfaSchema:namespaceURI>http://ns.adobe.com/xap/1.0/mm/</pdfaSchema:namespaceURI> + <pdfaSchema:property> + <rdf:Seq> + <rdf:li rdf:parseType="Resource"> + <pdfaProperty:name>OriginalDocumentID</pdfaProperty:name> + <pdfaProperty:valueType>URI</pdfaProperty:valueType> + <pdfaProperty:category>internal</pdfaProperty:category> + <pdfaProperty:description>The common identifier for all versions and renditions of a document.</pdfaProperty:description> + </rdf:li> + </rdf:Seq> + </pdfaSchema:property> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <pdfaSchema:schema>PDF/A Identification Schema</pdfaSchema:schema> + <pdfaSchema:prefix>pdfaid</pdfaSchema:prefix> + <pdfaSchema:namespaceURI>http://www.aiim.org/pdfa/ns/id/</pdfaSchema:namespaceURI> + <pdfaSchema:property> + <rdf:Seq> + <rdf:li rdf:parseType="Resource"> + <pdfaProperty:name>year</pdfaProperty:name> + <pdfaProperty:valueType>Integer</pdfaProperty:valueType> + <pdfaProperty:category>internal</pdfaProperty:category> + <pdfaProperty:description>Year of standard</pdfaProperty:description> + </rdf:li> + </rdf:Seq> + </pdfaSchema:property> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <pdfaSchema:schema>PDF/UA Universal Accessibility Schema</pdfaSchema:schema> + <pdfaSchema:prefix>pdfuaid</pdfaSchema:prefix> + <pdfaSchema:namespaceURI>http://www.aiim.org/pdfua/ns/id/</pdfaSchema:namespaceURI> + <pdfaSchema:property> + <rdf:Seq> + <rdf:li rdf:parseType="Resource"> + <pdfaProperty:name>part</pdfaProperty:name> + <pdfaProperty:valueType>Integer</pdfaProperty:valueType> + <pdfaProperty:category>internal</pdfaProperty:category> + <pdfaProperty:description>Part of ISO 14289 standard</pdfaProperty:description> + </rdf:li> + </rdf:Seq> + </pdfaSchema:property> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <pdfaSchema:schema>PDF/X ID Schema</pdfaSchema:schema> + <pdfaSchema:prefix>pdfxid</pdfaSchema:prefix> + <pdfaSchema:namespaceURI>http://www.npes.org/pdfx/ns/id/</pdfaSchema:namespaceURI> + <pdfaSchema:property> + <rdf:Seq> + <rdf:li rdf:parseType="Resource"> + <pdfaProperty:name>GTS_PDFXVersion</pdfaProperty:name> + <pdfaProperty:valueType>Text</pdfaProperty:valueType> + <pdfaProperty:category>internal</pdfaProperty:category> + <pdfaProperty:description>ID of PDF/X standard</pdfaProperty:description> + </rdf:li> + </rdf:Seq> + </pdfaSchema:property> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <pdfaSchema:schema>PRISM Basic Metadata</pdfaSchema:schema> + <pdfaSchema:prefix>prism</pdfaSchema:prefix> + <pdfaSchema:namespaceURI>http://prismstandard.org/namespaces/basic/3.0/</pdfaSchema:namespaceURI> + <pdfaSchema:property> + <rdf:Seq> + <rdf:li rdf:parseType="Resource"> + <pdfaProperty:name>complianceProfile</pdfaProperty:name> + <pdfaProperty:valueType>Text</pdfaProperty:valueType> + <pdfaProperty:category>internal</pdfaProperty:category> + <pdfaProperty:description>PRISM specification compliance profile to which this document adheres</pdfaProperty:description> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <pdfaProperty:name>publicationName</pdfaProperty:name> + <pdfaProperty:valueType>Text</pdfaProperty:valueType> + <pdfaProperty:category>external</pdfaProperty:category> + <pdfaProperty:description>Publicationname</pdfaProperty:description> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <pdfaProperty:name>aggregationType</pdfaProperty:name> + <pdfaProperty:valueType>Text</pdfaProperty:valueType> + <pdfaProperty:category>external</pdfaProperty:category> + <pdfaProperty:description>Publicationtype</pdfaProperty:description> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <pdfaProperty:name>bookEdition</pdfaProperty:name> + <pdfaProperty:valueType>Text</pdfaProperty:valueType> + <pdfaProperty:category>external</pdfaProperty:category> + <pdfaProperty:description>Edition of the book in which the document was published</pdfaProperty:description> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <pdfaProperty:name>volume</pdfaProperty:name> + <pdfaProperty:valueType>Text</pdfaProperty:valueType> + <pdfaProperty:category>external</pdfaProperty:category> + <pdfaProperty:description>Publication volume number</pdfaProperty:description> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <pdfaProperty:name>number</pdfaProperty:name> + <pdfaProperty:valueType>Text</pdfaProperty:valueType> + <pdfaProperty:category>external</pdfaProperty:category> + <pdfaProperty:description>Publication issue number within a volume</pdfaProperty:description> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <pdfaProperty:name>pageRange</pdfaProperty:name> + <pdfaProperty:valueType>Text</pdfaProperty:valueType> + <pdfaProperty:category>external</pdfaProperty:category> + <pdfaProperty:description>Page range for the document within the print version of its publication</pdfaProperty:description> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <pdfaProperty:name>issn</pdfaProperty:name> + <pdfaProperty:valueType>Text</pdfaProperty:valueType> + <pdfaProperty:category>external</pdfaProperty:category> + <pdfaProperty:description>ISSN for the printed publication in which the document was published</pdfaProperty:description> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <pdfaProperty:name>eIssn</pdfaProperty:name> + <pdfaProperty:valueType>Text</pdfaProperty:valueType> + <pdfaProperty:category>external</pdfaProperty:category> + <pdfaProperty:description>ISSN for the electronic publication in which the document was published</pdfaProperty:description> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <pdfaProperty:name>isbn</pdfaProperty:name> + <pdfaProperty:valueType>Text</pdfaProperty:valueType> + <pdfaProperty:category>external</pdfaProperty:category> + <pdfaProperty:description>ISBNforthepublicationinwhichthedocumentwaspublished</pdfaProperty:description> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <pdfaProperty:name>doi</pdfaProperty:name> + <pdfaProperty:valueType>Text</pdfaProperty:valueType> + <pdfaProperty:category>external</pdfaProperty:category> + <pdfaProperty:description>Digital Object Identifier for the document</pdfaProperty:description> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <pdfaProperty:name>url</pdfaProperty:name> + <pdfaProperty:valueType>URL</pdfaProperty:valueType> + <pdfaProperty:category>external</pdfaProperty:category> + <pdfaProperty:description>URL at which the document can be found</pdfaProperty:description> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <pdfaProperty:name>byteCount</pdfaProperty:name> + <pdfaProperty:valueType>Integer</pdfaProperty:valueType> + <pdfaProperty:category>internal</pdfaProperty:category> + <pdfaProperty:description>Approximate file size in octets</pdfaProperty:description> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <pdfaProperty:name>pageCount</pdfaProperty:name> + <pdfaProperty:valueType>Integer</pdfaProperty:valueType> + <pdfaProperty:category>internal</pdfaProperty:category> + <pdfaProperty:description>Number of pages in the print version of the document</pdfaProperty:description> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <pdfaProperty:name>subtitle</pdfaProperty:name> + <pdfaProperty:valueType>Text</pdfaProperty:valueType> + <pdfaProperty:category>external</pdfaProperty:category> + <pdfaProperty:description>Document'ssubtitle</pdfaProperty:description> + </rdf:li> + </rdf:Seq> + </pdfaSchema:property> + </rdf:li> + </rdf:Bag> + </pdfaExtension:schemas> + <pdf:Producer>luahbtex-1.17.0</pdf:Producer> + <pdf:PDFVersion>1.7</pdf:PDFVersion> + <dc:type> + <rdf:Bag> + <rdf:li>Text</rdf:li> + </rdf:Bag> + </dc:type> + <dc:language> + <rdf:Bag> + <rdf:li>en-US</rdf:li> + </rdf:Bag> + </dc:language> + <dc:date> + <rdf:Seq> + <rdf:li>2023-08-04T19:32:24+02:00</rdf:li> + </rdf:Seq> + </dc:date> + <dc:format>application/pdf</dc:format> + <dc:source>ex-list.tex</dc:source> + <xmp:CreatorTool>LaTeX</xmp:CreatorTool> + <xmp:CreateDate>2023-08-04T19:32:24+02:00</xmp:CreateDate> + <xmp:ModifyDate>2023-08-04T19:32:24+02:00</xmp:ModifyDate> + <xmp:MetadataDate>2023-08-04T19:32:24+02:00</xmp:MetadataDate> + <xmpMM:DocumentID>uuid:4c749825-1de7-414c-879f-29e4d0bef66e</xmpMM:DocumentID> + <xmpMM:InstanceID>uuid:e5956d13-e998-4dd3-8296-ce8ffcafc35b</xmpMM:InstanceID> + <prism:complianceProfile>three</prism:complianceProfile> + <prism:pageCount>1</prism:pageCount> + </rdf:Description> + </rdf:RDF> +</x:xmpmeta> + + + + + + + + + + +<?xpacket end="w"?> +endstream +endobj +51 0 obj +<< /Length 1722 >> +stream +/opacity1 gs +/Artifact BMC +EMC +/Lbl<</MCID 0>> BDC +BT +/F16 10.90909 Tf +1 0 0 1 72.858 746.742 Tm [<00C7>]TJ +ET +EMC +/text<</MCID 1>> BDC +BT +/F16 10.90909 Tf +1 0 0 1 86.8 746.742 Tm [<002E006D002B>28<0046006200670062001C>28<00760067005B006D001C002B>28<0046>]TJ +ET +EMC +/Lbl<</MCID 2>> BDC +BT +/F16 10.90909 Tf +1 0 0 1 72.858 724.226 Tm [<00C7>]TJ +ET +EMC +/text<</MCID 3>> BDC +BT +/F16 10.90909 Tf +1 0 0 1 86.8 724.226 Tm [<004A001C0060004B00510069006200670062001C>28<0076006700620051004B00320069003F0042004D003B00670053>28<001C0060004B00510069004800420046>28<0032>]TJ +ET +EMC +/Lbl<</MCID 4>> BDC +BT +/F16 10.90909 Tf +1 0 0 1 72.858 698.722 Tm [<00520058>]TJ +ET +EMC +/text<</MCID 5>> BDC +BT +/F16 10.90909 Tf +1 0 0 1 86.8 698.722 Tm [<0068003F00320067003F0042003B003F00320062006900670054001C0062006200670042006200670069003F00320067002A005100480067002F00320067004801F60041006200320060001C004D0058>]TJ +ET +EMC +/Lbl<</MCID 6>> BDC +BT +/F16 10.90909 Tf +1 0 0 1 72.858 676.206 Tm [<006B0058>]TJ +ET +EMC +/text<</MCID 7>> BDC +BT +/F16 10.90909 Tf +1 0 0 1 86.8 676.206 Tm [<0068003F0032006700620032002B0051004D002F0067003F0042003B003F00320062006900670054001C0062006200670042006200670069003F003200670053>28<001C0062006200510067002F0032004800480051006700610069003200480070004200510058>]TJ +ET +EMC +/Lbl<</MCID 8>> BDC +BT +/F17 10.90909 Tf +1 0 0 1 59.528 650.702 Tm [<002F006D002B>32<00460062>]TJ +ET +EMC +/text<</MCID 9>> BDC +BT +/F16 10.90909 Tf +1 0 0 1 95.724 650.702 Tm [<0076>28<0032004800480051>28<0072>]TJ +ET +EMC +/Lbl<</MCID 10>> BDC +BT +/F17 10.90909 Tf +1 0 0 1 59.528 628.187 Tm [<004B001C0060004B005100690062>]TJ +ET +EMC +/text<</MCID 11>> BDC +BT +/F16 10.90909 Tf +1 0 0 1 113.255 628.187 Tm [<002300600051>28<0072004D>]TJ +ET +EMC +/Artifact BMC +EMC + +endstream +endobj +50 0 obj +<< /Type /Page /Contents 51 0 R /Resources 49 0 R /MediaBox [ 0 0 595.276 841.89 ] /StructParents 0/Tabs /S /Parent 54 0 R >> +endobj +49 0 obj +<< /ExtGState 1 0 R /Font << /F16 52 0 R /F17 53 0 R >> /ProcSet [ /PDF /Text ] >> +endobj +1 0 obj +<< /opacity1 <</ca 1/CA 1>> >> +endobj +55 0 obj +<< /Marked true >> +endobj +6 0 obj +<< /Nums [0 [ 15 0 R 18 0 R 20 0 R 23 0 R 27 0 R 30 0 R 32 0 R 35 0 R 39 0 R 42 0 R 44 0 R 47 0 R] +] >> +endobj +56 0 obj +<< /Limits [(ID.001) (ID.039)]/Names [(ID.001) 9 0 R (ID.002) 10 0 R (ID.003) 11 0 R (ID.004) 12 0 R (ID.005) 13 0 R (ID.006) 14 0 R (ID.007) 15 0 R (ID.008) 16 0 R (ID.009) 17 0 R (ID.010) 18 0 R (ID.011) 19 0 R (ID.012) 20 0 R (ID.013) 21 0 R (ID.014) 22 0 R (ID.015) 23 0 R (ID.016) 24 0 R (ID.017) 25 0 R (ID.018) 26 0 R (ID.019) 27 0 R (ID.020) 28 0 R (ID.021) 29 0 R (ID.022) 30 0 R (ID.023) 31 0 R (ID.024) 32 0 R (ID.025) 33 0 R (ID.026) 34 0 R (ID.027) 35 0 R (ID.028) 36 0 R (ID.029) 37 0 R (ID.030) 38 0 R (ID.031) 39 0 R (ID.032) 40 0 R (ID.033) 41 0 R (ID.034) 42 0 R (ID.035) 43 0 R (ID.036) 44 0 R (ID.037) 45 0 R (ID.038) 46 0 R (ID.039) 47 0 R ] >> +endobj +57 0 obj +<< /Kids [56 0 R] >> +endobj +7 0 obj +<< /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 <</O/Layout/TextAlign/Justify>> +/description <</O/List/ListNumbering/Description>> +/enumerate <</O/List/ListNumbering/Ordered>> +/itemize <</O/List/ListNumbering/Unordered>> >> +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) >> +endobj +10 0 obj +<< /Type /StructElem /S /Artifact /P 5 0 R /ID (ID.002) >> +endobj +11 0 obj +<< /Type /StructElem /S /Artifact /P 5 0 R /ID (ID.003) >> +endobj +12 0 obj +<< /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) >> +endobj +14 0 obj +<< /Type /StructElem /S /LI /P 13 0 R /K [15 0 R 16 0 R] /ID (ID.006) >> +endobj +15 0 obj +<< /Type /StructElem /S /Lbl /P 14 0 R /K <</Type /MCR /Pg 50 0 R /MCID 0>> /ID (ID.007) >> +endobj +16 0 obj +<< /Type /StructElem /S /LBody /P 14 0 R /K 17 0 R /ID (ID.008) >> +endobj +17 0 obj +<< /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 <</Type /MCR /Pg 50 0 R /MCID 1>> /C /justify /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) >> +endobj +20 0 obj +<< /Type /StructElem /S /Lbl /P 19 0 R /K <</Type /MCR /Pg 50 0 R /MCID 2>> /ID (ID.012) >> +endobj +21 0 obj +<< /Type /StructElem /S /LBody /P 19 0 R /K 22 0 R /ID (ID.013) >> +endobj +22 0 obj +<< /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 <</Type /MCR /Pg 50 0 R /MCID 3>> /C /justify /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) >> +endobj +26 0 obj +<< /Type /StructElem /S /LI /P 25 0 R /K [27 0 R 28 0 R] /ID (ID.018) >> +endobj +27 0 obj +<< /Type /StructElem /S /Lbl /P 26 0 R /K <</Type /MCR /Pg 50 0 R /MCID 4>> /ID (ID.019) >> +endobj +28 0 obj +<< /Type /StructElem /S /LBody /P 26 0 R /K 29 0 R /ID (ID.020) >> +endobj +29 0 obj +<< /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 <</Type /MCR /Pg 50 0 R /MCID 5>> /C /justify /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) >> +endobj +32 0 obj +<< /Type /StructElem /S /Lbl /P 31 0 R /K <</Type /MCR /Pg 50 0 R /MCID 6>> /ID (ID.024) >> +endobj +33 0 obj +<< /Type /StructElem /S /LBody /P 31 0 R /K 34 0 R /ID (ID.025) >> +endobj +34 0 obj +<< /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 <</Type /MCR /Pg 50 0 R /MCID 7>> /C /justify /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) >> +endobj +38 0 obj +<< /Type /StructElem /S /LI /P 37 0 R /K [39 0 R 40 0 R] /ID (ID.030) >> +endobj +39 0 obj +<< /Type /StructElem /S /Lbl /P 38 0 R /K <</Type /MCR /Pg 50 0 R /MCID 8>> /ID (ID.031) >> +endobj +40 0 obj +<< /Type /StructElem /S /LBody /P 38 0 R /K 41 0 R /ID (ID.032) >> +endobj +41 0 obj +<< /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 <</Type /MCR /Pg 50 0 R /MCID 9>> /C /justify /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) >> +endobj +44 0 obj +<< /Type /StructElem /S /Lbl /P 43 0 R /K <</Type /MCR /Pg 50 0 R /MCID 10>> /ID (ID.036) >> +endobj +45 0 obj +<< /Type /StructElem /S /LBody /P 43 0 R /K 46 0 R /ID (ID.037) >> +endobj +46 0 obj +<< /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 <</Type /MCR /Pg 50 0 R /MCID 11>> /C /justify /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 >> +endobj +59 0 obj +[ 28 [ 559 ] 43 [ 511 ] 47 [ 639 ] 70 [ 607 ] 75 [ 958 ] 81 [ 575 ] 96 [ 474 ] 98 [ 454 ] 105 [ 447 ] 109 [ 639 ] ] +endobj +61 0 obj +<< /Length 14 >> +stream + +endstream +endobj +62 0 obj +<< /Subtype /CIDFontType0C /Length 1669 >> +stream + +Ίμψχΐ\XGksoQΛ’χ¨χ&Ίϋ&χS\'Z((gΤέϋ¦ βuΧΈΔΤω
ΐχπΒχχχ`χψϋΊM²ψ +χ¬ΗΊ΅
+endstream +endobj +60 0 obj +<< /Type /FontDescriptor /FontName /GTUGMD+LMRoman10-Bold /Flags 4 /FontBBox [ -486 -295 1607 1133 ] /Ascent 1133 /CapHeight 686 /Descent -295 /ItalicAngle 0 /StemV 106 /XHeight 444 /FontFile3 62 0 R /CIDSet 61 0 R >> +endobj +63 0 obj +<< /Length 804 >> +stream +%!PS-Adobe-3.0 Resource-CMap +%%DocumentNeededResources: ProcSet (CIDInit) +%%IncludeResource: ProcSet (CIDInit) +%%BeginResource: CMap (TeX-GTUGMD-LMRoman10-Bold-0) +%%Title: (TeX-GTUGMD-LMRoman10-Bold-0 TeX GTUGMD-LMRoman10-Bold 0) +%%Version: 1.000 +%%EndComments +/CIDInit /ProcSet findresource begin +12 dict begin +begincmap +/CIDSystemInfo +<< /Registry (TeX) +/Ordering (GTUGMD-LMRoman10-Bold) +/Supplement 0 +>> def +/CMapName /TeX-Identity-GTUGMD-LMRoman10-Bold def +/CMapType 2 def +1 begincodespacerange +<0000> <FFFF> +endcodespacerange +0 beginbfrange +endbfrange +10 beginbfchar +<001C> <0061> +<002B> <0063> +<002F> <0064> +<0046> <006B> +<004B> <006D> +<0051> <006F> +<0060> <0072> +<0062> <0073> +<0069> <0074> +<006D> <0075> +endbfchar +endcmap +CMapName currentdict /CMap defineresource pop +end +end +%%EndResource +%%EOF + +endstream +endobj +53 0 obj +<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /GTUGMD+LMRoman10-Bold /DescendantFonts [ 64 0 R ] /ToUnicode 63 0 R >> +endobj +64 0 obj +<< /Type /Font /Subtype /CIDFontType0 /BaseFont /GTUGMD+LMRoman10-Bold /FontDescriptor 60 0 R /W 59 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >> +endobj +65 0 obj +[ 28 [ 500 ] 35 [ 556 ] 42 [ 722 444 ] 46 [ 764 556 ] 50 [ 444 ] 59 [ 500 ] 63 [ 556 ] 65 [ 361 278 ] 70 [ 528 ] 72 [ 278 ] 74 [ 917 833 ] 77 [ 556 ] 81 [ 500 500 681 556 ] 88 [ 278 ] 91 [ 528 ] 96 [ 392 556 394 ] 103 [ 333 722 389 ] 107 [ 500 ] 109 [ 556 ] 112 [ 528 ] 114 [ 722 ] 118 [ 528 ] 199 [ 778 ] 502 [ 278 ] ] +endobj +67 0 obj +<< /Length 63 >> +stream + +endstream +endobj +68 0 obj +<< /Subtype /CIDFontType0C /Length 4596 >> +stream + + +jΙΜ>
g
Υ0uχ¬ψ‘zͺχε»‘«ΨχcΠΤ€~ψwδΓrSQr
jΈχ\΅²g°²dY[9F\Imz₯§₯¬]¦Ό«ΌΔd2fXELm@irW_:μrΚΝΉ³ΊBc¦aΊ Θάϋ;Ύ,Ci^Zb½Β΅ήχ9ψΐ‘Θ΅χΖ‘χf΅υΝIήχήΊψχlχ)ξϋ=`\y{χΡϋ$lΡZόθ€―Ιt΅YΥχσνχ8fOn^lvejUf^g£°s} χbΓ²Β£Έ―qe£₯bRbωfuͺω-ͺΓςψp©ω-χ}~
ϋ# 9ϋNϋXχΎχΏχWΘχδ0ϋ&} χYA―fX½+ϋOϋ5ϋ3ϋ`ϋcχ6ϋ1χNχ7νχχψP€χ¬η°€ήχWηψ3χ
.nJfV3Άχ5χ7έ΅ΐΚgb
m~qw§₯©Ο?²>ϋ/ϋ +")ϋϋν(χΛΈ«€I@χyz²[m^u`^g₯±sq΄Δ΄°Η¨Έͺ ±¬Α΅|^ͺzyψP€χm χB‘§ήχΝψ3χ
$h1Yc©°tm»Ν―χ«‘ ξUμϋϋ/$ϋϋτ*χχΈχIχϋχ)ί€ςϋdψϋb’χRΕΈ’’χ’’χ3ΦΦΦψyψ(«dw_
baϋ¬aau.FF>_‘e€v~|yjhleͺwOzk`cCξTχχ +σΎΩ}ΎX§§VQNr`kvͺ«’o²΄θΠΠΨ°{°r’――z’ϋDϋ + +Π‘Θ€΄
+endstream +endobj +66 0 obj +<< /Type /FontDescriptor /FontName /QTFSEO+LMRoman10-Regular /Flags 4 /FontBBox [ -430 -290 1417 1127 ] /Ascent 1127 /CapHeight 683 /Descent -290 /ItalicAngle 0 /StemV 93 /XHeight 431 /FontFile3 68 0 R /CIDSet 67 0 R >> +endobj +69 0 obj +<< /Length 1169 >> +stream +%!PS-Adobe-3.0 Resource-CMap +%%DocumentNeededResources: ProcSet (CIDInit) +%%IncludeResource: ProcSet (CIDInit) +%%BeginResource: CMap (TeX-QTFSEO-LMRoman10-Regular-0) +%%Title: (TeX-QTFSEO-LMRoman10-Regular-0 TeX QTFSEO-LMRoman10-Regular 0) +%%Version: 1.000 +%%EndComments +/CIDInit /ProcSet findresource begin +12 dict begin +begincmap +/CIDSystemInfo +<< /Registry (TeX) +/Ordering (QTFSEO-LMRoman10-Regular) +/Supplement 0 +>> def +/CMapName /TeX-Identity-QTFSEO-LMRoman10-Regular def +/CMapType 2 def +1 begincodespacerange +<0000> <FFFF> +endcodespacerange +0 beginbfrange +endbfrange +35 beginbfchar +<001C> <0061> +<0023> <0062> +<002A> <0043> +<002B> <0063> +<002E> <0044> +<002F> <0064> +<0032> <0065> +<003B> <0067> +<003F> <0068> +<0041> <0049> +<0042> <0069> +<0046> <006B> +<0048> <006C> +<004A> <004D> +<004B> <006D> +<004D> <006E> +<0051> <006F> +<0052> <0031> +<0053> <0050> +<0054> <0070> +<0058> <002E> +<005B> <0071> +<0060> <0072> +<0061> <0053> +<0062> <0073> +<0067> <0020> +<0068> <0054> +<0069> <0074> +<006B> <0032> +<006D> <0075> +<0070> <0076> +<0072> <0077> +<0076> <0079> +<00C7> <2022> +<01F6> <2019> +endbfchar +endcmap +CMapName currentdict /CMap defineresource pop +end +end +%%EndResource +%%EOF + +endstream +endobj +52 0 obj +<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /QTFSEO+LMRoman10-Regular /DescendantFonts [ 70 0 R ] /ToUnicode 69 0 R >> +endobj +70 0 obj +<< /Type /Font /Subtype /CIDFontType0 /BaseFont /QTFSEO+LMRoman10-Regular /FontDescriptor 66 0 R /W 65 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >> +endobj +54 0 obj +<< /Type /Pages /Count 1 /Kids [ 50 0 R ] >> +endobj +71 0 obj +<< /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:20230804193224+02'00')/ModDate (D:20230804193224+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.17.0 (TeX Live 2023)) >> +endobj +xref +0 73 +0000000002 65535 f +0000013164 00000 n +0000000003 00000 f +0000000004 00000 f +0000000008 00000 f +0000018701 00000 n +0000013247 00000 n +0000014086 00000 n +0000000000 00000 f +0000014882 00000 n +0000014983 00000 n +0000015059 00000 n +0000015135 00000 n +0000015222 00000 n +0000015329 00000 n +0000015419 00000 n +0000015529 00000 n +0000015613 00000 n +0000015701 00000 n +0000015824 00000 n +0000015914 00000 n +0000016024 00000 n +0000016108 00000 n +0000016196 00000 n +0000016319 00000 n +0000016406 00000 n +0000016517 00000 n +0000016607 00000 n +0000016717 00000 n +0000016801 00000 n +0000016889 00000 n +0000017012 00000 n +0000017102 00000 n +0000017212 00000 n +0000017296 00000 n +0000017384 00000 n +0000017507 00000 n +0000017594 00000 n +0000017709 00000 n +0000017799 00000 n +0000017909 00000 n +0000017993 00000 n +0000018081 00000 n +0000018204 00000 n +0000018294 00000 n +0000018405 00000 n +0000018489 00000 n +0000018577 00000 n +0000000020 00000 n +0000013065 00000 n +0000012923 00000 n +0000011141 00000 n +0000028828 00000 n +0000021876 00000 n +0000029182 00000 n +0000013211 00000 n +0000013367 00000 n +0000014049 00000 n +0000014678 00000 n +0000018819 00000 n +0000020778 00000 n +0000018951 00000 n +0000019025 00000 n +0000021012 00000 n +0000022027 00000 n +0000022224 00000 n +0000027363 00000 n +0000022560 00000 n +0000022683 00000 n +0000027599 00000 n +0000028982 00000 n +0000029244 00000 n +0000029362 00000 n +trailer +<< /Size 73 /Root 71 0 R /Info 72 0 R /ID [ <A805B03F80D8DCD32E332F5BD885CFF4> <A805B03F80D8DCD32E332F5BD885CFF4> ] >> +startxref +29585 +%%EOF diff --git a/macros/latex/contrib/tagpdf/ex-list.tex b/macros/latex/contrib/tagpdf/ex-list.tex new file mode 100644 index 0000000000..aa046af9b6 --- /dev/null +++ b/macros/latex/contrib/tagpdf/ex-list.tex @@ -0,0 +1,57 @@ +% !Mode:: "TeX:DE:UTF-8:Main" + +% This example shows how one can patch lists command +% it is based on enumitem + +% Pay attention to casing. Li/LI, Lbody/Lbody are different. + +% It doesn't test nesting! + +% lists are now handled in phase-III, +% enumitem is currently incompatible! +\DocumentMetadata{pdfversion=1.7,uncompress,testphase=phase-III} + + +\documentclass{scrbook} +\usepackage[english]{babel} + +\usepackage{iftex} +\ifluatex + \usepackage{fontspec} + \usepackage{luacode} +\else + \usepackage[T1]{fontenc} +\fi + + + +\tagpdfsetup + { + tabsorder=structure, + } + +\usepackage{lipsum}%\textheight3cm + +\begin{document} +%I don't want to handle pagestyles, so set everything to empty: +\pagestyle{empty}\renewcommand\chapterpagestyle{empty} + + + +\begin{itemize} +\item Ducks say quack +\item Marmots say something Parmotlike +\end{itemize} + +\begin{enumerate} +\item The highest pass is the Col de l'Iseran. +\item The second highest pass is the Passo dello Stelvio. +\end{enumerate} + +\begin{description} +\item[ducks] yellow +\item[marmots] brown +\end{description} + + +\end{document}
\ No newline at end of file diff --git a/macros/latex/contrib/tagpdf/ex-mc-manual-para-split-obsolete.pdf b/macros/latex/contrib/tagpdf/ex-mc-manual-para-split-obsolete.pdf Binary files differindex 6fcda263ce..d837eb5607 100644 --- a/macros/latex/contrib/tagpdf/ex-mc-manual-para-split-obsolete.pdf +++ b/macros/latex/contrib/tagpdf/ex-mc-manual-para-split-obsolete.pdf diff --git a/macros/latex/contrib/tagpdf/ex-mc-manual-para-split-obsolete.tex b/macros/latex/contrib/tagpdf/ex-mc-manual-para-split-obsolete.tex index 92966275c5..5e3b7719d5 100644 --- a/macros/latex/contrib/tagpdf/ex-mc-manual-para-split-obsolete.tex +++ b/macros/latex/contrib/tagpdf/ex-mc-manual-para-split-obsolete.tex @@ -12,11 +12,10 @@ % page split automatically. To keep the example working this is disabled % below with \csname __tag_mc_disable_marks:\endcsname -\RequirePackage{pdfmanagement-testphase} -\DeclareDocumentMetadata{pdfversion=1.7,uncompress} +\DocumentMetadata{pdfversion=1.7,uncompress} \documentclass{book} \usepackage[english,ngerman]{babel} -\usepackage{tagpdf} +\usepackage[genericmode]{tagpdf} \usepackage{amsmath} \usepackage{graphicx} \usepackage{iftex} diff --git a/macros/latex/contrib/tagpdf/ex-patch-list-luatex.pdf b/macros/latex/contrib/tagpdf/ex-patch-list-luatex.pdf Binary files differdeleted file mode 100644 index d432342c1e..0000000000 --- a/macros/latex/contrib/tagpdf/ex-patch-list-luatex.pdf +++ /dev/null diff --git a/macros/latex/contrib/tagpdf/ex-patch-list-obsolete.tex b/macros/latex/contrib/tagpdf/ex-patch-list-obsolete.tex deleted file mode 100644 index 7245dd39b8..0000000000 --- a/macros/latex/contrib/tagpdf/ex-patch-list-obsolete.tex +++ /dev/null @@ -1,100 +0,0 @@ -% !Mode:: "TeX:DE:UTF-8:Main" - - -%!! Obsolete example as it uses manual tagging of paragraph. -% Check the newer version ex-patch-list for a simpler version! - -%This example shows how one can patch lists command -%it is based on enumitem - -%It uses a command to end \item (\meti). It is perhaps possible to hide this command -% inside \item/end{list}, but with nested list it is not so easy. - -% not really up-to-date, with paratagging one could simplify things. - -% Pay attention to casing. Li/LI, Lbody/Lbody are different. -%no page break involved. So the example works in lua and generic mode -\RequirePackage{pdfmanagement-testphase} -\DeclareDocumentMetadata{pdfversion=1.7,uncompress} - -\documentclass{scrbook} -\usepackage[english]{babel} -\usepackage{tagpdf} - -\usepackage{iftex} -\iftutex - \usepackage{fontspec} - \usepackage{luacode} -\else - \usepackage[T1]{fontenc} -\fi - - - -\tagpdfsetup{tabsorder=structure, - activate, - } - -\usepackage{lipsum}%\textheight3cm - -\usepackage{enumitem,xpatch} - -\makeatletter - -\newcommand\tag@enit@format@preset[1]{% - \tagstructbegin{tag=LI}% - \tagstructbegin{tag=Lbl}% - \tagmcbegin{tag=Lbl}% - #1% - \tagmcend - \tagstructend %end Lbl - \tagstructbegin{tag=LBody}} - -\newcommand\meti{% end of \item - \tagstructend %end of LBody - \tagstructend %end of LI -} - -\xpatchcmd\enit@preset{\@firstofone}{\tag@enit@format@preset}{}{\fail} - -\setlist{ - before*=\tagstructbegin{tag=L}, - after*={\tagstructend}} - -% keys that overwrite \enit@format must be patched, eg like the follow -% the font key should be patched in a similar way -\enitkv@key{enumitem}{format}{% - \def\enit@format{% - \tagstructbegin{tag=LI}% - \tagstructbegin{tag=Lbl}% - \tagmcbegin{tag=Lbl}% - #1\tagmcend}} -\makeatother -% marking of the text inside the list can not be handled automatically -- one doesn't know the type -% we use simple P here -\newcommand\TAGP{\tagstructbegin{tag=P}\tagmcbegin{tag=P}} -\newcommand\PGAT{\tagmcend\tagstructend} - -\begin{document} -%I don't want to handle pagestyles, so set everything to empty: -\pagestyle{empty}\renewcommand\chapterpagestyle{empty} - - - -\begin{itemize} -\item \TAGP Ducks say quack\PGAT\meti -\item \TAGP Marmots say something Parmotlike\PGAT\meti -\end{itemize} - -\begin{enumerate} -\item \TAGP The highest pass is the Col de l'Iseran.\PGAT\meti -\item \TAGP The second highest pass is the Passo dello Stelvio.\PGAT\meti -\end{enumerate} - -\begin{description} -\item[ducks] \TAGP yellow\PGAT\meti -\item[marmots] \TAGP brown\PGAT\meti -\end{description} - - -\end{document}
\ No newline at end of file diff --git a/macros/latex/contrib/tagpdf/ex-patch-list.tex b/macros/latex/contrib/tagpdf/ex-patch-list.tex deleted file mode 100644 index 30448c6a80..0000000000 --- a/macros/latex/contrib/tagpdf/ex-patch-list.tex +++ /dev/null @@ -1,101 +0,0 @@ -% !Mode:: "TeX:DE:UTF-8:Main" - -% This example shows how one can patch lists command -% it is based on enumitem - -% Pay attention to casing. Li/LI, Lbody/Lbody are different. - -% It doesn't test nesting! - -% We are using \DocumentMetadata -% This requires a new pdfmanagement and/or latex-dev! -% Older systems should use \DeclareDocumentMetadata -\IfFormatAtLeastTF{2022-06-01}{} - {\RequirePackage{pdfmanagement-testphase}} -\DocumentMetadata{pdfversion=1.7,uncompress,testphase=tagpdf} - - -\documentclass{scrbook} -\usepackage[english]{babel} - -\usepackage{iftex} -\ifluatex - \usepackage{fontspec} - \usepackage{luacode} -\else - \usepackage[T1]{fontenc} -\fi - - - -\tagpdfsetup - { - tabsorder=structure, - } - -\usepackage{lipsum}%\textheight3cm - -\usepackage{enumitem,xpatch} - -% At first we add to the begin/end hooks the structure commands. -% To avoid problems with nested paragraphs we force a new paragraph for now. -% Real code should avoid that! -\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}} -\AddToHook{env/enumerate/end}{\par\tagstructend\tagstructend\tagstructend}%LBody,LI,L -\AddToHook{env/description/begin}{\par\tagstructbegin{tag=L}} -\AddToHook{env/description/end}{\par\tagstructend\tagstructend\tagstructend}%LBody,LI,L - -\makeatletter -\ExplSyntaxOn -%We detect is this is the first or a follow up item where we have to end a structure first: -\newcommand\tag@enit@format@preset[1]{% - \str_if_eq:eeTF { \prop_item:cn { g__tag_struct_\g__tag_struct_stack_current_tl _prop }{S} }{/L} - { - %\typeout{BEGIN~OF~LIST} - } - {%\typeout{NEXT ITEM} - \tagstructend\tagstructend} % for the LBody/LI - \tagstructbegin{tag=LI} - \tagstructbegin{tag=Lbl} - \tagmcbegin{tag=Lbl} - #1 - \tagmcend - \tagstructend - \tagstructbegin{tag=LBody} - } - -\ExplSyntaxOff - -\xpatchcmd\enit@preset{\@firstofone}{\tag@enit@format@preset}{}{\fail} -%close mc from paratagging and reopen ... -\xpatchcmd\@item{\box\@labels}{\tagmcend \box\@labels \tagmcbegin{tag=P}}{}{\fail} - -\makeatother - - - -\begin{document} -%I don't want to handle pagestyles, so set everything to empty: -\pagestyle{empty}\renewcommand\chapterpagestyle{empty} - - - -\begin{itemize} -\item Ducks say quack -\item Marmots say something Parmotlike -\end{itemize} - -\begin{enumerate} -\item The highest pass is the Col de l'Iseran. -\item The second highest pass is the Passo dello Stelvio. -\end{enumerate} - -\begin{description} -\item[ducks] yellow -\item[marmots] brown -\end{description} - - -\end{document}
\ No newline at end of file diff --git a/macros/latex/contrib/tagpdf/ex-patch-sectioning-koma.tex b/macros/latex/contrib/tagpdf/ex-patch-sectioning-koma.tex deleted file mode 100644 index ab46a9ac97..0000000000 --- a/macros/latex/contrib/tagpdf/ex-patch-sectioning-koma.tex +++ /dev/null @@ -1,178 +0,0 @@ -% !Mode:: "TeX:DE:UTF-8:Main" - -%This example shows how one can patch sectioning command and toc entries -%to add tags. -%The patches are layout/option dependant -%With other document options (e.g. chapterprefix) or -%if the sectioning commands are redefined more/different patches are perhaps needed - -%no page break involved. So the example works in lua and generic mode - -% unclear if everything still works. They have been some changes in koma -% doesn't take paratagging into account. - - -\RequirePackage{pdfmanagement-testphase} -\DeclareDocumentMetadata{pdfversion=1.7,uncompress} - -\documentclass{scrbook} -\usepackage[english]{babel} - -\usepackage{tagpdf} - -\usepackage{iftex} -\iftutex - \usepackage{fontspec} - \usepackage{luacode} -\else - \usepackage[T1]{fontenc} -\fi - - - -\tagpdfsetup{tabsorder=structure, - activate, - } - - -%%%%%%%%%%%%%%% -%Marking the toc entries -%around the whole entry so only structure: -\newcommand\tagscrtocentry[1]{\tagstructbegin{tag=TOCI}#1\tagstructend} - -%leaf so structure and mc: -\newcommand\tagscrtocpagenumber[1]{% - \tagstructbegin{tag=Reference}% - \tagmcbegin{tag=Reference}% - #1% - \tagmcend - \tagstructend} - -\DeclareTOCStyleEntry[ - entryformat=\tagscrtocentry, - pagenumberformat=\tagscrtocpagenumber]{tocline}{chapter} -\DeclareTOCStyleEntry[ - entryformat=\tagscrtocentry, - pagenumberformat=\tagscrtocpagenumber]{tocline}{section} -\DeclareTOCStyleEntry[ - entryformat=\tagscrtocentry, - pagenumberformat=\tagscrtocpagenumber]{tocline}{subsection} -\DeclareTOCStyleEntry[ - entryformat=\tagscrtocentry, - pagenumberformat=\tagscrtocpagenumber]{tocline}{subsubsection} -\DeclareTOCStyleEntry[ - entryformat=\tagscrtocentry, - pagenumberformat=\tagscrtocpagenumber]{tocline}{paragraph} - - - -\renewcommand{\addtocentrydefault}[3]{% - \Ifstr{#3}{}{} - {%\ - \Ifstr{#2}{} - {% - \addcontentsline{toc}{#1} - {% - \protect\nonumberline - \tagstructbegin{tag=P}% - \tagmcbegin{tag=P}% - #3% - \tagmcend - \tagstructend - }% - }% - {% - \addcontentsline{toc}{#1}{% - \tagstructbegin{tag=Lbl}% - \tagmcbegin{tag=Lbl}% - \protect\numberline{#2}% - \tagmcend\tagstructend - \tagstructbegin{tag=P}% - \tagmcbegin{tag=P}% - #3% - \tagmcend - \tagstructend - }% - }% - }}% - -% the dots must be marked too -\makeatletter -\renewcommand*{\TOCLineLeaderFill}[1][.]{% - \leaders\hbox{$\m@th - \mkern \@dotsep mu\hbox{\tagmcbegin{artifact}#1\tagmcend}\mkern \@dotsep - mu$}\hfill -} - -%%%%%%%%% -% Sectioning commands -%%%%%%%% - -\ExplSyntaxOn -\prop_new:N \g_tag_section_level_prop -\prop_gput:Nnn \g_tag_section_level_prop {chapter}{H1} -\prop_gput:Nnn \g_tag_section_level_prop {section}{H2} -\prop_gput:Nnn \g_tag_section_level_prop {subsection}{H3} -\prop_gput:Nnn \g_tag_section_level_prop {subsubsection}{H4} -\prop_gput:Nnn \g_tag_section_level_prop {paragraph}{H5} - -%new 0.6, as attributes are local we have to put \tagmcbegin everywhere. -\renewcommand{\chapterlinesformat}[3] - { - \@hangfrom - { - \tagstructbegin{tag=\prop_item:Nn\g_tag_section_level_prop{chapter}} - \tl_if_empty:nF{#2} - { - \tagmcbegin {tag=\prop_item:Nn\g_tag_section_level_prop{chapter}} - #2 - \tagmcend - } - } - {\tagmcbegin {tag=\prop_item:Nn\g_tag_section_level_prop{chapter}} - #3\tagmcend\tagstructend}% - } - -%unnumbered sections level give an empty mc, need to think about it. -\renewcommand{\sectionlinesformat}[4] - { - \@hangfrom - {\hskip #2 - \tagstructbegin{tag=\prop_item:Nn\g_tag_section_level_prop{#1}} - \tl_if_empty:nF{#3} - { - \tagmcbegin {tag=\prop_item:Nn\g_tag_section_level_prop{#1}} - #3 - \tagmcend - } - } - {\tagmcbegin {tag=\prop_item:Nn\g_tag_section_level_prop{#1}} - #4 - \tagmcend\tagstructend}% - } - -\ExplSyntaxOff -\AfterTOCHead{\tagstructbegin{tag=TOC}} -\AfterStartingTOC{\tagstructend} %end TOC - - -\begin{document} -%I don't want to handle pagestyles, so set everything to empty: -\pagestyle{empty}\renewcommand\chapterpagestyle{empty} - - -\tableofcontents - -\chapter{chapter} -\addchap{chapter} -\section{section} -\subsection{subsection} -\subsubsection{subsubsection} - - \tagstructbegin{tag=P,actualtext=abc!} - \tagmcbegin{tag=P} - a paragraph\par x - \tagmcend - \tagstructend - -\end{document}
\ No newline at end of file diff --git a/macros/latex/contrib/tagpdf/ex-patch-sectioning-memoir.pdf b/macros/latex/contrib/tagpdf/ex-patch-sectioning-memoir.pdf Binary files differdeleted file mode 100644 index ee9b314f4f..0000000000 --- a/macros/latex/contrib/tagpdf/ex-patch-sectioning-memoir.pdf +++ /dev/null diff --git a/macros/latex/contrib/tagpdf/ex-patch-sectioning-memoir.tex b/macros/latex/contrib/tagpdf/ex-patch-sectioning-memoir.tex deleted file mode 100644 index 1177fd2dc4..0000000000 --- a/macros/latex/contrib/tagpdf/ex-patch-sectioning-memoir.tex +++ /dev/null @@ -1,246 +0,0 @@ -% !Mode:: "TeX:DE:UTF-8:Main" -%chapter not correct!! -% 13.07.2021 doesn't use paratagging! -\RequirePackage{pdfmanagement-testphase} -\DeclareDocumentMetadata{pdfversion=1.7,uncompress} - -\documentclass[a4paper,oneside]{memoir} -\settocdepth{subsubsection} -\setsecnumdepth{subsubsection} - -\usepackage[english]{babel} - - -\usepackage{tagpdf} - -\usepackage{iftex} -\iftutex - \usepackage{fontspec} - \usepackage{luacode} -\else - \usepackage[T1]{fontenc} -\fi - - -\tagpdfsetup{tabsorder=structure, - activate,interwordspace - } - -\usepackage{lipsum}%\textheight3cm - -\usepackage{etoolbox} - -\ifdef\cfttocbeforelisthook{ - \appto\cfttocbeforelisthook{\tagstructbegin{tag=TOC}}%\noindent TOC\par} -}{ - \csdef\cfttocbeforelisthook{\tagstructbegin{tag=TOC}}%\noindent TOC\par} -} -\ifdef\cfttocafterlisthook{ - \appto\cfttocafterlisthook{\tagstructend}%\noindent /TOC\par} -}{ - \csdef\cfttocafterlisthook{\tagstructend}%\noindent /TOC\par} -} - -\def\M{{\fontsize{3pt}{3pt}\sffamily\selectfont NN}} - -%what about unnumbered entries in the toc?????? -\appto\cftchapterpresnum{% - \tagstructbegin{tag=TOCI}% is there a better place? what about unnumbered entries? - \tagstructbegin{tag=Lbl}% - \tagmcbegin{tag=Lbl}% -} -\appto\cftchapteraftersnum{% - \tagmcend - \tagstructend} - -\appto\cftsectionpresnum{% - \tagstructbegin{tag=TOCI}% is there a better place? what about unnumbered entries? - \tagstructbegin{tag=Lbl}% - \tagmcbegin{tag=Lbl}% -} -\appto\cftsectionaftersnum{% - \tagmcend - \tagstructend} - -\appto\cftsubsectionpresnum{% - \tagstructbegin{tag=TOCI}% is there a better place? what about unnumbered entries? - \tagstructbegin{tag=Lbl}% - \tagmcbegin{tag=Lbl}% - } -\appto\cftsubsectionaftersnum{% - \tagmcend - \tagstructend} -\appto\cftsubsubsectionpresnum{% - \tagstructbegin{tag=TOCI}% is there a better place? what about unnumbered entries? - \tagstructbegin{tag=Lbl}% - \tagmcbegin{tag=Lbl}% -} -\appto\cftsubsubsectionaftersnum{% - \tagmcend - \tagstructend} - -%begin of entry -\appto\cftchapteraftersnumb{% - \tagstructbegin{tag=P}% - \tagmcbegin{tag=P}} -\appto\cftsectionaftersnumb{% - \tagstructbegin{tag=P}% - \tagmcbegin{tag=P}} -\appto\cftsubsectionaftersnumb{% - \tagstructbegin{tag=P}% - \tagmcbegin{tag=P}} -\appto\cftsubsubsectionaftersnumb{% - \tagstructbegin{tag=P}% - \tagmcbegin{tag=P}} - -%end of entry -\pretocmd\cftchapterfillnum{% - \tagmcend - \tagstructend -}{}{} -\pretocmd\cftsectionfillnum{ - \tagmcend - \tagstructend}{}{} -\pretocmd\cftsubsectionfillnum{ - \tagmcend - \tagstructend}{}{} -\pretocmd\cftsubsubsectionfillnum{% - \tagmcend - \tagstructend}{}{} - - -\makeatletter -\patchcmd\cftchapterformatpnum{\cftchapterpagefont #1}{% - %\llap{\M pnum}% - \tagstructbegin{tag=Reference}% - \tagmcbegin{tag=Reference} - \cftchapterpagefont #1% - %\rlap{\M pnum}% - \tagmcend - \tagstructend - \tagstructend %for /TOCI. is there a better place? -}{}{} -\patchcmd\cftsectionformatpnum{\@nameuse{cftsectionpagefont}#1}{% - %\llap{\M pnum}% - \tagstructbegin{tag=Reference}% - \tagmcbegin{tag=Reference} - \@nameuse{cftsectionpagefont}#1% - %\rlap{\M pnum}% - \tagmcend - \tagstructend - \tagstructend %for /TOCI. is there a better place? -}{}{\typeout{patch failed}} -\patchcmd\cftsubsectionformatpnum{\@nameuse{cftsubsectionpagefont}#1}{% - %\llap{\M}% - \tagstructbegin{tag=Reference}% - \tagmcbegin{tag=Reference} - \@nameuse{cftsubsectionpagefont}#1% - %\rlap{\M}% - \tagmcend - \tagstructend - \tagstructend %for /TOCI. is there a better place? -}{}{\typeout{patch failed}} - -\patchcmd\cftsubsubsectionformatpnum{\@nameuse{cftsubsubsectionpagefont}#1}{% - %\llap{\M}% - \tagstructbegin{tag=Reference}% - \tagmcbegin{tag=Reference} - \@nameuse{cftsubsubsectionpagefont}#1% - %\rlap{\M}% - \tagmcend - \tagstructend - \tagstructend %for /TOCI. is there a better place? -}{}{\typeout{patch failed}} - - -% section is typeset using \M@sect -\ExplSyntaxOn -\prop_new:N \g_tag_section_level_prop -\prop_put:Nnn \g_tag_section_level_prop {chapter}{H1} -\prop_put:Nnn \g_tag_section_level_prop {section}{H2} -\prop_put:Nnn \g_tag_section_level_prop {Starredsection}{H2} -\prop_put:Nnn \g_tag_section_level_prop {subsection}{H3} -\prop_put:Nnn \g_tag_section_level_prop {subsubsection}{H4} -\prop_put:Nnn \g_tag_section_level_prop {paragraph}{H5} -\ExplSyntaxOff -\patchcmd\M@sect{#9\@@par}{% - %this place could be used for something between number and text - #9% - \tagmcend - \tagstructend - \@@par% -}{}{} - -% section* use \@ssect, but memoir redefines it a little before -% calling the kernel version - -\ExplSyntaxOn -\patchcmd\@ssect{\@mem@old@ssect{#1}{#2}{#3}{#4}{#5}}{% - \@mem@old@ssect{#1}{#2}{#3}{#4}{% - \tagstructbegin{tag=H2}% how to get level??? - \tagmcbegin {tag=H2}% how to get level??? - #5 - \tagmcend - \tagstructend}% -}{}{} - -% section numbers are typeset using \@seccntformat - - -\pretocmd\@seccntformat{% - \tagstructbegin{tag=\prop_item:Nn\g_tag_section_level_prop{#1}}% - \tagmcbegin {tag=\prop_item:Nn\g_tag_section_level_prop{#1}} -}{}{} -\ExplSyntaxOff -% could be used to insert something after the number ... -%\patchcmd\@seccntformat{\endcsname}{% -% \endcsname\rlap{\M}% -%}{}{} - -\renewcommand{\cftdot}{\tagmcbegin{artifact}.\tagmcend} - -\makeatother - % I don't want to handle header/footer now -\pagestyle{empty} -\makeevenfoot{plain}{}{}{} -\makeoddfoot{plain}{}{}{} - - -%% missing yet: chapter titles -\begin{document} - - -\tableofcontents* - -\chapter{Test chapter} - -\section{Test section} - - \tagstructbegin{tag=P} - \tagmcbegin{tag=P} -test - \tagmcend - \tagstructend - - -\subsection{Test subsection} - - \tagstructbegin{tag=P} - \tagmcbegin{tag=P} -test - \tagmcend - \tagstructend - -\subsubsection{Test subsubsection} - - \tagstructbegin{tag=P} - \tagmcbegin{tag=P} -test - \tagmcend - \tagstructend - -\section*{Starred section} - -\end{document} - - diff --git a/macros/latex/contrib/tagpdf/ex-softhyphen.pdf b/macros/latex/contrib/tagpdf/ex-softhyphen.pdf Binary files differindex d5dea39b12..d155a50958 100644 --- a/macros/latex/contrib/tagpdf/ex-softhyphen.pdf +++ b/macros/latex/contrib/tagpdf/ex-softhyphen.pdf diff --git a/macros/latex/contrib/tagpdf/ex-softhyphen.tex b/macros/latex/contrib/tagpdf/ex-softhyphen.tex index e5b14e13c4..a4454b2d26 100644 --- a/macros/latex/contrib/tagpdf/ex-softhyphen.tex +++ b/macros/latex/contrib/tagpdf/ex-softhyphen.tex @@ -8,22 +8,13 @@ % when copied from adobe % sumatra doesn't understand this and copies MiΒnisterprΓ€Βsident - - -\RequirePackage{pdfmanagement-testphase} -\DeclareDocumentMetadata{pdfversion=1.7,uncompress} +\DocumentMetadata{testphase=phase-II,pdfversion=1.7,uncompress} \documentclass{book} \usepackage[ngerman]{babel} %to get some hyphenation -\usepackage{tagpdf} -\tagpdfsetup{tabsorder=structure, - activate, %deactivate to see the difference - interwordspace, - paratagging - } \usepackage{fontspec} -% we must remove the invisible feature +%with older luaotfload we must remove the invisible feature! \setmainfont{TeX Gyre Pagella}[RawFeature={-invisible}] \prehyphenchar"AD @@ -38,17 +29,9 @@ MinisterprΓ€sident \end{document} -aaaaaaa- -aaaaaa -aaaaaaa- -aaaaaa -MiΒ -nisterprÀ -sident - aaaaaaa-aaaaaa aaaaaaa-aaaaaa MinisterprΓ€sident aaaaaaa-aaaaaa aaaaaaa-aaaaaa -MinisterprΓ€sident
\ No newline at end of file +MinisterprΓ€sident
\ No newline at end of file diff --git a/macros/latex/contrib/tagpdf/ex-spaceglyph-listings.pdf b/macros/latex/contrib/tagpdf/ex-spaceglyph-listings.pdf Binary files differindex a045fae9fa..992a190e2c 100644 --- a/macros/latex/contrib/tagpdf/ex-spaceglyph-listings.pdf +++ b/macros/latex/contrib/tagpdf/ex-spaceglyph-listings.pdf diff --git a/macros/latex/contrib/tagpdf/ex-spaceglyph-listings.tex b/macros/latex/contrib/tagpdf/ex-spaceglyph-listings.tex index affcdff51d..3d4f97f6ec 100644 --- a/macros/latex/contrib/tagpdf/ex-spaceglyph-listings.tex +++ b/macros/latex/contrib/tagpdf/ex-spaceglyph-listings.tex @@ -1,7 +1,5 @@ % !Mode:: "TeX:DE:UTF-8:Main" -\IfFormatAtLeastTF{2022-06-01}{} - {\RequirePackage{pdfmanagement-testphase}} -\DocumentMetadata{uncompress,testphase=tagpdf} +\DocumentMetadata{uncompress,testphase=phase-I} \documentclass{article} \usepackage{amsmath} \usepackage[ngerman]{babel} diff --git a/macros/latex/contrib/tagpdf/ex-structure-obsolete.pdf b/macros/latex/contrib/tagpdf/ex-structure-obsolete.pdf new file mode 100644 index 0000000000..39bba38435 --- /dev/null +++ b/macros/latex/contrib/tagpdf/ex-structure-obsolete.pdf @@ -0,0 +1,575 @@ +%PDF-1.7 +%ΜΥΑΤΕΨΠΔΖ +20 0 obj +<< /Type /Metadata /Subtype /XML /Length 11045 >> +stream + +<?xpacket begin="ο»Ώ" id="W5M0MpCehiHzreSzNTczkc9d"?> +<x:xmpmeta xmlns:x="adobe:ns:meta/"> + <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> + <rdf:Description rdf:about="" + xmlns:pdf="http://ns.adobe.com/pdf/1.3/" + xmlns:xmpRights="http://ns.adobe.com/xap/1.0/rights/" + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:photoshop="http://ns.adobe.com/photoshop/1.0/" + xmlns:xmp="http://ns.adobe.com/xap/1.0/" + xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" + xmlns:stEvt="http://ns.adobe.com/xap/1.0/sType/ResourceEvent#" + xmlns:pdfaid="http://www.aiim.org/pdfa/ns/id/" + xmlns:pdfuaid="http://www.aiim.org/pdfua/ns/id/" + xmlns:pdfx="http://ns.adobe.com/pdfx/1.3/" + xmlns:pdfxid="http://www.npes.org/pdfx/ns/id/" + xmlns:prism="http://prismstandard.org/namespaces/basic/3.0/" + xmlns:stFnt="http://ns.adobe.com/xap/1.0/sType/Font#" + xmlns:Iptc4xmpCore="http://iptc.org/std/Iptc4xmpCore/1.0/xmlns/" + xmlns:pdfaExtension="http://www.aiim.org/pdfa/ns/extension/" + xmlns:pdfaSchema="http://www.aiim.org/pdfa/ns/schema#" + xmlns:pdfaProperty="http://www.aiim.org/pdfa/ns/property#" + xmlns:pdfaType="http://www.aiim.org/pdfa/ns/type#" + xmlns:pdfaField="http://www.aiim.org/pdfa/ns/field#"> + <pdfaExtension:schemas> + <rdf:Bag> + <rdf:li rdf:parseType="Resource"> + <pdfaSchema:schema>XMP Media Management Schema</pdfaSchema:schema> + <pdfaSchema:prefix>xmpMM</pdfaSchema:prefix> + <pdfaSchema:namespaceURI>http://ns.adobe.com/xap/1.0/mm/</pdfaSchema:namespaceURI> + <pdfaSchema:property> + <rdf:Seq> + <rdf:li rdf:parseType="Resource"> + <pdfaProperty:name>OriginalDocumentID</pdfaProperty:name> + <pdfaProperty:valueType>URI</pdfaProperty:valueType> + <pdfaProperty:category>internal</pdfaProperty:category> + <pdfaProperty:description>The common identifier for all versions and renditions of a document.</pdfaProperty:description> + </rdf:li> + </rdf:Seq> + </pdfaSchema:property> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <pdfaSchema:schema>PDF/A Identification Schema</pdfaSchema:schema> + <pdfaSchema:prefix>pdfaid</pdfaSchema:prefix> + <pdfaSchema:namespaceURI>http://www.aiim.org/pdfa/ns/id/</pdfaSchema:namespaceURI> + <pdfaSchema:property> + <rdf:Seq> + <rdf:li rdf:parseType="Resource"> + <pdfaProperty:name>year</pdfaProperty:name> + <pdfaProperty:valueType>Integer</pdfaProperty:valueType> + <pdfaProperty:category>internal</pdfaProperty:category> + <pdfaProperty:description>Year of standard</pdfaProperty:description> + </rdf:li> + </rdf:Seq> + </pdfaSchema:property> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <pdfaSchema:schema>PDF/UA Universal Accessibility Schema</pdfaSchema:schema> + <pdfaSchema:prefix>pdfuaid</pdfaSchema:prefix> + <pdfaSchema:namespaceURI>http://www.aiim.org/pdfua/ns/id/</pdfaSchema:namespaceURI> + <pdfaSchema:property> + <rdf:Seq> + <rdf:li rdf:parseType="Resource"> + <pdfaProperty:name>part</pdfaProperty:name> + <pdfaProperty:valueType>Integer</pdfaProperty:valueType> + <pdfaProperty:category>internal</pdfaProperty:category> + <pdfaProperty:description>Part of ISO 14289 standard</pdfaProperty:description> + </rdf:li> + </rdf:Seq> + </pdfaSchema:property> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <pdfaSchema:schema>PDF/X ID Schema</pdfaSchema:schema> + <pdfaSchema:prefix>pdfxid</pdfaSchema:prefix> + <pdfaSchema:namespaceURI>http://www.npes.org/pdfx/ns/id/</pdfaSchema:namespaceURI> + <pdfaSchema:property> + <rdf:Seq> + <rdf:li rdf:parseType="Resource"> + <pdfaProperty:name>GTS_PDFXVersion</pdfaProperty:name> + <pdfaProperty:valueType>Text</pdfaProperty:valueType> + <pdfaProperty:category>internal</pdfaProperty:category> + <pdfaProperty:description>ID of PDF/X standard</pdfaProperty:description> + </rdf:li> + </rdf:Seq> + </pdfaSchema:property> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <pdfaSchema:schema>PRISM Basic Metadata</pdfaSchema:schema> + <pdfaSchema:prefix>prism</pdfaSchema:prefix> + <pdfaSchema:namespaceURI>http://prismstandard.org/namespaces/basic/3.0/</pdfaSchema:namespaceURI> + <pdfaSchema:property> + <rdf:Seq> + <rdf:li rdf:parseType="Resource"> + <pdfaProperty:name>complianceProfile</pdfaProperty:name> + <pdfaProperty:valueType>Text</pdfaProperty:valueType> + <pdfaProperty:category>internal</pdfaProperty:category> + <pdfaProperty:description>PRISM specification compliance profile to which this document adheres</pdfaProperty:description> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <pdfaProperty:name>publicationName</pdfaProperty:name> + <pdfaProperty:valueType>Text</pdfaProperty:valueType> + <pdfaProperty:category>external</pdfaProperty:category> + <pdfaProperty:description>Publicationname</pdfaProperty:description> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <pdfaProperty:name>aggregationType</pdfaProperty:name> + <pdfaProperty:valueType>Text</pdfaProperty:valueType> + <pdfaProperty:category>external</pdfaProperty:category> + <pdfaProperty:description>Publicationtype</pdfaProperty:description> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <pdfaProperty:name>bookEdition</pdfaProperty:name> + <pdfaProperty:valueType>Text</pdfaProperty:valueType> + <pdfaProperty:category>external</pdfaProperty:category> + <pdfaProperty:description>Edition of the book in which the document was published</pdfaProperty:description> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <pdfaProperty:name>volume</pdfaProperty:name> + <pdfaProperty:valueType>Text</pdfaProperty:valueType> + <pdfaProperty:category>external</pdfaProperty:category> + <pdfaProperty:description>Publication volume number</pdfaProperty:description> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <pdfaProperty:name>number</pdfaProperty:name> + <pdfaProperty:valueType>Text</pdfaProperty:valueType> + <pdfaProperty:category>external</pdfaProperty:category> + <pdfaProperty:description>Publication issue number within a volume</pdfaProperty:description> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <pdfaProperty:name>pageRange</pdfaProperty:name> + <pdfaProperty:valueType>Text</pdfaProperty:valueType> + <pdfaProperty:category>external</pdfaProperty:category> + <pdfaProperty:description>Page range for the document within the print version of its publication</pdfaProperty:description> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <pdfaProperty:name>issn</pdfaProperty:name> + <pdfaProperty:valueType>Text</pdfaProperty:valueType> + <pdfaProperty:category>external</pdfaProperty:category> + <pdfaProperty:description>ISSN for the printed publication in which the document was published</pdfaProperty:description> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <pdfaProperty:name>eIssn</pdfaProperty:name> + <pdfaProperty:valueType>Text</pdfaProperty:valueType> + <pdfaProperty:category>external</pdfaProperty:category> + <pdfaProperty:description>ISSN for the electronic publication in which the document was published</pdfaProperty:description> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <pdfaProperty:name>isbn</pdfaProperty:name> + <pdfaProperty:valueType>Text</pdfaProperty:valueType> + <pdfaProperty:category>external</pdfaProperty:category> + <pdfaProperty:description>ISBNforthepublicationinwhichthedocumentwaspublished</pdfaProperty:description> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <pdfaProperty:name>doi</pdfaProperty:name> + <pdfaProperty:valueType>Text</pdfaProperty:valueType> + <pdfaProperty:category>external</pdfaProperty:category> + <pdfaProperty:description>Digital Object Identifier for the document</pdfaProperty:description> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <pdfaProperty:name>url</pdfaProperty:name> + <pdfaProperty:valueType>URL</pdfaProperty:valueType> + <pdfaProperty:category>external</pdfaProperty:category> + <pdfaProperty:description>URL at which the document can be found</pdfaProperty:description> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <pdfaProperty:name>byteCount</pdfaProperty:name> + <pdfaProperty:valueType>Integer</pdfaProperty:valueType> + <pdfaProperty:category>internal</pdfaProperty:category> + <pdfaProperty:description>Approximate file size in octets</pdfaProperty:description> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <pdfaProperty:name>pageCount</pdfaProperty:name> + <pdfaProperty:valueType>Integer</pdfaProperty:valueType> + <pdfaProperty:category>internal</pdfaProperty:category> + <pdfaProperty:description>Number of pages in the print version of the document</pdfaProperty:description> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <pdfaProperty:name>subtitle</pdfaProperty:name> + <pdfaProperty:valueType>Text</pdfaProperty:valueType> + <pdfaProperty:category>external</pdfaProperty:category> + <pdfaProperty:description>Document'ssubtitle</pdfaProperty:description> + </rdf:li> + </rdf:Seq> + </pdfaSchema:property> + </rdf:li> + </rdf:Bag> + </pdfaExtension:schemas> + <pdf:Producer>luahbtex-1.17.0</pdf:Producer> + <pdf:PDFVersion>1.7</pdf:PDFVersion> + <dc:type> + <rdf:Bag> + <rdf:li>Text</rdf:li> + </rdf:Bag> + </dc:type> + <dc:language> + <rdf:Bag> + <rdf:li>en-US</rdf:li> + </rdf:Bag> + </dc:language> + <dc:date> + <rdf:Seq> + <rdf:li>2023-08-04T19:34:12+02:00</rdf:li> + </rdf:Seq> + </dc:date> + <dc:format>application/pdf</dc:format> + <dc:source>ex-structure-obsolete.tex</dc:source> + <xmp:CreatorTool>LaTeX</xmp:CreatorTool> + <xmp:CreateDate>2023-08-04T19:34:12+02:00</xmp:CreateDate> + <xmp:ModifyDate>2023-08-04T19:34:12+02:00</xmp:ModifyDate> + <xmp:MetadataDate>2023-08-04T19:34:12+02:00</xmp:MetadataDate> + <xmpMM:DocumentID>uuid:bf5e4a2b-cfa9-4fc5-878c-8f9d2ee95445</xmpMM:DocumentID> + <xmpMM:InstanceID>uuid:e330f38b-78ef-4952-8a63-59379e0045b5</xmpMM:InstanceID> + <prism:complianceProfile>three</prism:complianceProfile> + <prism:pageCount>1</prism:pageCount> + </rdf:Description> + </rdf:RDF> +</x:xmpmeta> + + + + + + + + + + +<?xpacket end="w"?> +endstream +endobj +23 0 obj +<< /Length 1000 >> +stream +/opacity1 gs +/Artifact BMC +EMC +/Artifact BMC +q +1 0 0 1 106.869 685.928 cm +[] 0 d 0 J 0.398 w 0 0 m 343.711 0 l S +Q +EMC +/Artifact BMC +EMC +/H<</MCID 0>> BDC +BT +/F18 14.3462 Tf +1 0 0 1 106.869 658.113 Tm [<0079005800520067>-625<00610032002B006900420051004D>]TJ +ET +EMC +/P<</MCID 1 /Alt (x)>> BDC +BT +/F15 9.96264 Tf +1 0 0 1 106.869 636.282 Tm [<001C00670054001C0060001C003B0060001C0054003F>]TJ +1 0 0 1 121.813 624.327 Tm [<0074>]TJ +ET +EMC +/Lbl<</MCID 2>> BDC +BT +/F15 9.96264 Tf +1 0 0 1 121.813 612.372 Tm [<005200580067>]TJ +ET +EMC +/P<</MCID 3>> BDC +BT +/F15 9.96264 Tf +1 0 0 1 136.199 612.372 Tm [<006700470042006200690067004200690032004B00670023>-28<0051>-28<002F0076>]TJ +ET +EMC +/Lbl<</MCID 4>> BDC +BT +/F15 9.96264 Tf +1 0 0 1 121.813 600.417 Tm [<006B00580067>]TJ +ET +EMC +/P<</MCID 5>> BDC +BT +/F15 9.96264 Tf +1 0 0 1 136.199 600.417 Tm [<0067001C004D00510069003F00320060006700470042006200690067004200690032004B00670023>-28<0051>-28<002F0076>]TJ +ET +EMC +/Artifact BMC +EMC +/Artifact BMC +EMC +/Artifact BMC +EMC + +endstream +endobj +22 0 obj +<< /Type /Page /Contents 23 0 R /Resources 21 0 R /MediaBox [ 0 0 612 792 ] /StructParents 0/Tabs /S /Parent 26 0 R >> +endobj +21 0 obj +<< /ExtGState 1 0 R /Font << /F18 24 0 R /F15 25 0 R >> /ProcSet [ /PDF /Text ] >> +endobj +1 0 obj +<< /opacity1 <</ca 1/CA 1>> >> +endobj +27 0 obj +<< /Marked true >> +endobj +6 0 obj +<< /Nums [0 [ 11 0 R 12 0 R 15 0 R 16 0 R 18 0 R 19 0 R] +] >> +endobj +28 0 obj +<< /Limits [(ID.001) (ID.011)]/Names [(ID.001) 9 0 R (ID.002) 10 0 R (ID.003) 11 0 R (ID.004) 12 0 R (ID.005) 13 0 R (ID.006) 14 0 R (ID.007) 15 0 R (ID.008) 16 0 R (ID.009) 17 0 R (ID.010) 18 0 R (ID.011) 19 0 R ] >> +endobj +29 0 obj +<< /Kids [28 0 R] >> +endobj +7 0 obj +<< /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 /Div /item /LI /itemlabel /Lbl /itembody /LBody /footnote /Note /footnotemark /Lbl /footnotelabel /Lbl /text-unit /Part /text /P /chapter /H1 >> +endobj +9 0 obj +<< /Type /StructElem /S /Document /P 5 0 R /K 10 0 R /ID (ID.001) >> +endobj +10 0 obj +<< /Type /StructElem /S /Sect /P 9 0 R /K [11 0 R 12 0 R 13 0 R] /ID (ID.002) >> +endobj +11 0 obj +<< /Type /StructElem /S /H /P 10 0 R /K <</Type /MCR /Pg 22 0 R /MCID 0>> /ID (ID.003) >> +endobj +12 0 obj +<< /Type /StructElem /S /P /P 10 0 R /K <</Type /MCR /Pg 22 0 R /MCID 1>> /ID (ID.004) >> +endobj +13 0 obj +<< /Type /StructElem /S /L /P 10 0 R /K [14 0 R 17 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) >> +endobj +15 0 obj +<< /Type /StructElem /S /Lbl /P 14 0 R /K <</Type /MCR /Pg 22 0 R /MCID 2>> /ID (ID.007) >> +endobj +16 0 obj +<< /Type /StructElem /S /LBody /P 14 0 R /K <</Type /MCR /Pg 22 0 R /MCID 3>> /ID (ID.008) >> +endobj +17 0 obj +<< /Type /StructElem /S /LI /P 13 0 R /K [18 0 R 19 0 R] /ID (ID.009) >> +endobj +18 0 obj +<< /Type /StructElem /S /Lbl /P 17 0 R /K <</Type /MCR /Pg 22 0 R /MCID 4>> /ID (ID.010) >> +endobj +19 0 obj +<< /Type /StructElem /S /LBody /P 17 0 R /K <</Type /MCR /Pg 22 0 R /MCID 5>> /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 >> +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 ] ] +endobj +32 0 obj +<< /Length 15 >> +stream + + +endstream +endobj +33 0 obj +<< /Subtype /CIDFontType0C /Length 3071 >> +stream + +")ϋϋν(χΛΈ«€I@χyz²[m^u`^g₯±sq΄Δ΄°Η¨Έͺ ±¬Α΅|^ͺzyψP€χm χB‘§ήχΝψ3χ
$h1Yc©°tm»Ν―χ«‘ ξUμϋϋ/$ϋϋτ*χχΈχIχϋχ)ί€ςϋdψϋb’χRΕΈ’’χ’’χ3ΦΦΦψyψ(«dw_
baϋ¬aau.FF>_‘e€v~|yjhleͺwOzk`cCξTχχ +σΎΩ}ΎX§§VQNr`kvͺ«’o²΄θΠΠΨ°{°r’――z’ϋDϋ +Π‘Θ€΄
+endstream +endobj +31 0 obj +<< /Type /FontDescriptor /FontName /RKSNJA+LMRoman10-Regular /Flags 4 /FontBBox [ -430 -290 1417 1127 ] /Ascent 1127 /CapHeight 683 /Descent -290 /ItalicAngle 0 /StemV 93 /XHeight 431 /FontFile3 33 0 R /CIDSet 32 0 R >> +endobj +34 0 obj +<< /Length 973 >> +stream +%!PS-Adobe-3.0 Resource-CMap +%%DocumentNeededResources: ProcSet (CIDInit) +%%IncludeResource: ProcSet (CIDInit) +%%BeginResource: CMap (TeX-RKSNJA-LMRoman10-Regular-0) +%%Title: (TeX-RKSNJA-LMRoman10-Regular-0 TeX RKSNJA-LMRoman10-Regular 0) +%%Version: 1.000 +%%EndComments +/CIDInit /ProcSet findresource begin +12 dict begin +begincmap +/CIDSystemInfo +<< /Registry (TeX) +/Ordering (RKSNJA-LMRoman10-Regular) +/Supplement 0 +>> def +/CMapName /TeX-Identity-RKSNJA-LMRoman10-Regular def +/CMapType 2 def +1 begincodespacerange +<0000> <FFFF> +endcodespacerange +0 beginbfrange +endbfrange +21 beginbfchar +<001C> <0061> +<0023> <0062> +<002F> <0064> +<0032> <0065> +<003B> <0067> +<003F> <0068> +<0042> <0069> +<0047> <004C> +<004B> <006D> +<004D> <006E> +<0051> <006F> +<0052> <0031> +<0054> <0070> +<0058> <002E> +<0060> <0072> +<0062> <0073> +<0067> <0020> +<0069> <0074> +<006B> <0032> +<0074> <0078> +<0076> <0079> +endbfchar +endcmap +CMapName currentdict /CMap defineresource pop +end +end +%%EndResource +%%EOF + +endstream +endobj +25 0 obj +<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /RKSNJA+LMRoman10-Regular /DescendantFonts [ 35 0 R ] /ToUnicode 34 0 R >> +endobj +35 0 obj +<< /Type /Font /Subtype /CIDFontType0 /BaseFont /RKSNJA+LMRoman10-Regular /FontDescriptor 31 0 R /W 30 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >> +endobj +36 0 obj +[ 43 [ 500 ] 50 [ 513 ] 66 [ 313 ] 77 [ 625 ] 81 [ 563 563 ] 88 [ 313 ] 97 [ 625 ] 103 [ 375 ] 105 [ 438 ] 121 [ 563 ] ] +endobj +38 0 obj +<< /Length 16 >> +stream + +endstream +endobj +39 0 obj +<< /Subtype /CIDFontType0C /Length 1471 >> +stream + +ψhχ {xpH/ϋ!χ,ΈΖχχΖ~|raz€ ±ΊέϋUϋFEϋϋϋκ/χ'χ1ͺχϋ’
―χS¨χ>¬ͺχχ&ηηΨψuχ |
{~
JqIv[ϋ%χΓχΑτ’€©Φ]Ί΅aSQϋ06%ϋϋ ς0χ+χ+Έυ/χϋ΄² ―«‘ΆφϋYόjΆχψΆ`Ύαχ$ίχ%ϋσ€χ«ΆMψ+Δϋ>`ΖdϋΡF`’Π¦§Λ£Yψτ΄iͺebkjdbl±΄«¬²ϋ2Άχ¦Ά²Άr¬χχχ^χψμΆFχκbΌϋCMh@iχθϋ=`ΙdϋΡF`’Σ§§Τ’ΆFχiΤχ +χΐaWImnlOΞ’χχ$Άϋ$χSa([((jΤάϋͺ!έtΣΥ·ΓΥ¬ψξ¬·χχ}χψχΣλχ
ϋϋϋ*+ϋχχχ|ξϋϋ|}mmwwpsks wr€{χΡΛΏξΣ‘«Ι|7X:N +χ¨Φ΅Ή
ψΗω£ +endstream +endobj +37 0 obj +<< /Type /FontDescriptor /FontName /ZMQELF+LMRoman12-Bold /Flags 4 /FontBBox [ -476 -289 1577 1137 ] /Ascent 1137 /CapHeight 686 /Descent -289 /ItalicAngle 0 /StemV 104 /XHeight 444 /FontFile3 39 0 R /CIDSet 38 0 R >> +endobj +40 0 obj +<< /Length 818 >> +stream +%!PS-Adobe-3.0 Resource-CMap +%%DocumentNeededResources: ProcSet (CIDInit) +%%IncludeResource: ProcSet (CIDInit) +%%BeginResource: CMap (TeX-ZMQELF-LMRoman12-Bold-0) +%%Title: (TeX-ZMQELF-LMRoman12-Bold-0 TeX ZMQELF-LMRoman12-Bold 0) +%%Version: 1.000 +%%EndComments +/CIDInit /ProcSet findresource begin +12 dict begin +begincmap +/CIDSystemInfo +<< /Registry (TeX) +/Ordering (ZMQELF-LMRoman12-Bold) +/Supplement 0 +>> def +/CMapName /TeX-Identity-ZMQELF-LMRoman12-Bold def +/CMapType 2 def +1 begincodespacerange +<0000> <FFFF> +endcodespacerange +0 beginbfrange +endbfrange +11 beginbfchar +<002B> <0063> +<0032> <0065> +<0042> <0069> +<004D> <006E> +<0051> <006F> +<0052> <0031> +<0058> <002E> +<0061> <0053> +<0067> <0020> +<0069> <0074> +<0079> <0030> +endbfchar +endcmap +CMapName currentdict /CMap defineresource pop +end +end +%%EndResource +%%EOF + +endstream +endobj +24 0 obj +<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /ZMQELF+LMRoman12-Bold /DescendantFonts [ 41 0 R ] /ToUnicode 40 0 R >> +endobj +41 0 obj +<< /Type /Font /Subtype /CIDFontType0 /BaseFont /ZMQELF+LMRoman12-Bold /FontDescriptor 37 0 R /W 36 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >> +endobj +26 0 obj +<< /Type /Pages /Count 1 /Kids [ 22 0 R ] >> +endobj +42 0 obj +<< /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:20230804193412+02'00')/ModDate (D:20230804193412+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.17.0 (TeX Live 2023)) >> +endobj +xref +0 44 +0000000002 65535 f +0000012449 00000 n +0000000003 00000 f +0000000004 00000 f +0000000008 00000 f +0000014509 00000 n +0000012532 00000 n +0000012881 00000 n +0000000000 00000 f +0000013397 00000 n +0000013482 00000 n +0000013580 00000 n +0000013688 00000 n +0000013796 00000 n +0000013885 00000 n +0000013975 00000 n +0000014085 00000 n +0000014197 00000 n +0000014287 00000 n +0000014397 00000 n +0000000020 00000 n +0000012350 00000 n +0000012215 00000 n +0000011155 00000 n +0000022592 00000 n +0000019358 00000 n +0000022940 00000 n +0000012496 00000 n +0000012610 00000 n +0000012844 00000 n +0000014610 00000 n +0000018089 00000 n +0000014859 00000 n +0000014934 00000 n +0000018325 00000 n +0000019512 00000 n +0000019712 00000 n +0000021480 00000 n +0000019849 00000 n +0000019925 00000 n +0000021714 00000 n +0000022743 00000 n +0000023002 00000 n +0000023120 00000 n +trailer +<< /Size 44 /Root 42 0 R /Info 43 0 R /ID [ <FBC6F25645660BE150AC7E0A877D1A3C> <FBC6F25645660BE150AC7E0A877D1A3C> ] >> +startxref +23343 +%%EOF diff --git a/macros/latex/contrib/tagpdf/ex-structure-obsolete.tex b/macros/latex/contrib/tagpdf/ex-structure-obsolete.tex index 1070b7c46d..07a5960cb5 100644 --- a/macros/latex/contrib/tagpdf/ex-structure-obsolete.tex +++ b/macros/latex/contrib/tagpdf/ex-structure-obsolete.tex @@ -1,15 +1,12 @@ % !Mode:: "TeX:DE:UTF-8:Main" %!!!!!!! -% obsolete in part (paratagging will interfere) -% don't expect a correct output! +% manual tagging without paratagging. Won't work correctly in later phases. % -\RequirePackage{pdfmanagement-testphase} -\DeclareDocumentMetadata{pdfversion=1.7,uncompress} +\DocumentMetadata{testphase=phase-I,pdfversion=1.7,uncompress} \documentclass{book} \usepackage[english,ngerman]{babel} -\usepackage{tagpdf} \usepackage{amsmath} \usepackage{graphicx} @@ -22,9 +19,7 @@ \fi -\tagpdfsetup{tabsorder=structure, - activate - } +\tagpdfsetup{tabsorder=structure} \newsavebox\mybox % this works only as we have only one page. Footer/header must be handle in the output routine. diff --git a/macros/latex/contrib/tagpdf/ex-tagpdf-template.pdf b/macros/latex/contrib/tagpdf/ex-tagpdf-template.pdf Binary files differindex 337c049d53..74d6ce2375 100644 --- a/macros/latex/contrib/tagpdf/ex-tagpdf-template.pdf +++ b/macros/latex/contrib/tagpdf/ex-tagpdf-template.pdf diff --git a/macros/latex/contrib/tagpdf/ex-tagpdf-template.tex b/macros/latex/contrib/tagpdf/ex-tagpdf-template.tex index c59ff33da3..7bafcb6aa9 100644 --- a/macros/latex/contrib/tagpdf/ex-tagpdf-template.tex +++ b/macros/latex/contrib/tagpdf/ex-tagpdf-template.tex @@ -5,17 +5,13 @@ % \DocumentMetadata requires a new pdfmanagement-testphase version! Older versions % should use \DeclareDocumentMetadata - -% with a new LaTeX it will not longer be needed to load pdfmanagment-testphase! -\IfFormatAtLeastTF{2022-06-01}{} - {\RequirePackage{pdfmanagement-testphase}} \DocumentMetadata - {uncompress, + {uncompress, %only for debugging!! pdfversion=2.0, - testphase=tagpdf %load and activate tagpdf + testphase=phase-III %load and activate tagpdf and uses all the phase-III code } -\documentclass{scrartcl} +\documentclass{article} \usepackage[english]{babel} \usepackage{iftex} diff --git a/macros/latex/contrib/tagpdf/tagpdf-backend.dtx b/macros/latex/contrib/tagpdf/tagpdf-backend.dtx index 66a6e7ff7c..761fb21a8b 100644 --- a/macros/latex/contrib/tagpdf/tagpdf-backend.dtx +++ b/macros/latex/contrib/tagpdf/tagpdf-backend.dtx @@ -47,13 +47,13 @@ % }^^A % } % -% \date{Version 0.98j, released 2023-07-08} +% \date{Version 0.98k, released 2023-08-04} % \maketitle % \begin{implementation} % \begin{macrocode} %<@@=tag> %<*luatex> -\ProvidesExplFile {tagpdf-luatex.def} {2023-07-08} {0.98j} +\ProvidesExplFile {tagpdf-luatex.def} {2023-08-04} {0.98k} {tagpdf~driver~for~luatex} % \end{macrocode} % \section{Loading the lua} @@ -158,8 +158,8 @@ local ProvidesLuaModule = { name = "tagpdf", - version = "0.98j", --TAGVERSION - date = "2023-07-08", --TAGDATE + version = "0.98k", --TAGVERSION + date = "2023-08-04", --TAGDATE description = "tagpdf lua code", license = "The LATEX Project Public License 1.3c" } @@ -263,6 +263,10 @@ local nodeinsertafter = node.insert_after local nodeinsertbefore = node.insert_before local pdfpageref = pdf.pageref +local fonthashes = fonts.hashes +local identifiers = fonthashes.identifiers +local fontid = font.id + local HLIST = node.id("hlist") local VLIST = node.id("vlist") local RULE = node.id("rule") @@ -584,39 +588,106 @@ end % \end{macrocode} % \end{macro} % \subsection{Functions to insert the pdf literals} -% \begin{macro}{@@_insert_emc_node} -% This insert the emc node. +% \begin{macro}{@@_backend_create_emc_node,@@_insert_emc_node} +% This insert the emc node. We support also dvips and dvipdfmx backend % \begin{macrocode} +local @@_backend_create_emc_node +if tex.outputmode == 0 then + if token.get_macro("c_sys_backend_str") == "dvipdfmx" then + function @@_backend_create_emc_node () + local emcnode = nodenew("whatsit","special") + emcnode.data = "pdf:code EMC" + return emcnode + end + else -- assume a dvips variant + function @@_backend_create_emc_node () + local emcnode = nodenew("whatsit","special") + emcnode.data = "ps:SDict begin mark /EMC pdfmark end" + return emcnode + end + end +else -- pdf mode + function @@_backend_create_emc_node () + local emcnode = nodenew("whatsit","pdf_literal") + emcnode.data = "EMC" + emcnode.mode=1 + return emcnode + end +end + local function @@_insert_emc_node (head,current) - local emcnode = nodenew("whatsit","pdf_literal") - emcnode.data = "EMC" - emcnode.mode=1 - head = node.insert_before(head,current,emcnode) - return head + local emcnode= @@_backend_create_emc_node() + head = node.insert_before(head,current,emcnode) + return head end % \end{macrocode} % \end{macro} -% \begin{macro}{@@_insert_bmc_node} +% \begin{macro}{@@_backend_create_bmc_node,@@_insert_bmc_node} % This inserts a simple bmc node % \begin{macrocode} +local @@_backend_create_bmc_node +if tex.outputmode == 0 then + if token.get_macro("c_sys_backend_str") == "dvipdfmx" then + function @@_backend_create_bmc_node (tag) + local bmcnode = nodenew("whatsit","special") + bmcnode.data = "pdf:code /"..tag.." BMC" + return bmcnode + end + else -- assume a dvips variant + function @@_backend_create_bmc_node (tag) + local bmcnode = nodenew("whatsit","special") + bmcnode.data = "ps:SDict begin mark/"..tag.." BMC pdfmark end" + return bmcnode + end + end +else -- pdf mode + function @@_backend_create_bmc_node (tag) + local bmcnode = nodenew("whatsit","pdf_literal") + bmcnode.data = "/"..tag.." BMC" + bmcnode.mode=1 + return bmcnode + end +end + local function @@_insert_bmc_node (head,current,tag) - local bmcnode = nodenew("whatsit","pdf_literal") - bmcnode.data = "/"..tag.." BMC" - bmcnode.mode=1 - head = node.insert_before(head,current,bmcnode) + local bmcnode = @@_backend_create_bmc_node (tag) + head = node.insert_before(head,current,bmcnode) return head end % \end{macrocode} % \end{macro} -% \begin{macro}{@@_insert_bdc_node} +% \begin{macro}{@@_backend_create_bdc_node,@@_insert_bdc_node} % This inserts a bcd node with a fix dict. % TODO: check if this is still used, now that we create properties. % \begin{macrocode} +local @@_backend_create_bdc_node + +if tex.outputmode == 0 then + if token.get_macro("c_sys_backend_str") == "dvipdfmx" then + function @@_backend_create_bdc_node (tag,dict) + local bdcnode = nodenew("whatsit","special") + bdcnode.data = "pdf:code /"..tag.."<<"..dict..">> BDC" + return bdcnode + end + else -- assume a dvips variant + function @@_backend_create_bdc_node (tag,dict) + local bdcnode = nodenew("whatsit","special") + bdcnode.data = "ps:SDict begin mark/"..tag.."<<"..dict..">> BDC pdfmark end" + return bdcnode + end + end +else -- pdf mode + function @@_backend_create_bdc_node (tag,dict) + local bdcnode = nodenew("whatsit","pdf_literal") + bdcnode.data = "/"..tag.."<<"..dict..">> BDC" + bdcnode.mode=1 + return bdcnode + end +end + local function @@_insert_bdc_node (head,current,tag,dict) - local bdcnode = nodenew("whatsit","pdf_literal") - bdcnode.data = "/"..tag.."<<"..dict..">> BDC" - bdcnode.mode=1 - head = node.insert_before(head,current,bdcnode) + bdcnode= @@_backend_create_bdc_node (tag,dict) + head = node.insert_before(head,current,bdcnode) return head end % \end{macrocode} @@ -644,11 +715,16 @@ ltx.@@.func.pdf_object_ref=@@_pdf_object_ref local function @@_show_spacemark (head,current,color,height) local markcolor = color or "1 0 0" local markheight = height or 10 - local pdfstring = node.new("whatsit","pdf_literal") + local pdfstring + if tex.outputmode == 0 then + -- ignore dvi mode for now + else + pdfstring = node.new("whatsit","pdf_literal") pdfstring.data = string.format("q "..markcolor.." RG "..markcolor.." rg 0.4 w 0 %g m 0 %g l S Q",-3,markheight) head = node.insert_after(head,current,pdfstring) - return head + return head + end end % \end{macrocode} % \end{macro} @@ -760,11 +836,24 @@ ltx.@@.func.markspaceoff=@@_deactivate_mark_space % \end{macro} % We need two local variable to setup a default space char. % \begin{macrocode} -local default_space_char = node.new(GLYPH) -local default_fontid = font.id("TU/lmr/m/n/10") +local default_space_char = nodenew(GLYPH) +local default_fontid = fontid("TU/lmr/m/n/10") default_space_char.char = 32 default_space_char.font = default_fontid % \end{macrocode} +% And a function to check as best as possible if a font has a space: +% \begin{macrocode} +local function @@_font_has_space (fontid) + t= fonts.hashes.identifiers[fontid] + if luaotfload.aux.slot_of_name(fontid,"space") + or t.characters and t.characters[32] and t.characters[32]["unicode"]==32 + then + return true + else + return false + end +end +% \end{macrocode} % \begin{macro} % { % @@_space_chars_shipout, @@ -793,7 +882,10 @@ local function @@_space_chars_shipout (box) local space_char = node.copy(default_space_char) local curfont = nodegetattribute(n,iwfontattributeid) ltx.@@.trace.log ("INFO SPACE-FUNCTION-FONT: ".. tostring(curfont),3) - if curfont and luaotfload.aux.slot_of_name(curfont,"space") then + if curfont and + -- luaotfload.aux.slot_of_name(curfont,"space") + @@_font_has_space (curfont) + then space_char.font=curfont end head, space = node.insert_before(head, n, space_char) -- @@ -1074,10 +1166,8 @@ end function ltx.@@.func.mark_shipout (box) mcopen = ltx.@@.func.mark_page_elements (box,-1,-100,0,"Shipout",-1) if mcopen~=0 then -- there is a chunk open, close it (hope there is only one ... - local emcnode = nodenew("whatsit","pdf_literal") + local emcnode = @@_backend_create_emc_node () local list = box.list - emcnode.data = "EMC" - emcnode.mode=1 if list then list = node.insert_after (list,node.tail(list),emcnode) mcopen = mcopen - 1 diff --git a/macros/latex/contrib/tagpdf/tagpdf-checks.dtx b/macros/latex/contrib/tagpdf/tagpdf-checks.dtx index eddfe3eca3..5bb332ee86 100644 --- a/macros/latex/contrib/tagpdf/tagpdf-checks.dtx +++ b/macros/latex/contrib/tagpdf/tagpdf-checks.dtx @@ -48,7 +48,7 @@ % }^^A % } % -% \date{Version 0.98j, released 2023-07-08} +% \date{Version 0.98k, released 2023-08-04} % \maketitle % \begin{documentation} % \section{Commands} @@ -312,7 +312,7 @@ % \begin{macrocode} %<@@=tag> %<*header> -\ProvidesExplPackage {tagpdf-checks-code} {2023-07-08} {0.98j} +\ProvidesExplPackage {tagpdf-checks-code} {2023-08-04} {0.98k} {part of tagpdf - code related to checks, conditionals, debugging and messages} %</header> % \end{macrocode} diff --git a/macros/latex/contrib/tagpdf/tagpdf-code.pdf b/macros/latex/contrib/tagpdf/tagpdf-code.pdf Binary files differindex cb4f7968bb..89fc6df804 100644 --- a/macros/latex/contrib/tagpdf/tagpdf-code.pdf +++ b/macros/latex/contrib/tagpdf/tagpdf-code.pdf diff --git a/macros/latex/contrib/tagpdf/tagpdf-data.dtx b/macros/latex/contrib/tagpdf/tagpdf-data.dtx index 164fb7d728..77da019ba5 100644 --- a/macros/latex/contrib/tagpdf/tagpdf-data.dtx +++ b/macros/latex/contrib/tagpdf/tagpdf-data.dtx @@ -2,7 +2,7 @@ % %% File: tagpdf-data.dtx % -% Copyright (C) 2022 Ulrike Fischer +% Copyright (C) 2022-2023 Ulrike Fischer % % It may be distributed and/or modified under the conditions of the % LaTeX Project Public License (LPPL), either version 1.3c of this @@ -47,7 +47,7 @@ % }^^A % } % -% \date{Version 0.98j, released 2023-07-08} +% \date{Version 0.98k, released 2023-08-04} % \maketitle % \begin{documentation} % This files contains a various data files which are read in @@ -60,7 +60,7 @@ % It lists the new tag, the rolemap and the namespace of the rolemap. % \begin{macrocode} %<*ns-latex> -%% \ProvidesExplFile {tagpdf-ns-latex.def} {2023-07-08} {0.98j} +%% \ProvidesExplFile {tagpdf-ns-latex.def} {2023-08-04} {0.98k} %% {latex} {https://www.latex-project.org/ns/dflt/2022}{} title, Title, pdf2, part, Title, pdf2, @@ -92,7 +92,7 @@ text, P, pdf2, % It is bound to change % \begin{macrocode} %<*ns-latex-book> -%% \ProvidesExplFile {tagpdf-ns-latex-book.def} {2023-07-08} {0.98j} +%% \ProvidesExplFile {tagpdf-ns-latex-book.def} {2023-08-04} {0.98k} %% {latex-book} {https://www.latex-project.org/ns/book/2022}{} chapter, H1,pdf2, section, H2,pdf2, @@ -104,11 +104,11 @@ subparagraph, H6,pdf2, % \end{macrocode} % \section{The LaTeX-inline namespace} % This degrades the rolemapping of some tags. It is an experimental name space. -% It can disappear again if it doesn't look usefull. -% It is bound to change a lot! +% It can disappear again if it doesn't look useful. It is currently no longer +% loaded. % \begin{macrocode} %<*ns-latex-inline> -%% \ProvidesExplFile {tagpdf-ns-latex-inline.def} {2023-07-08} {0.98j} +%% \ProvidesExplFile {tagpdf-ns-latex-inline.def} {2023-08-04} {0.98k} %% {latex-inline} {https://www.latex-project.org/ns/inline/2022}{} chapter, Span, pdf2, section, Span, pdf2, @@ -122,7 +122,7 @@ P, Span, pdf2, % \section{The pdf namespace data} % \begin{macrocode} %<*ns-pdf> -%% \ProvidesExplFile {tagpdf-ns-pdf.def} {2023-07-08} {0.98j} +%% \ProvidesExplFile {tagpdf-ns-pdf.def} {2023-08-04} {0.98k} %% {pdf} {http://iso.org/pdf/ssn}{} StructTreeRoot,StructTreeRoot,pdf,D, Document,Document,pdf,D, @@ -190,7 +190,7 @@ Strong,Span,pdf,I, % \section{The pdf 2.0 namespace data} % \begin{macrocode} %<*ns-pdf2> -%% \ProvidesExplFile {tagpdf-ns-pdf2.def} {2023-07-08} {0.98j} +%% \ProvidesExplFile {tagpdf-ns-pdf2.def} {2023-08-04} {0.98k} %% {pdf2} {http://iso.org/pdf2/ssn}{} Document,Document,pdf2,D, Part,Part,pdf2,G, @@ -246,7 +246,7 @@ Strong,Strong,pdf2,I, % \section{The mathml namespace data} % \begin{macrocode} %<*ns-mathml> -%% \ProvidesExplFile {tagpdf-ns-mathml.def} {2023-07-08} {0.98j} +%% \ProvidesExplFile {tagpdf-ns-mathml.def} {2023-08-04} {0.98k} % {mathml}{http://www.w3.org/1998/Math/MathML}{} abs,abs,mathml, and,and,mathml, @@ -481,12 +481,12 @@ xor,xor,mathml, % This will perhaps change in future. % \begin{macrocode} %<*parent-child> -%% \ProvidesExplFile {tagpdf-parent-child.csv} {2023-07-08} {0.98j} +%% \ProvidesExplFile {tagpdf-parent-child.csv} {2023-08-04} {0.98k} ,,,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,β
,β
-Part,both,grouping,β
,0..n,0..n,β‘,β‘,0..n,0..n,β‘,β
,β
,0..n,0..n,β
,0..n,β
,0..n,β
,β
,β
,β
,0..n,β
,β
*,β
*,β
*,β
,β
,β
,β
,β
,β
,β
,β
,β
,0..n,β
,β
,β
,β
,β
,β
,β
,0..n,0..n,0..n,β
-Div,both,grouping,β
,0..n,0..n,β‘,β‘,0..n,0..n,β‘,0..n,0..n,0..n,0..n,β
,0..n,β
,0..n,β
,β
,β
,β
,0..n,β
,0..n,0..n,0..n,β
,β
,β
,β
,β
,β
,β
,β
,0..n,0..n,β
,β
,0..n,0..n,β
,β
,β
,0..n,0..n,0..n,β
+Part,both,grouping,β
,0..n,0..n,β‘,β‘,0..n,0..n,β‘,0..n,β
,0..n,0..n,β
,0..n,β
,0..n,β
,β
,β
,β
,0..n,β
,β
*,β
*,β
*,β
,β
,β
,β
,β
,β
,β
,β
,β
,0..n,β
,β
,β
,β
,β
,β
,β
,0..n,0..n,0..n,β
+Div,both,grouping,β
,0..n,0..n,β‘,β‘,0..n,0..n,β‘,β
,0..n,0..n,0..n,β
,0..n,β
,0..n,β
,β
,β
,β
,0..n,β
,0..n,0..n,0..n,β
,β
,β
,β
,β
,β
,β
,β
,0..n,0..n,β
,β
,0..n,0..n,β
,β
,β
,0..n,0..n,0..n,β
Sect,both,grouping,β
,0..n,0..n,β‘,β‘,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,β
,β
BlockQuote,1.7,grouping?,β
,0..n,0..n,β‘,β‘,0..n,0..n,β‘,β
,β
,β
,0..n,β
,0..n,β
,β
,β
,β
,β
,β
,β
,β
,β
*,β
*,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,0..n,β
,β
,β
,β
,β
,β
,β
,0..n,0..n,0..n,β
NonStruct,both,grouping,β
,0..n,0..n,β‘,β‘,0..n,0..n,β‘,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,β
@@ -517,32 +517,32 @@ WP,both,inline,β
,β
,β
,β
,β‘,β
,β
,β‘,β
,β
,β
,0..n,β
,β
,β
,β
, L,both,block!inline,β
,0..n,0..n,β‘,β‘,0..n,0..n,β‘,β
,β
,0..n,0..n,β
,0..n,β
,β
,0..n,β
,β
,β
,β
,β
,β
*,β
*,β
*,β
,β
,β
,β
,β
,β
,β
,0..n,β
,0..n,β
,β
,0..n,0..n,β
,β
,β
,0..n,0..n,0..n,β
LI,both,in L,β
,β
,β
,β
,β‘,β
,β
,β‘,β
,β
,β
,0..n,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,0..n,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
LBody,both,in LI,β
,β
,β
,β
,β‘,β
,β
,β‘,β
,β
,β
,0..n,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,0..n,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
-Table,both,block,β
,0..n,0..n,β‘,β‘,0..n,0..n,β‘,β
,β
,0..n,0..n,β
,0..n,β
,β
,β
,β
,β
,β
,β
,β
,β
*,β
*,β
*,β
,β
,β
,β
,β
,β
,β
,β
,β
,0..n,β
,β
,0..n,0..n,β
,β
,β
,0..n,0..n,0..n,β
+Table,both,block,β
,0..n,0..n,β‘,β‘,0..n,0..n,β‘,β
,β
,0..n,0..n,β
,0..n,β
,β
,0..n,β
,β
,β
,β
,β
,β
*,β
*,β
*,β
,β
,β
,β
,β
,β
,β
,β
,β
,0..n,β
,β
,0..n,0..n,β
,β
,β
,0..n,0..n,0..n,β
TR,both,Table,β
,β
,β
,β
,β‘,β
,β
,β‘,β
,β
,β
,0..n,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,0..n,β
,β
,β
,0..n,0..n,0..n,β
,β
,β
,β
TH,both,Table,β
,β
,β
,β
,β‘,β
,β
,β‘,β
,β
,β
,0..n,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,0..n,β
,β
,β
,β
,β
,β
,β
,β
,β
TD,both,Table,β
,β
,β
,β
,β‘,β
,β
,β‘,β
,β
,β
,0..n,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,0..n,β
,β
,β
,β
,β
,β
,β
,β
,β
THead,both,Table,β
,β
,β
,β
,β‘,β
,β
,β‘,β
,β
,β
,0..n,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,0..1,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
TBody,both,Table,β
,β
,β
,β
,β‘,β
,β
,β‘,β
,β
,β
,0..n,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,0..n,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
TFoot,both,Table,β
,β
,β
,β
,β‘,β
,β
,β‘,β
,β
,β
,0..n,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,0..1,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
-Caption,both,grouping!block,β
,β
,0..n,β‘,β‘,0..n,0..1,β‘,0..1,0..1,0..n,0..n,β
,β
*,β
,β
,β
,β
,β
,β
,β
,β
,β
*,β
*,0..1,β
,β
,β
,β
,β
,β
,β
,0..1,β
,0..1,0..1,β
,β
,β
,β
,β
,β
,β
,0..1,0..1,β
+Caption,both,grouping!block,β
,β
,0..n,β‘,β‘,0..n,0..1,β‘,0..1,β
,0..n,0..n,β
,β
*,β
,β
,β
,β
,β
,β
,β
,β
,β
*,β
*,0..1,β
,β
,β
,β
,β
,β
,β
,0..1,β
,0..1,0..1,β
,β
,β
,β
,β
,β
,β
,0..1,0..1,β
Figure,both,grouping!block!inline,β
,0..n,0..n,β‘,β‘,0..n,0..n,β‘,β
,β
,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,β
,0..n,0..n,0..n,β
*,β
,β
,β
,β
,β
,β
,c,β
,β
,0..n,β
,β
,0..n,0..n,β
,β
,β
,0..n,0..n,0..n,β
Formula,both,grouping!block!inline,β
,0..n,0..n,β‘,β‘,0..n,0..n,β‘,β
,β
,0..n,0..n,0..n,0..n,β
,β
,0..n,0..n,0..n,0..n,β
,0..n,0..n,0..n,β
*,β
,β
,β
,β
,β
,β
,β
,β
,β
,0..n,β
,β
,0..n,0..n,β
,β
,β
,0..n,0..n,0..n,β
MC,both,---,β
,β
,β
,β
,β
,β
,0..n,β‘,β
,β
,β
,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,β‘,β‘,β‘,0..n,β‘,β‘,β
,0..n,0..n,β
,β
,0..n,0..n,β
,β
,β
,0..n,0..n,0..n,β
%</parent-child> % \end{macrocode} -% \section{The parent-child rules for pdf <2.0} -% This csv contains the parent-child matrix for pdf <2.0. +% \section{The parent-child rules for pdf =2.0} +% This csv contains the parent-child matrix for pdf = 2.0. % The values are currently the strings used in the PDF reference. % This will perhaps change in future. % \begin{macrocode} %<*parent-child-2> -%% \ProvidesExplFile {tagpdf-parent-child-2.csv} {2023-07-08} {0.98j} +%% \ProvidesExplFile {tagpdf-parent-child-2.csv} {2023-08-04} {0.98k} ,,,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,β
Art,1.7,grouping,β
,0..n,0..n,β
,β‘,β‘,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,0..n,β
,β
,β
,0..n,β
-Part,both,grouping,β
,0..n,0..n,0..n,β‘,β‘,0..n,0..n,0..n,β‘,β
,β
,0..n,0..n,0..n,β
,β
,0..n,β
,0..n,β
,β
,β
,β
,0..n,β
,β
,β
,β
*,β
*,β
*,β
,β
,β
,β
,β
,β
,β
,0..n,β
,β
,0..n,β
,β
,β
,β
,β
,β
,β
,0..n,0..n,0..n,β
,β
,0..n,β
-Div,both,grouping,β
,0..n,0..n,0..n,β‘,β‘,0..n,0..n,0..n,β‘,0..n,0..n,0..n,0..n,0..n,β
,β
,0..n,β
,0..n,β
,β
,β
,β
,0..n,β
,β
,β
,0..n,0..n,0..n,β
,β
,β
,β
,β
,β
,β
,0..n,β
,0..n,0..n,β
,β
,0..n,0..n,β
,β
,β
,0..n,0..n,0..n,β
,β
,0..n,β
+Part,both,grouping,β
,0..n,0..n,0..n,β‘,β‘,0..n,0..n,0..n,β‘,0..n,β
,0..n,0..n,0..n,β
,β
,0..n,β
,0..n,β
,β
,β
,β
,0..n,β
,β
,β
,β
*,β
*,β
*,β
,β
,β
,β
,β
,β
,β
,0..n,β
,β
,0..n,β
,β
,β
,β
,β
,β
,β
,0..n,0..n,0..n,β
,β
,0..n,β
+Div,both,grouping,β
,0..n,0..n,0..n,β‘,β‘,0..n,0..n,0..n,β‘,β
,0..n,0..n,0..n,0..n,β
,β
,0..n,β
,0..n,β
,β
,β
,β
,0..n,β
,β
,β
,0..n,0..n,0..n,β
,β
,β
,β
,β
,β
,β
,0..n,β
,0..n,0..n,β
,β
,0..n,0..n,β
,β
,β
,0..n,0..n,0..n,β
,β
,0..n,β
Sect,both,grouping,β
,0..n,0..n,0..n,β‘,β‘,0..n,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,0..n,β
,β
,β
,0..n,β
Aside,2.0,grouping,β
,0..n,0..n,0..n,β‘,β‘,0..n,β
,β
,β‘,β
,β
,β
,0..n,0..n,β
,β
,0..n,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
*,β
*,β
,β
,β
,β
,β
,β
,β
,β
,0..n,β
,β
,0..n,β
,β
,β
,β
,β
,β
,β
,0..n,0..n,0..n,β
,β
,0..n,β
BlockQuote,1.7,grouping?,β
,0..n,0..n,0..n,β‘,β‘,0..n,0..n,0..n,β‘,β
,β
,β
,0..n,β
,β
,β
,0..n,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
*,β
*,β
,β
,β
,β
,β
,β
,β
,β
,0..n,β
,β
,0..n,β
,β
,β
,β
,β
,β
,β
,0..n,0..n,0..n,β
,β
,0..n,β
@@ -554,7 +554,7 @@ Private,1.7,grouping,β
,0..n,0..n,0..n,β‘,β‘,0..n,0..n,0..n,β‘,0..n,0..n,0.. P,both,block,β
,0..n,0..n,0..n,β‘,β‘,0..n,0..n,0..n,β‘,β
,0..n,0..n,0..n,0..n,β
,β
,0..n,β
,0..n,β
,β
,β
,β
,β
,β
,β
,β
,β
*,β
*,β
,β
,β
,β
,β
,β
,β
,β
,0..n,β
,β
,0..n,β
,β
,0..n,0..n,β
,β
,β
,0..n,0..n,0..n,β
,β
,0..n,β
Hn,both,block,β
,0..n,0..n,0..n,β‘,β‘,0..n,0..n,0..n,β‘,β
,β
,0..n,0..n,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
*,β
*,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,0..n,β
,β
,0..n,0..n,β
,β
,β
,0..n,0..n,0..n,β
,β
,0..n,β
H,both,block,β
,0..1,0..1,0..1,β‘,β‘,0..1,0..1,0..1,β‘,β
,β
,0..n,0..n,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
*,β
*,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,0..1,β
,β
,0..1,0..1,β
,β
,β
,0..1,0..1,0..1,β
,β
,0..1,β
-Title,2.0,grouping!block,β
,0..n,0..n,0..n,β‘,β‘,0..n,β
,0..n,β‘,β
,β
,β
,0..n,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
*,β
*,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,0..n,β
+Title,2.0,grouping!block,β
,0..n,0..n,0..n,β‘,β‘,0..n,β
,β
,β‘,β
,β
,β
,0..n,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
*,β
*,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,0..n,β
Sub,2.0,inline,β
,β
,β
,β
,β‘,β‘,β
,β
,β
,β‘,β
,β
,β
,0..n,β
,β
,0..n,0..n,β
,β
,0..n,0..n,0..n,0..n,β
,0..n,0..n,0..n,0..n,0..n,β
,β
,0..n,0..n,0..n,β
,0..n,0..n,0..n,β
,β
,0..n,β
,β
,β
,β
,β
,β
,β
,0..n,β
*,0..n,β
,β
,0..n,β
Quote,1.7,inline,β
,β
,β
,β
,β‘,β‘,β
,β
,β
,β‘,β
,β
,β
,0..n,0..n,0..n,0..n,0..n,β
,β
,0..n,0..n,0..n,0..n,β
,0..n,0..n,0..n,0..n,0..n,β
,β
,0..n,0..n,0..n,β
,0..n,0..n,0..n,β
,β
,0..n,β
,β
,0..n,0..n,β
,β
,β
,0..n,0..n,0..n,β
,β
,0..n,β
Note,1.7,inline,β
,0..n,0..n,0..n,β‘,β‘,0..n,0..n,0..n,β‘,β
,β
,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,β
,β
,β
,β
,β
,β
,β
,0..n,β
,β
,0..n,β
,β
,0..n,0..n,β
,β
,β
,0..n,0..n,0..n,β
,β
,0..n,β
@@ -579,14 +579,14 @@ FENote,2.0,grouping!block!inline,β
,0..n,0..n,0..n,β‘,β‘,0..n,0..n,0..n,β‘,β L,both,block!inline,β
,0..n,0..n,0..n,β‘,β‘,0..n,0..n,0..n,β‘,β
,β
,0..n,0..n,0..n,0..n,β
,0..n,β
,β
,0..n,β
,β
,β
,β
,β
,β
,β
,β
*,β
*,β
*,β
,β
,β
,β
,β
,β
,β
,0..n,0..n,β
,0..n,β
,β
,0..n,0..n,β
,β
,β
,0..n,0..n,0..n,β
,β
,0..n,β
LI,both,in L,β
,β
,β
,β
,β
,β‘,β
,β
,β
,β‘,β
,β
,β
,0..n,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,0..n,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,0..n,β
LBody,both,in LI,β
,β
,β
,β
,β
,β‘,β
,β
,β
,β‘,β
,β
,β
,0..n,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,0..n,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,0..n,β
-Table,both,block,β
,0..n,0..n,0..n,β‘,β‘,0..n,0..n,0..n,β‘,β
,β
,0..n,0..n,0..n,β
,β
,0..n,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
*,β
*,β
*,β
,β
,β
,β
,β
,β
,β
,0..n,β
,β
,0..n,β
,β
,0..n,0..n,β
,β
,β
,0..n,0..n,0..n,β
,β
,0..n,β
+Table,both,block,β
,0..n,0..n,0..n,β‘,β‘,0..n,0..n,0..n,β‘,β
,β
,0..n,0..n,0..n,β
,β
,0..n,β
,β
,0..n,β
,β
,β
,β
,β
,β
,β
,β
*,β
*,β
*,β
,β
,β
,β
,β
,β
,β
,0..n,β
,β
,0..n,β
,β
,0..n,0..n,β
,β
,β
,0..n,0..n,0..n,β
,β
,0..n,β
TR,both,Table,β
,β
,β
,β
,β
,β‘,β
,β
,β
,β‘,β
,β
,β
,0..n,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,0..n,β
,β
,β
,0..n,0..n,0..n,β
,β
,β
,β
,β
,0..n,β
TH,both,Table,β
,β
,β
,β
,β
,β‘,β
,β
,β
,β‘,β
,β
,β
,0..n,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,0..n,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,0..n,β
TD,both,Table,β
,β
,β
,β
,β
,β‘,β
,β
,β
,β‘,β
,β
,β
,0..n,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,0..n,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,0..n,β
THead,both,Table,β
,β
,β
,β
,β
,β‘,β
,β
,β
,β‘,β
,β
,β
,0..n,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,0..1,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,0..n,β
TBody,both,Table,β
,β
,β
,β
,β
,β‘,β
,β
,β
,β‘,β
,β
,β
,0..n,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,0..n,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,0..n,β
TFoot,both,Table,β
,β
,β
,β
,β
,β‘,β
,β
,β
,β‘,β
,β
,β
,0..n,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,0..1,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,0..n,β
-Caption,both,grouping!block,β
,β
,β
,0..n,β‘,β‘,0..n,0..1,0..1,β‘,0..1,0..1,0..n,0..n,0..1,β
,β
,β
*,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
*,β
*,0..1,β
,β
,β
,β
,β
,β
,β
,β
*,0..1,β
,0..1,0..1,β
,β
,β
,β
,β
,β
,β
,0..1,0..1,β
,β
,0..n,β
+Caption,both,grouping!block,β
,β
,β
,0..n,β‘,β‘,0..n,0..1,0..1,β‘,0..1,β
,0..n,0..n,0..1,β
,β
,β
*,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
,β
*,β
*,0..1,β
,β
,β
,β
,β
,β
,β
,β
*,0..1,β
,0..1,0..1,β
,β
,β
,β
,β
,β
,β
,0..1,0..1,β
,β
,0..n,β
Figure,both,grouping!block!inline,β
,0..n,0..n,0..n,β‘,β‘,0..n,0..n,0..n,β‘,β
,β
,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,β
,0..n,0..n,0..n,0..n,0..n,β
*,β
,β
,β
,β
,β
,β
,c,0..n,β
,β
,0..n,β
,β
,0..n,0..n,β
,β
,β
,0..n,0..n,0..n,β
,β
,0..n,β
Formula,both,grouping!block!inline,β
,0..n,0..n,0..n,β‘,β‘,0..n,0..n,0..n,β‘,β
,β
,0..n,0..n,0..n,0..n,0..n,0..n,β
,β
,0..n,0..n,0..n,0..n,β
,0..n,0..n,0..n,0..n,0..n,β
*,β
,β
,β
,β
,β
,β
,β
,0..n,β
,β
,0..n,β
,β
,0..n,0..n,β
,β
,β
,0..n,0..n,0..n,β
,β
,0..n,β
Artifact,2.0,grouping!block!inline,β
,0..n,0..n,0..n,β‘,β‘,0..n,0..n,0..n,β‘,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,β
,0..n,0..n,0..n,β
,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,0..n,β
,β
,0..n,β
diff --git a/macros/latex/contrib/tagpdf/tagpdf-mc-generic.dtx b/macros/latex/contrib/tagpdf/tagpdf-mc-generic.dtx index d8c1f52cca..e9654f9ce6 100644 --- a/macros/latex/contrib/tagpdf/tagpdf-mc-generic.dtx +++ b/macros/latex/contrib/tagpdf/tagpdf-mc-generic.dtx @@ -46,7 +46,7 @@ % }^^A % } % -% \date{Version 0.98j, released 2023-07-08} +% \date{Version 0.98k, released 2023-08-04} % \maketitle % \begin{documentation} % \end{documentation} @@ -55,11 +55,11 @@ % \begin{macrocode} %<@@=tag> %<*generic> -\ProvidesExplPackage {tagpdf-mc-code-generic} {2023-07-08} {0.98j} +\ProvidesExplPackage {tagpdf-mc-code-generic} {2023-08-04} {0.98k} {part of tagpdf - code related to marking chunks - generic mode} %</generic> %<*debug> -\ProvidesExplPackage {tagpdf-debug-generic} {2023-07-08} {0.98j} +\ProvidesExplPackage {tagpdf-debug-generic} {2023-08-04} {0.98k} {part of tagpdf - debugging code related to marking chunks - generic mode} %</debug> % \end{macrocode} diff --git a/macros/latex/contrib/tagpdf/tagpdf-mc-luacode.dtx b/macros/latex/contrib/tagpdf/tagpdf-mc-luacode.dtx index 99039a9744..309ba3fd40 100644 --- a/macros/latex/contrib/tagpdf/tagpdf-mc-luacode.dtx +++ b/macros/latex/contrib/tagpdf/tagpdf-mc-luacode.dtx @@ -46,7 +46,7 @@ % }^^A % } % -% \date{Version 0.98j, released 2023-07-08} +% \date{Version 0.98k, released 2023-08-04} % \maketitle % \begin{implementation} % The code is splitted into three parts: code shared by all engines, @@ -86,7 +86,7 @@ % \begin{macrocode} %<@@=tag> %<*luamode> -\ProvidesExplPackage {tagpdf-mc-code-lua} {2023-07-08} {0.98j} +\ProvidesExplPackage {tagpdf-mc-code-lua} {2023-08-04} {0.98k} {tagpdf - mc code only for the luamode } %</luamode> % \end{macrocode} @@ -100,10 +100,13 @@ { \lua_now:e { - if~luatexbase.callbacktypes.pre_shipout_filter~then~ + if~luatexbase.callbacktypes.pre_shipout_filter~then~ luatexbase.add_to_callback("pre_shipout_filter", function(TAGBOX)~ ltx.@@.func.space_chars_shipout(TAGBOX)~return~true~ end, "tagpdf")~ + if~luatexbase.declare_callback_rule~then~ + luatexbase.declare_callback_rule("pre_shipout_filter", "luaotfload.dvi", "after", "tagpdf") + end~ end } \lua_now:e diff --git a/macros/latex/contrib/tagpdf/tagpdf-mc-shared.dtx b/macros/latex/contrib/tagpdf/tagpdf-mc-shared.dtx index 9a9a1046b6..85a03ca90e 100644 --- a/macros/latex/contrib/tagpdf/tagpdf-mc-shared.dtx +++ b/macros/latex/contrib/tagpdf/tagpdf-mc-shared.dtx @@ -46,7 +46,7 @@ % }^^A % } % -% \date{Version 0.98j, released 2023-07-08} +% \date{Version 0.98k, released 2023-08-04} % \maketitle % \begin{documentation} % \section{Public Commands} @@ -181,7 +181,7 @@ % \begin{macrocode} %<@@=tag> %<*header> -\ProvidesExplPackage {tagpdf-mc-code-shared} {2023-07-08} {0.98j} +\ProvidesExplPackage {tagpdf-mc-code-shared} {2023-08-04} {0.98k} {part of tagpdf - code related to marking chunks - code shared by generic and luamode } %</header> diff --git a/macros/latex/contrib/tagpdf/tagpdf-roles.dtx b/macros/latex/contrib/tagpdf/tagpdf-roles.dtx index 736eac4a70..0e65a4be4e 100644 --- a/macros/latex/contrib/tagpdf/tagpdf-roles.dtx +++ b/macros/latex/contrib/tagpdf/tagpdf-roles.dtx @@ -46,7 +46,7 @@ % }^^A % } % -% \date{Version 0.98j, released 2023-07-08} +% \date{Version 0.98k, released 2023-08-04} % \maketitle % \begin{documentation} % \begin{function} @@ -98,7 +98,7 @@ % \begin{macrocode} %<@@=tag> %<*header> -\ProvidesExplPackage {tagpdf-roles-code} {2023-07-08} {0.98j} +\ProvidesExplPackage {tagpdf-roles-code} {2023-08-04} {0.98k} {part of tagpdf - code related to roles and structure names} %</header> % \end{macrocode} @@ -580,8 +580,8 @@ % This command will process a line in the name space file. % The first argument is the name of the name space. % The definition differ for pdf 2.0. as we have proper name spaces there. -% With pdf<2.0 not special name spaces shouldn't update the default role or add to the rolemap -% again. We use a boolean here. +% With pdf<2.0 special name spaces shouldn't update the default role or add to the rolemap +% again, they only store the values for later uses. We use a boolean here. % \begin{macrocode} \bool_new:N\l_@@_role_update_bool \bool_set_true:N \l_@@_role_update_bool @@ -651,17 +651,19 @@ } % \end{macrocode} % \end{macro} -% \begin{macro}{\@@_role_read_namespace:n} -% This command reads the namespace file. +% +% \begin{macro}{\@@_role_read_namespace:nn} +% This command reads a namespace file in the format +% tagpdf-ns-XX.def % \begin{macrocode} -\cs_new_protected:Npn \@@_role_read_namespace:n #1 %name of namespace +\cs_new_protected:Npn \@@_role_read_namespace:nn #1 #2 %name of namespace #2 name of file { \prop_if_exist:cF {g_@@_role_NS_#1_prop} { \msg_warning:nnn {tag}{namespace-unknown}{#1} } - \file_if_exist:nTF { tagpdf-ns-#1.def} + \file_if_exist:nTF { tagpdf-ns-#2.def } { - \ior_open:Nn \g_tmpa_ior {tagpdf-ns-#1.def} - \msg_info:nnn {tag}{read-namespace}{#1} + \ior_open:Nn \g_tmpa_ior {tagpdf-ns-#2.def} + \msg_info:nnn {tag}{read-namespace}{#2} \ior_map_inline:Nn \g_tmpa_ior { \@@_role_read_namespace_line:nw {#1} ##1,,,,\q_stop @@ -669,27 +671,42 @@ \ior_close:N\g_tmpa_ior } { - \msg_warning:nnn{tag}{namespace-missing}{#1} + \msg_info:nnn{tag}{namespace-missing}{#2} } } % \end{macrocode} % \end{macro} -% - +% +% \begin{macro}{\@@_role_read_namespace:n} +% This command reads the default namespace file. +% \begin{macrocode} +\cs_new_protected:Npn \@@_role_read_namespace:n #1 %name of namespace + { + \@@_role_read_namespace:nn {#1}{#1} + } +% \end{macrocode} +% \end{macro} % % \subsection{Reading the default data} -% The order is important as we want pdf2 and latex as default. +% The order is important as we want pdf2 and latex as default: if two +% namespace define the same tag, the last one defines which one is used +% if the namespace is not explicitly given. % \begin{macrocode} \@@_role_read_namespace:n {pdf} \@@_role_read_namespace:n {pdf2} \pdf_version_compare:NnF < {2.0} {\@@_role_read_namespace:n {mathml}} +% \end{macrocode} +% in pdf 1.7 the following namespaces should only store +% the settings for later use: +% \begin{macrocode} \bool_set_false:N\l_@@_role_update_bool -\@@_role_read_namespace:n {latex-inline} +\@@_role_read_namespace:n {latex-inline} \@@_role_read_namespace:n {latex-book} \bool_set_true:N\l_@@_role_update_bool \@@_role_read_namespace:n {latex} +\@@_role_read_namespace:nn {latex} {latex-lab} \@@_role_read_namespace:n {pdf} \@@_role_read_namespace:n {pdf2} % \end{macrocode} diff --git a/macros/latex/contrib/tagpdf/tagpdf-space.dtx b/macros/latex/contrib/tagpdf/tagpdf-space.dtx index c1798f16c6..70e5f32d59 100644 --- a/macros/latex/contrib/tagpdf/tagpdf-space.dtx +++ b/macros/latex/contrib/tagpdf/tagpdf-space.dtx @@ -46,7 +46,7 @@ % }^^A % } % -% \date{Version 0.98j, released 2023-07-08} +% \date{Version 0.98k, released 2023-08-04} % \maketitle % \begin{documentation} % \begin{function}{interwordspace (setup-key)} @@ -64,7 +64,7 @@ % \begin{macrocode} %<@@=tag> %<*header> -\ProvidesExplPackage {tagpdf-space-code} {2023-07-08} {0.98j} +\ProvidesExplPackage {tagpdf-space-code} {2023-08-04} {0.98k} {part of tagpdf - code related to real space chars} %</header> % \end{macrocode} diff --git a/macros/latex/contrib/tagpdf/tagpdf-struct.dtx b/macros/latex/contrib/tagpdf/tagpdf-struct.dtx index a7bee487a4..0b175aa4f1 100644 --- a/macros/latex/contrib/tagpdf/tagpdf-struct.dtx +++ b/macros/latex/contrib/tagpdf/tagpdf-struct.dtx @@ -46,7 +46,7 @@ % }^^A % } % -% \date{Version 0.98j, released 2023-07-08} +% \date{Version 0.98k, released 2023-08-04} % \maketitle % \begin{documentation} % \section{Public Commands} @@ -247,7 +247,7 @@ % \begin{macrocode} %<@@=tag> %<*header> -\ProvidesExplPackage {tagpdf-struct-code} {2023-07-08} {0.98j} +\ProvidesExplPackage {tagpdf-struct-code} {2023-08-04} {0.98k} {part of tagpdf - code related to storing structure} %</header> % \end{macrocode} @@ -1740,7 +1740,7 @@ % \section{Attributes and attribute classes} % \begin{macrocode} %<*header> -\ProvidesExplPackage {tagpdf-attr-code} {2023-07-08} {0.98j} +\ProvidesExplPackage {tagpdf-attr-code} {2023-08-04} {0.98k} {part of tagpdf - code related to attributes and attribute classes} %</header> % \end{macrocode} diff --git a/macros/latex/contrib/tagpdf/tagpdf-tree.dtx b/macros/latex/contrib/tagpdf/tagpdf-tree.dtx index 010e9a3fcc..a8b755a1f6 100644 --- a/macros/latex/contrib/tagpdf/tagpdf-tree.dtx +++ b/macros/latex/contrib/tagpdf/tagpdf-tree.dtx @@ -47,13 +47,13 @@ % }^^A % } % -% \date{Version 0.98j, released 2023-07-08} +% \date{Version 0.98k, released 2023-08-04} % \maketitle % \begin{implementation} % \begin{macrocode} %<@@=tag> %<*header> -\ProvidesExplPackage {tagpdf-tree-code} {2023-07-08} {0.98j} +\ProvidesExplPackage {tagpdf-tree-code} {2023-08-04} {0.98k} {part of tagpdf - code related to writing trees and dictionaries to the pdf} %</header> % \end{macrocode} diff --git a/macros/latex/contrib/tagpdf/tagpdf-user.dtx b/macros/latex/contrib/tagpdf/tagpdf-user.dtx index f33d710e36..50afdf6a77 100644 --- a/macros/latex/contrib/tagpdf/tagpdf-user.dtx +++ b/macros/latex/contrib/tagpdf/tagpdf-user.dtx @@ -46,7 +46,7 @@ % }^^A % } % -% \date{Version 0.98j, released 2023-07-08} +% \date{Version 0.98k, released 2023-08-04} % \maketitle % \begin{documentation} % \section{Setup commands} @@ -250,7 +250,7 @@ % \begin{macrocode} %<@@=tag> %<*header> -\ProvidesExplPackage {tagpdf-user} {2023-07-08} {0.98j} +\ProvidesExplPackage {tagpdf-user} {2023-08-04} {0.98k} {tagpdf - user commands} %</header> % \end{macrocode} @@ -741,11 +741,17 @@ } } % \end{macrocode} -% In generic mode we need the additional code from the ptagging tests. +% We need at least the new-or-1 code. +% In generic mode we also must insert the code to finish the MC-chunks % \begin{macrocode} +\@ifpackageloaded{footmisc} + {\PackageWarning{tagpdf}{tagpdf~has~been~loaded~too~late!}} % + {\RequirePackage{latex-lab-testphase-new-or-1}} + \AddToHook{begindocument/before} { - \@ifundefined{@mult@ptagging@hook}{\RequirePackage{output-patches-tmp-ltx}}{} % + \providecommand\@kernel@tagsupport@@@@makecol{} + \providecommand\@kernel@before@cclv{} \bool_if:NF \g_@@_mode_lua_bool { \cs_if_exist:NT \@kernel@before@footins @@ -757,6 +763,11 @@ \@@_check_typeout_v:n {====>~In~\token_to_str:N \@makecol\c_space_tl\the\c@page} \@@_add_missing_mcs_to_stream:Nn \@cclv {main} } + \tl_put_right:Nn \@kernel@tagsupport@@@@makecol + { + \@@_check_typeout_v:n {====>~In~\token_to_str:N \@makecol\c_space_tl\the\c@page} + \@@_add_missing_mcs_to_stream:Nn \@outputbox {main} + } \tl_put_right:Nn \@mult@ptagging@hook { \@@_check_typeout_v:n {====>~In~\string\page@sofar} diff --git a/macros/latex/contrib/tagpdf/tagpdf.dtx b/macros/latex/contrib/tagpdf/tagpdf.dtx index add2dceced..6da2ba0122 100644 --- a/macros/latex/contrib/tagpdf/tagpdf.dtx +++ b/macros/latex/contrib/tagpdf/tagpdf.dtx @@ -34,7 +34,8 @@ % \end{function} % % \begin{function}{ \tag_stop_group_begin:, \tag_stop_group_end:, -% \tag_stop:, \tag_start: } +% \tag_stop:, \tag_start:, +% \tagstop, \tagstart } % We need commands to stop tagging in some places. % They simply switches the two local booleans. The grouping commands % can be used to group the effect. @@ -92,7 +93,7 @@ % \begin{macrocode} %<@@=tag> %<*package> -\ProvidesExplPackage {tagpdf} {2023-07-08} {0.98j} +\ProvidesExplPackage {tagpdf} {2023-08-04} {0.98k} { A package to experiment with pdf tagging } \bool_if:nF @@ -118,7 +119,7 @@ % \end{macrocode} %<*debug> % \begin{macrocode} -\ProvidesExplPackage {tagpdf-debug} {2023-07-08} {0.98j} +\ProvidesExplPackage {tagpdf-debug} {2023-08-04} {0.98k} { debug code for tagpdf } \@ifpackageloaded{tagpdf}{}{\PackageWarning{tagpdf-debug}{tagpdf~not~loaded,~quitting}\endinput} % \end{macrocode} @@ -141,7 +142,7 @@ % we define a base package with dummy functions % \begin{macrocode} %<*base> -\ProvidesExplPackage {tagpdf-base} {2023-07-08} {0.98j} +\ProvidesExplPackage {tagpdf-base} {2023-08-04} {0.98k} {part of tagpdf - provide base, no-op versions of the user commands } %</base> % \end{macrocode} @@ -151,7 +152,7 @@ % \begin{macrocode} %<*package> \bool_new:N\g_@@_mode_lua_bool -\DeclareOption {luamode} { \sys_if_engine_luatex:T { \bool_gset_true:N \g_@@_mode_lua_bool } } +\DeclareOption {luamode} { \sys_if_engine_luatex:T { \bool_gset_true:N \g_@@_mode_lua_bool } } \DeclareOption {genericmode}{ \bool_gset_false:N\g_@@_mode_lua_bool } \ExecuteOptions{luamode} \ProcessOptions @@ -496,6 +497,8 @@ \bool_set_true:N \l_@@_active_struct_bool \bool_set_true:N \l_@@_active_mc_bool } +\cs_set_eq:NN\tagstop\tag_stop: +\cs_set_eq:NN\tagstart\tag_start: \prop_new:N\g_@@_state_prop \cs_set_protected:Npn \tag_stop:n #1 { @@ -522,6 +525,8 @@ %<*base> \cs_new_protected:Npn \tag_stop:{} \cs_new_protected:Npn \tag_start:{} +\cs_new_protected:Npn \tagstop{} +\cs_new_protected:Npn \tagstart{} \cs_new_protected:Npn \tag_stop:n #1 {} \cs_new_protected:Npn \tag_start:n #1 {} %</base> diff --git a/macros/latex/contrib/tagpdf/tagpdf.pdf b/macros/latex/contrib/tagpdf/tagpdf.pdf Binary files differindex 4a68c8dbb8..d99d76ff95 100644 --- a/macros/latex/contrib/tagpdf/tagpdf.pdf +++ b/macros/latex/contrib/tagpdf/tagpdf.pdf diff --git a/macros/latex/contrib/tagpdf/tagpdf.tex b/macros/latex/contrib/tagpdf/tagpdf.tex index 8f54068192..b89709b1a9 100644 --- a/macros/latex/contrib/tagpdf/tagpdf.tex +++ b/macros/latex/contrib/tagpdf/tagpdf.tex @@ -16,8 +16,8 @@ } \DebugBlocksOff \makeatletter -\def\UlrikeFischer@package@version{0.98j} -\def\UlrikeFischer@package@date{2023-07-08} +\def\UlrikeFischer@package@version{0.98k} +\def\UlrikeFischer@package@date{2023-08-04} \makeatother \documentclass[bibliography=totoc,a4paper]{article} @@ -191,7 +191,9 @@ but the xelatex and the latex-dvips-route are basically untested tested and they real space glyphs so I don't recommend them. lualatex is the most powerful and safe modus and should be used for new documents, it is slower than pdflatex but requires less compilations to get tagging. pdflatex works ok and can be used for legacy documents; it needs more compilations to resolve all cross references needed for the tagging. -The package has two modes: the \emph{generic mode} which should work in theory with every engine and the \emph{lua mode} which works only with lualatex. +The package has two modes: the \emph{generic mode} which should work in +theory with every engine and the \emph{lua mode} which works only with +lualatex and (since version 0.98k) with dvilualatex. I implemented the generic mode first. Mostly because my \TeX\ skills are much better than my lua skills and I wanted to get the \TeX\ side right before starting to fight with attributes and node traversing. @@ -522,6 +524,18 @@ See~\ref{sec:paratagging} and also \texttt{latex-lab-block-tagging.dtx} for more \item The command |tag_struct_end:n| has been add to improve debugging. \end{itemize} +\subsection{Changes in version 0.98k} + +The luamode has been adapted and now allows also the compilation with +dvilualatex. By default it will insert specials for \texttt{dvips} into the +dvi. But be aware that \texttt{dvips} can normally not be used as it can't +handle open type fonts, and extended version would be needed which isn't in +texlive yet. It is also possible to use \texttt{dvipdfmx} as backend (which +already has support for open type fonts), for this you need to use +\texttt{backend=dvipdfmx} in the \cs{DocumentMetadata} command. Real space +chars will work, but are currently not taken from the current font. This will +be improved in the next luaotfload version. The compilation with dvilualatex +is not much tested yet. \subsection{Proof of concept: the tagging of the documentation itself} @@ -1310,13 +1324,9 @@ add the needed code. \tagpdfparaOff \tagstructbegin{tag=Figure,alt={Illustration of link annotation structure},attribute=bbox}\tagmcbegin{tag=Figure} -\ExplSyntaxOn -\tag_stop: -\ExplSyntaxOff +\tagstop \input{link-figure-input} -\ExplSyntaxOn -\tag_start: -\ExplSyntaxOff +\tagstart \tagmcend\tagstructend \caption{Structure needed for a link annotation}\label{fig:linkannot} @@ -1925,6 +1935,8 @@ quite possible that some of the commands will disappear again if we realize that \begin{docCommand}[nosep]{tag_stop:}{}\end{docCommand} \begin{docCommand}[nosep]{tag_start:}{}\end{docCommand} +\begin{docCommand}[nosep]{tagstop}{}\end{docCommand} +\begin{docCommand}[nosep]{tagstart}{}\end{docCommand} \begin{docCommand}[nosep]{tag_stop_group_begin:}{}\end{docCommand} \begin{docCommand}{tag_start_group_end:}{}\end{docCommand} @@ -1932,6 +1944,11 @@ This commands stop and start tagging in the current group by switching \emph{local} booleans. The grouping commands also open and close a group. +Restarting tagging is normally only needed if groups can't be used and then +must be done with care: |\tagstart| should normally only restart tagging if +the corresponding stop command actually stopped tagging. In complicated +case the following labeled version can be used: + \begin{docCommand}[nosep]{tag_stop:n}{\marg{label}}\end{docCommand} \begin{docCommand}{tag_start:n}{\marg{label}}\end{docCommand} @@ -2111,9 +2128,8 @@ The \PDF{} references formulate various rules about whether a structure can be a child of another structure, e.g. a \texttt{Sect} can not be a child of \texttt{P}. In the \PDF{} 1.7 reference this rules were rather vage, in the \PDF{} 2.0 reference there is a quite specific matrix, -which sadly misses some of the tags from \PDF{} 1.7. The upcoming -ISO norm 32005 will -address this problem and extend the matrix to cover tags from +which sadly misses some of the tags from \PDF{} 1.7. The now released +ISO norm 32005 addresses this problem and extends the matrix to cover tags from \PDF{} 1.7 and 2.0 (but it still misses the \texttt{math} tag and mathml tags). diff --git a/macros/latex/contrib/tagpdf/tagpdfdocu-patches.sty b/macros/latex/contrib/tagpdf/tagpdfdocu-patches.sty index 49becf6a1f..114ac7646b 100644 --- a/macros/latex/contrib/tagpdf/tagpdfdocu-patches.sty +++ b/macros/latex/contrib/tagpdf/tagpdfdocu-patches.sty @@ -1,5 +1,5 @@ %\RequirePackage[enable-debug]{expl3}[2018/06/14] -\ProvidesExplPackage {tagpdfdocu-patches} {2023-07-08} {0.98j} +\ProvidesExplPackage {tagpdfdocu-patches} {2023-08-04} {0.98k} {patches/commands for the tagpdf documentation} \RequirePackage{etoolbox,xpatch} diff --git a/macros/luatex/generic/luamplib/NEWS b/macros/luatex/generic/luamplib/NEWS index b76bd8b562..f66689f163 100644 --- a/macros/luatex/generic/luamplib/NEWS +++ b/macros/luatex/generic/luamplib/NEWS @@ -1,6 +1,10 @@ History of the luamplib package -2024/04/04 2.24.0 +2023/08/07 2.25.0 + * propagate tex's jobname varible into mplib process as well. + * protect "..." if and only if textextlabel is enabled. + +2023/04/04 2.24.0 respect '-recorder' command-line option 2022/01/12 2.23.0 diff --git a/macros/luatex/generic/luamplib/luamplib.dtx b/macros/luatex/generic/luamplib/luamplib.dtx index 35615062d2..61e3878a17 100644 --- a/macros/luatex/generic/luamplib/luamplib.dtx +++ b/macros/luatex/generic/luamplib/luamplib.dtx @@ -85,7 +85,7 @@ See source file '\inFileName' for licencing and contact information. %<*driver> \NeedsTeXFormat{LaTeX2e} \ProvidesFile{luamplib.drv}% - [2023/04/04 v2.24.0 Interface for using the mplib library]% + [2023/08/07 v2.25.0 Interface for using the mplib library]% \documentclass{ltxdoc} \usepackage{metalogo,multicol,mdwlist,fancyvrb,xspace} \usepackage[x11names]{xcolor} @@ -153,7 +153,7 @@ See source file '\inFileName' for licencing and contact information. % \author{Hans Hagen, Taco Hoekwater, Elie Roux, Philipp Gesang and Kim Dohyun\\ % Maintainer: LuaLaTeX Maintainers --- % Support: \email{lualatex-dev@tug.org}} -% \date{2023/04/04 v2.24.0} +% \date{2023/08/07 v2.25.0} % % \maketitle % @@ -446,8 +446,8 @@ See source file '\inFileName' for licencing and contact information. luatexbase.provides_module { name = "luamplib", - version = "2.24.0", - date = "2023/04/04", + version = "2.25.0", + date = "2023/08/07", description = "Lua package to typeset Metapost with LuaTeX's MPLib.", } @@ -517,9 +517,6 @@ local file = file or { } local replacesuffix = file.replacesuffix or function(filename, suffix) return (filename:gsub("%.[%a%d]+$","")) .. "." .. suffix end -local stripsuffix = file.stripsuffix or function(filename) - return (filename:gsub("%.[%a%d]+$","")) -end local is_writable = file.is_writable or function(name) if lfsisdir(name) then @@ -820,6 +817,7 @@ local function luamplibload (name) make_text = luamplib.maketext, run_script = luamplib.runscript, math_mode = luamplib.numbersystem, + job_name = tex.jobname, random_seed = math.random(4095), extensions = 1, } @@ -1313,7 +1311,9 @@ local function process_mplibcode (data, instancename) % It has turned out that no comment sign is allowed. % \begin{macrocode} if not luamplib.verbatiminput then - data = data:gsub("\".-\"", protect_expansion) + if luamplib.textextlabel then + data = data:gsub("\".-\"", protect_expansion) + end data = data:gsub("\\%%", "\0PerCent\0") data = data:gsub("%%.-\n","") @@ -1326,7 +1326,9 @@ local function process_mplibcode (data, instancename) % Next line to address issue \#55 % \begin{macrocode} data = data:gsub("##", "#") - data = data:gsub("\".-\"", unprotect_expansion) + if luamplib.textextlabel then + data = data:gsub("\".-\"", unprotect_expansion) + end data = data:gsub(btex_etex, function(str) return format("btex %s etex", unprotect_expansion(str)) end) @@ -1546,7 +1548,7 @@ local pdf_objs = {} local token, getpageres, setpageres = newtoken or token local pgf = { bye = "pgfutil@everybye", extgs = "pgf@sys@addpdfresource@extgs@plain" } -if pdfmode then -- repect luaotfload-colors +if pdfmode then -- respect luaotfload-colors getpageres = pdf.getpageresources or function() return pdf.pageresources end setpageres = pdf.setpageresources or function(s) pdf.pageresources = s end else @@ -2063,7 +2065,7 @@ luamplib.colorconverter = colorconverter \else \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{luamplib} - [2023/04/04 v2.24.0 mplib package for LuaTeX] + [2023/08/07 v2.25.0 mplib package for LuaTeX] \ifx\newluafunction\@undefined \input ltluatex \fi diff --git a/macros/luatex/generic/luamplib/luamplib.pdf b/macros/luatex/generic/luamplib/luamplib.pdf Binary files differindex b9aadd7e0c..45be990ec5 100644 --- a/macros/luatex/generic/luamplib/luamplib.pdf +++ b/macros/luatex/generic/luamplib/luamplib.pdf diff --git a/macros/luatex/latex/lualinalg/README.txt b/macros/luatex/latex/lualinalg/README.txt index 8f664663c1..b53ec649cc 100644 --- a/macros/luatex/latex/lualinalg/README.txt +++ b/macros/luatex/latex/lualinalg/README.txt @@ -1,5 +1,5 @@ # The lualinalg package -# version 1.4 +# version 1.5 # Authors: Chetan Shirore and Ajit Kumar # Email: mathsbeauty@gmail.com diff --git a/macros/luatex/latex/lualinalg/lualinalg.pdf b/macros/luatex/latex/lualinalg/lualinalg.pdf Binary files differindex adc8fe3290..8998c757a2 100644 --- a/macros/luatex/latex/lualinalg/lualinalg.pdf +++ b/macros/luatex/latex/lualinalg/lualinalg.pdf diff --git a/macros/luatex/latex/lualinalg/lualinalg.sty b/macros/luatex/latex/lualinalg/lualinalg.sty index c16cfa1e14..b98046f629 100644 --- a/macros/luatex/latex/lualinalg/lualinalg.sty +++ b/macros/luatex/latex/lualinalg/lualinalg.sty @@ -1,11 +1,11 @@ % The lualinalg package % Authors: Chetan Shirore and Ajit Kumar -% version 1.4, Date=04-Aug-2023 +% version 1.5, Date=07-Aug-2023 % Licensed under LaTeX Project Public License v1.3c or later. The complete license text is available at http://www.latex-project.org/lppl.txt. -\ProvidesPackage{lualinalg}[1.4] +\ProvidesPackage{lualinalg}[1.5] \RequirePackage{xkeyval} \RequirePackage{amsmath} \RequirePackage{luamaths} @@ -1140,7 +1140,7 @@ function vector.gs(inptTbl, brckt, dignum) tbl[1] = vector.mulnum(inptTbl[1], 1) end setmetatable(tbl[1], vector_meta) - str = str .. "$\\left" .. brcktL .. vector.show(tbl[1], dignum) .. "\\right" .. brcktR + str = str .. "$\\left" .. brcktL .. vector.show(tbl[1], dignum) .. "\\right" .. brcktR.." $" for i = 2, k do tbl[i] = inptTbl[i] setmetatable(tbl[i], vector_meta) @@ -1152,9 +1152,9 @@ function vector.gs(inptTbl, brckt, dignum) tbl[i] = vector.mulnum(tbl[i], 1 / vector.euclidnorm(tbl[i])) end tbl[i] = vector.mulnum(tbl[i], 1.0) - str = str .. ",\\left" .. brcktL .. vector.show(tbl[i], dignum) .. "\\right" .. brcktR + str = str .. ", $\\left" .. brcktL .. vector.show(tbl[i], dignum) .. "\\right" .. brcktR.." $" end - str = str .. "$" + str = str return str end |