diff options
Diffstat (limited to 'macros/luatex/generic/minim-pdf/minim-pdf.tex')
-rw-r--r-- | macros/luatex/generic/minim-pdf/minim-pdf.tex | 53 |
1 files changed, 39 insertions, 14 deletions
diff --git a/macros/luatex/generic/minim-pdf/minim-pdf.tex b/macros/luatex/generic/minim-pdf/minim-pdf.tex index d8b06255ba..8a5f738063 100644 --- a/macros/luatex/generic/minim-pdf/minim-pdf.tex +++ b/macros/luatex/generic/minim-pdf/minim-pdf.tex @@ -167,8 +167,8 @@ \newcount\tagging:tablecolspan \tagging:tablecolspan 1 \newcount\tagging:tablerowspan \tagging:tablerowspan 1 \newcount\tagging:i -\def\tagging:TH{TH} -\def\tagging:TD{TD} +\def\tagging:TH{{TH}\markcolumnhead} +\def\tagging:TD{{TD}} % initialising variables \def\marktable{\startelement{Table}% \global\advance\tagging:tablec1 @@ -205,7 +205,7 @@ \def\marktablecell{% \global\advance\tagging:tablecol1 \continueelementfrom\tagging:row - \startelement{\tagging:cell}% + \expandafter\startelement\tagging:cell% \tagging:assignheaders} % spans @@ -301,13 +301,27 @@ \def\marktocentry#1#2#3#4#5{% \ifx\marktocentry#1\marktocentry \def\marktocentry:link##1{##1}\else - \def\marktocentry:link##1{\hyperlink dest{#1}##1\endlink}\fi + \def\marktocentry:link##1{\hyperlink + alt{\csname minim:str:page\endcsname#5} + dest{#1}##1\endlink}\fi \markelement{TOCI}{\nextpartag{}\quitvmode \ifx\marktocentry#2\marktocentry\else \markelement{Lbl}{\marktocentry:link{#2}}\fi \markelement{Reference}{\marktocentry:link{#3% \ifx\marktocentry#4\marktocentry\else \markartifact{Layout}{#4}\fi#5}}}} +\def\minim:str:page{Page } + +% \marknoteref {*} +\def\marknoteref#1{% + \startelement ref{\newdestinationname}{Reference}% + {\stopformulatagging#1}\stopelement{Reference}} +% \marknotelbl {*} +\def\marknotelbl#1{% + \startelement id{\lastdestinationname}{Note}% + \aftergroup\tagging:ensurestopNote + \markelement{Lbl}{{\stopformulatagging#1}}} +\def\tagging:ensurestopNote{\ensurestopelement{Note}} % 1 tagging formulas @@ -351,7 +365,7 @@ \def\formulasource:set#1{% \begingroup % strip \setalttext, \setactualtext - \def\setalttext#1{}\def\setactualtext#1{}% + \def\setalttext##1{}\def\setactualtext##1{}% \xdef\formulasource:thesource{#1}% \endgroup \expandafter\splitcommalist @@ -370,6 +384,7 @@ relation Source desc {Equation source} name {\formulafilename.tex} string {\tagging:formulasource{#1}}\fi} +\def\formulasource:none#1{} \newtoks\includeformulasources \includeformulasources{actualtext,attachment} @@ -390,17 +405,18 @@ \def\linkdest:h#1{\vadjust pre{\linkdest:v{#1}}} \def\linkdest:v#1{\pdfextension dest name {#1} xyz\nobreak} -% \hyperlink dest {name} ... \endlink -% \hyperlink url {url} ... \endlink +% \hyperlink <args> ... \endlink +% args: alt {...} attr {...} <type> +% type: dest {name} | url {url} | next | prev | first | last \protected\def\endlink{\pdfextension endlink\stopelement{Link}\relax} \protected\def\startlink{\startelement{Link}\pdfextension startlink} -\def\hyperlink#1#{\quitvmode\hyperlink:rmspace#1 \hyperlink:rmspace} -\def\hyperlink:rmspace#1 #2\hyperlink:rmspace{% - \startlink attr {\minim:linkattr}% - \csname hyperlink:#1\endcsname} -\def\hyperlink:dest#1{user {/Subtype/Link /F 4 /A <</S/GoTo /D (#1)>>}} -\def\hyperlink:url#1{user {/Subtype/Link /F 4 /A <</S/URI /URI (#1)>>}} -\def\minim:linkattr{/Border [0 0 0]} +\protected\def\hyperlink{\quitvmode\startlink\hyper:makelink} + +% \hyperlinkstyle { ... } +\def\minim:linkattr{\the\hyperlinkstyle\the\minim:pdfalinkattr} +\newtoks\hyperlinkstyle +\newtoks\minim:pdfalinkattr +\hyperlinkstyle{/Border [0 0 0]} % 1 languages @@ -449,9 +465,12 @@ \newcount \pdfaconformancelevel \pdfaconformancelevel = 0 +\newcount \pdfuaconformancelevel +\pdfuaconformancelevel = 0 % \pdfalevel 2b \def\pdfalevel#1#2{% + \minim:pdfalinkattr{ /F 4}% hyperlinks must be printed \global\pdfaconformancelevel=#1\relax \ifcsname minim:pdfa:#1#2\endcsname \lastnamedcs\else \errmessage{Unknown pdf/a standard pdf/a-#1}\fi} @@ -474,6 +493,12 @@ \expandafter\def\csname minim:pdfa:3b\endcsname{\minim:pdfasettings 7B3} \expandafter\def\csname minim:pdfa:3u\endcsname{\minim:pdfasettings 7U3} +% \pdfualavel 1 +\def\pdfualevel{\input minim-xmp + \setmetadata pdfuaid:part {1} + \tagging:enablepdfua + \global\pdfuaconformancelevel= } + % \catcode`\: = \minimpdfloaded |