Hi Den ons 13 aug. 2025 19:48Matthias Weber <matthiaswebe...@gmail.com> skrev:
> Thank you so much Hans & Mikhael! > > I tested one of my lecture notes and get two complaints from VeraPDF: > (90 failed checks and 577444 passed checks…) > > > Specification: ISO 32005:2023, Clause: Table 5. P-Div, Test number: 1 > <P> shall not contain <Div> Failed > 24 occurrences Hide > SEDiv > parentStandardType != 'P' > root/document[0]/StructTreeRoot[0](231 0 obj PDStructTreeRoot)/K[0](239 0 > obj SEDocument document)/K[0](240 0 obj SEPart documentpart)/K[21](605 0 > obj SESect section)/K[1](611 0 obj SEDiv sectioncontent)/K[3](1770 0 obj > SESect section)/K[1](1775 0 obj SEDiv sectioncontent)/K[4](1876 0 obj SEP > paragraph)/K[2](1885 0 obj SEDiv formula) > I'm in phone mode. Wild guess: do you have something like \startparagraph Text \startformula 1+1 \stopformula Text \stopparagraph ? If so, try without the paragraph environment. > > and > > Specification: ISO 14289-2:2024, Clause: 8.2.2, Test number: 1 > Content that is not considered real shall be an artifact Failed > 66 occurrences Hide > SESimpleContentItem > isTaggedContent == true || parentsTags.contains('Artifact') == true > root/document[0]/pages[1](2 0 obj PDPage)/contentStream[0](407 0 obj > PDSemanticContentStream)/content[3]/contentItem[0] > Harder to guess what this could be. Something that is not tagged? /Mikael > > I am absolutely clueless about these two. Is there a way to find out what > the problem is and how I can fix it? > > Thanks again, > > Matthias > > > > > > > On Aug 13, 2025, at 11:12 AM, Hans Hagen via ntg-context < > ntg-context@ntg.nl> wrote: > > > > Hi, > > > > Due to some pressure on this list we have been looking into reasonable > mapping from context structure onto what pdf sees as structure as of 2025. > This is not without risk as the pdf standard, tools, interpretations, > whatever are in constant flux. We don't fall into the target audience so > our decisions are guess work at best. > > > > That said, we now do the following. If you enable tagging > > > > \setuptagging[state=start] > > > > you get normal tagging, without so called rolemapping. This can work out > ok with (future) more clever parsers of the content stream (think llm). It > doesn't pollute the pdf too much but of course bloats it. > > > > Then, if you want to go fuzzy, you can say > > > > \setupbackend > > [format=pdf/ua-2] > > > > \setuptagging > > [state=start] > > > > This gives some basic mapping. Then there is a basic mapping that or > with Mikael figured out and tested on lecture notes and a math book. Of > course runtime increases (so the book now needs 14 sec instead of 8 but so > be it we might be able to improve that a little bit but all that math ... > it's not like one tags all day). > > > > \setuptagging > > [state=start, > > preset=basic, > > % preset={basic,\jobname}, > > comment={just a basic test document}] > > > > You can kick in your own mappings, e.g. which could already be done with > commands but we now prefer using an "imp" file as hard pdf mapping doesn't > belong in a document setup. You, as user / author knows best what mapping > is nneeded and can work. There is tagging-basic.tex document that explains > this. > > > > We advise to delay tagging (if needed at all, which in my case is never) > to when a document is finished (maybe by wrapping in a mode tagging) so > that no runtime is wasted during writing / designing. > > > > You can test / check some with > > > > mtxrun --script pdf --structure [--detail --save] yourdocument > > mtxrun --script pdf --validate [--interaction] yourdocument > > > > where the second one calls for verapdf, or simply test with > > > > mtxrun --script pdf --check yourdocument > > > > this is only for testing purposes; we might add some to it depending on > our own or user demand. The possibly generated file serves no other purpose > (and obeys crap-in-crap-out). > > > > Of course, different versions of verapdf can result in different results > > > > By default we ignore interaction because that is a mess in tagged pdf > but you can use option=interaction to get something if needed. We think > that when a document validates with exception of link/references no one is > harmed. > > > > After the context meeting we will freeze the basic mapping but one can > of course always modulate on it, > > > > Hans & Mikael > > > > (who will now pick up on more rewarding and fun things that we'd put in > the hold) > > > > ----------------------------------------------------------------- > > Hans Hagen | PRAGMA ADE > > Ridderstraat 27 | 8061 GH Hasselt | The Netherlands > > tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl > > ----------------------------------------------------------------- > > > > > ___________________________________________________________________________________ > > If your question is of interest to others as well, please add an entry > to the Wiki! > > > > maillist : ntg-context@ntg.nl / > https://mailman.ntg.nl/mailman3/lists/ntg-context.ntg.nl > > webpage : https://www.pragma-ade.nl / https://context.aanhet.net > (mirror) > > archive : https://github.com/contextgarden/context > > wiki : https://wiki.contextgarden.net > > > ___________________________________________________________________________________ > > > ___________________________________________________________________________________ > If your question is of interest to others as well, please add an entry to > the Wiki! > > maillist : ntg-context@ntg.nl / > https://mailman.ntg.nl/mailman3/lists/ntg-context.ntg.nl > webpage : https://www.pragma-ade.nl / https://context.aanhet.net (mirror) > archive : https://github.com/contextgarden/context > wiki : https://wiki.contextgarden.net > > ___________________________________________________________________________________ >
___________________________________________________________________________________ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / https://mailman.ntg.nl/mailman3/lists/ntg-context.ntg.nl webpage : https://www.pragma-ade.nl / https://context.aanhet.net (mirror) archive : https://github.com/contextgarden/context wiki : https://wiki.contextgarden.net ___________________________________________________________________________________