summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/pdfmanagement-testphase
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/pdfmanagement-testphase')
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/CHANGELOG.md9
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/README.md2
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/color-ltx.sty2
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/hyperref-generic.dtx205
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/hyperref-generic.pdfbin948089 -> 952620 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/hyperxmp-patches-tmp-ltx.sty2
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3backend-testphase.dtx61
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3backend-testphase.pdfbin591169 -> 594274 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdfannot.dtx24
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdfannot.pdfbin577331 -> 578684 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdfdict.dtx4
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdfdict.pdfbin527111 -> 526994 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffield-action.dtx2
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffield-action.pdfbin547881 -> 547745 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffield-checkbox.dtx2
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffield-checkbox.pdfbin530911 -> 530763 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffield-choice.dtx2
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffield-choice.pdfbin534125 -> 533988 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffield-pushbutton.dtx2
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffield-pushbutton.pdfbin526311 -> 526155 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffield-radiobutton.dtx2
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffield-radiobutton.pdfbin576314 -> 576165 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffield-textfield.dtx2
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffield-textfield.pdfbin505534 -> 505392 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffield.dtx4
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffield.pdfbin739256 -> 739113 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffile.dtx4
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffile.pdfbin553330 -> 553221 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdfmanagement.dtx4
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdfmanagement.pdfbin673135 -> 672870 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdfmeta.dtx34
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdfmeta.pdfbin663896 -> 665368 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdftools.dtx4
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdftools.pdfbin518296 -> 518167 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdfxform.dtx4
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdfxform.pdfbin418329 -> 418232 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/ltdocinit.dtx13
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/ltdocinit.pdfbin536935 -> 537194 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/output-patches-tmp-ltx.dtx156
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/output-patches-tmp-ltx.pdfbin0 -> 384131 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/pdflscape-ltx.sty2
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-firstaid.dtx16
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-firstaid.pdfbin421483 -> 423095 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.dtx6
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.ins8
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.pdfbin446355 -> 446276 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/transparent-ltx.sty2
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/xcolor-patches-tmp-ltx.sty2
48 files changed, 471 insertions, 109 deletions
diff --git a/macros/latex/contrib/pdfmanagement-testphase/CHANGELOG.md b/macros/latex/contrib/pdfmanagement-testphase/CHANGELOG.md
index e9ff54953d..62ad8aee74 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/CHANGELOG.md
+++ b/macros/latex/contrib/pdfmanagement-testphase/CHANGELOG.md
@@ -5,6 +5,15 @@ first release 0.95a, 2021-02-23 will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
this project uses date-based 'snapshot' version identifiers.
+## [2021-08-28]
+### Changed
+ - colorscheme 'original' has been renamed to 'primary-colors'
+ - color key is overwritten to use l3color
+
+### Added
+ - preliminary support for standard A-2a and A-3a
+ - output patches to firstaid to support interruption of links
+ and tagging of paragraphs with page splits.
## [2021-07-31]
### Added
diff --git a/macros/latex/contrib/pdfmanagement-testphase/README.md b/macros/latex/contrib/pdfmanagement-testphase/README.md
index fd565a6ea6..a438100385 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/README.md
+++ b/macros/latex/contrib/pdfmanagement-testphase/README.md
@@ -1,6 +1,6 @@
# LaTeX PDF management testphase bundle
-Version: 0.95h, 2021-07-31
+Version: 0.95i, 2021-08-28
This package is used during a test phase to load the new PDF management code
of LaTeX.
diff --git a/macros/latex/contrib/pdfmanagement-testphase/color-ltx.sty b/macros/latex/contrib/pdfmanagement-testphase/color-ltx.sty
index fca7c1c3ac..94d5f5c395 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/color-ltx.sty
+++ b/macros/latex/contrib/pdfmanagement-testphase/color-ltx.sty
@@ -22,7 +22,7 @@
%% This file has the LPPL maintenance status "maintained".
%%
\NeedsTeXFormat{LaTeX2e}[1995/12/01]
-\ProvidesPackage{color-ltx}[2021-07-31 v0.95h
+\ProvidesPackage{color-ltx}[2021-08-28 v0.95i
Standard LaTeX Color (patched for l3color, part of pdfmanagement-testphase, original version 2021/03/07 v1.2e) (DPC)]
\edef\Gin@codes{%
\catcode`\noexpand\^^A\the\catcode`\^^A\relax
diff --git a/macros/latex/contrib/pdfmanagement-testphase/hyperref-generic.dtx b/macros/latex/contrib/pdfmanagement-testphase/hyperref-generic.dtx
index 4e0296c641..24f129b8ff 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/hyperref-generic.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/hyperref-generic.dtx
@@ -86,7 +86,7 @@
% }^^A
% }
%
-% \date{Version 0.95h, released 2021-07-31}
+% \date{Version 0.95i, released 2021-08-28}
%
% \maketitle
% \begin{documentation}
@@ -357,8 +357,12 @@
% Some main changes are
% \begin{itemize}
% \item The default colors have been changed.
-% \item |citecolor| is no longer set with |allcolors| and it is not part of the
-% color scheme, it is only supported for compability.
+% \item Citations have by default no special color, they are
+% colored like other internal links. You can use |citecolor| and |citebordercolor| to
+% assign them a special color. This color is not reset if you use |allcolors| or
+% switch to another color scheme. If you want the colors to follow |linkcolor| again
+% you should remove the label |hyp/cite| and/or |hyp/citeborder|
+% from the hook |hyp/link/cite|.
% \item a number of color schemes have been predefined.
% \end{itemize}
%
@@ -438,7 +442,7 @@
%
% The new key |colorscheme| allows to switch the colors (both for text and borders)
% with a key word. It takes one of the values
-% |orginal| (the colors as \pkg{hyperref} uses normally), |phelype|, |daleif|,
+% |primary-colors| (the colors as \pkg{hyperref} uses normally), |phelype|, |daleif|,
% |szabolcsA|, |szabolcsB|, |tivv|, |julian|, |henryford|.
%
% The names refer to the authors in answers and comments in
@@ -758,6 +762,34 @@
% \end{itemize}
% \end{itemize}
%
+% \subsection{Names of destinations}
+% hyperref creates two types of destination names: For numbered structures
+% (so when the anchor is set by \cs{refstepcounter}) it builds the name
+% from the counter name and the \cs{theH...} representation: |<counter name>.\theH<counter name>|.
+%
+% For unnumbered structures, e.g. starred chapters or anchors created with \cs{phantomsection}
+% it uses names like |section*.<number>| and |chapter*.<number>|.
+%
+% Typically the name of destination can be retrieved by setting a label, this works also
+% with unnumbered sections.
+% The anchor and also the page can be retrieve in an expandable way
+% with the help of commands from the
+% \pkg{refcount} package which is loaded by hyperref. For example with the
+% following commands it is possible to use the label to create a bookmark:
+%
+% \begin{verbatim}
+% \bookmark[dest=\getrefbykeydefault{label}{anchor}{Doc-Start}]{my bookmark}
+% \bookmark[dest=page.\getrefbykeydefault{label}{page}{Doc-Start}]{my bookmark}
+% \end{verbatim}
+%
+% If a \cs{HyperDestNameFilter} is defined, this must be added around the definition,
+% so actually the full code has to look like this
+% \begin{verbatim}
+% \bookmark[dest=
+% \HyperDestNameFilter{\getrefbykeydefault{label}{anchor}{Doc-Start}}]{mysection}
+% \end{verbatim}
+% To simplify this hyperref provides |\hyperget{anchor}{label}| and
+% |\hyperget{pageanchor}{label}|
%
%\section{Assorted key descriptions}\label{sec:keydesc}
%The following gives a few details to some keys that are perhaps not
@@ -910,6 +942,7 @@
%
%^^A %% \l_@@_dest_pdfview_tl
%^^A %% list of commands which probably will have to change
+%^^A TODO: move hrefurl, hrefrun, hrefpdf into hyperref. They should also work
% \end{documentation}
% \begin{implementation}
% \part{\pkg{hyperref-generic} driver implementation}
@@ -918,7 +951,7 @@
%<@@=hyp>
% \end{macrocode}
% \begin{macrocode}
-\ProvidesFile{hgeneric-testphase.def}[2021-07-31 v0.95h %
+\ProvidesFile{hgeneric-testphase.def}[2021-08-28 v0.95i %
generic Hyperref driver for the LaTeX PDF management testphase bundle]
\RequirePackage{etoolbox} %why?
@@ -1091,6 +1124,16 @@
No~value~is~equivalent~to~using~`true`.
}
% \end{macrocode}
+% A message for creator and producer which can't be removed.
+% \begin{macrocode}
+\msg_new:nnn
+ { hyp }
+ { empty-info-value }
+ {
+ Empty~value~for~key~#1.\\
+ This~isn't~honored~by~all~backends.
+ }
+% \end{macrocode}
% \section{Variants}
% \begin{macrocode}
\cs_generate_variant:Nn\pdf_destination:nn {nf}
@@ -1164,6 +1207,21 @@
}
}
% \end{macrocode}
+%
+% Hyperref creates a number of destinations automatically. E.g. in unnumbered
+% chapters and sections and with \cs{phantomsection}. The following key allows
+% to force a specific name for the destination so that it can be used by bookmarks.
+% \begin{macrocode}
+\keys_define:nn { hyp / setup }
+ {
+ next-anchor .code:n =
+ {
+ \AddToHookNext{__hyp/dest/make}
+ {\Hy@MakeCurrentHref{#1}}
+ }
+ }
+% \end{macrocode}
+%
% Allow non-ascii in href, and add more href versions.
% We add a few new keys:
% |urlencode| to force percent encoding (\cs{hrefurl}, \cs{href})
@@ -1179,13 +1237,13 @@
\tl_new:N \l_@@_href_pdf_destination_tl
\tl_new:N \l_@@_href_pdf_page_tl
\tl_new:N \l_@@_href_run_parameter_tl
-\cs_new_protected:Npn \@@_href_url_format {\begingroup\Url}
+\cs_new_protected:Npn \@@_href_url_format: {\begingroup\Url}
\keys_define:nn { hyp / href }
{
,urlencode .bool_set:N = \l_@@_href_url_encode_bool
- ,format .code:n = { \cs_set_eq:NN \@@_href_url_format #1 },
+ ,format .code:n = { \cs_set:Nn \@@_href_url_format: {#1} },
,protocol .tl_set:N = \l_@@_href_url_protocol_tl
,destination .tl_set:N = \l_@@_href_pdf_destination_tl
,pdfremotestartview .code:n =
@@ -1227,7 +1285,7 @@
,href / urlencode .initial:n = {false}
,href / protocol .tl_set:N = \l_@@_href_url_protocol_tl
,href / destination .tl_set:N = \l_@@_href_pdf_destination_tl
- ,href / format .code:n = { \cs_set_eq:NN \@@_href_url_format #1 }
+ ,href / format .code:n = { \cs_set:Nn \@@_href_url_format:{#1} }
}
\hook_new_pair:nn{cmd/href/before}{cmd/href/after}
@@ -1343,7 +1401,7 @@
\cs_new_protected:Npn \@@_href_url_aux:n #1
{
\exp_args:Nno
- \hyper@linkurl{\@@_href_url_format {#1}}
+ \hyper@linkurl{\@@_href_url_format: {#1}}
{\l_@@_href_url_protocol_tl#1}
\group_end:
\hook_use:n{cmd/url/after}
@@ -1386,22 +1444,37 @@
%
% \begin{macrocode}
\hook_new:n{hyp/link/cite}
-\color_set:nnn {hyp/color/cite}{HTML}{2E7E2A}
-\color_set:nn {hyp/color/citeborder}{hyp/color/cite!60!white}
+%\color_set:nnn {hyp/color/cite}{HTML}{2E7E2A}
+%\color_set:nn {hyp/color/citeborder}{hyp/color/cite!60!white}
\keys_define:nn { hyp / setup }
{
- ,citecolor .code:n = {\@@_color_set:ne {hyp/color/cite}{#1}}
+ ,citecolor .code:n = {\@@_color_set:ne {hyp/color/cite}{#1}\@@_citecolor_hook_init:}
,citebordercolor
- .code:n = {\@@_color_set:ne {hyp/color/citeborder}{#1}}
+ .code:n = {\@@_color_set:ne {hyp/color/citeborder}{#1}\@@_citebordercolor_hook_init:}
}
-\hook_gput_code:nnn { hyp/link/cite }{hyp/cite}
- {
- \keys_set:nn { hyp / setup }
- {
- ,linkbordercolor= hyp/color/citeborder
- ,linkcolor = hyp/color/cite
- }
+\cs_new_protected:Npn \@@_citecolor_hook_init:
+ {
+ \hook_gput_code:nnn { hyp/link/cite }{hyp/cite}
+ {
+ \keys_set:nn { hyp / setup }
+ {
+ linkcolor = hyp/color/cite
+ }
+ }
+ \cs_gset_eq:NN \@@_citecolor_hook_init: \prg_do_nothing:
}
+\cs_new_protected:Npn \@@_citebordercolor_hook_init:
+ {
+ \hook_gput_code:nnn { hyp/link/cite }{hyp/citeborder}
+ {
+ \keys_set:nn { hyp / setup }
+ {
+ linkbordercolor = hyp/color/citeborder
+ }
+ }
+ \cs_gset_eq:NN \@@_citebordercolor_hook_init: \prg_do_nothing:
+ }
+
% \end{macrocode}
% \section{Checks}
% The driver can not work properly if the pdfmanagement is not active,
@@ -1416,11 +1489,27 @@
{ \msg_error:nn { hyp}{ missing-resource-management } }
% \end{macrocode}
% Outlines/bookmarks require the bookmark package.
-% TODO check pdfpagemode if booksmarks are suppressed.
+% TODO check pdfpagemode if bookmarks are suppressed.
+% TODO We overwrite the color key here for now, but this should be moved to bookmark
+%
% \begin{macrocode}
+\AddToHook { package / after / bookmark}
+ {
+ \define@key{BKM}{color}
+ {
+ \__hyp_color_set:ne {__hyp/tmpa}{#1}
+ \color_export:nVN
+ {__hyp/tmpa}
+ \g__hyp_bordercolormodel_str
+ \BKM@color
+ }
+ }
\legacy_if:nT { Hy@bookmarks }
{
- \AddToHook{begindocument/before}[hyperref/bookmark]{\RequirePackage{bookmark}}
+ \AddToHook{begindocument/before}[hyperref/bookmark]
+ {
+ \RequirePackage{bookmark}
+ }
}
\legacy_if:nT {Hy@draft}
{
@@ -2332,43 +2421,17 @@
% \section{Link decorations}
% \subsection{Functions to export and select colors}
% We support two input syntax: color expressions and model with values.
-% \begin{function}{\@@_color_export:nnN}
-% \begin{syntax}
-% \cs{@@_color_export:nnN} \Arg{color} \Arg{export format} \meta{tlvar}
-% \end{syntax}
-% This exports a color as space separated numbers as needed in in |/C|.
-% \Arg{color} should have either the format |[model]{value}| or be a color expression.
-% For examples: |[rgb]{1,0,.5}| or |red!50!blue|. The export format is either
-% |space-sep-cmyk| or |space-sep-rgb|.
-% \end{function}
-% \begin{macro}{\@@_color_export:nnN,\@@_color_export_aux:wnnN}
-% Color keys need to parse color expressions. Two input types are supported:
-% |color=[rgb]{1,0,.5}| and |color=red!50!blue|. The colors are exported
-% to PDF syntax (space separated numbers).
+% Exporting can be done by first setting the color with \cs{@@_color_set:nn}
+% (if needed to a temporary color name)
+% and then using \cs{color_export:nnN}. But we need a variant as the export
+% format |space-sep-cmyk| or |space-sep-rgb| is stored in a tl.
% \begin{macrocode}
-\cs_new_protected:Npn \@@_color_export:nnN #1 #2 #3
- {
- \tl_if_head_eq_charcode:nNTF {#1}[ %]
- {
- \@@_color_export_aux:wnnN #1 {#2} #3
- }
- {
- \color_export:nnN {#1} {#2} #3
- }
- }
-
-\cs_new_protected:Npn \@@_color_export_aux:wnnN [#1] #2 #3 #4
- {
- \color_export:nnnN {#1}{#2}{#3}#4
- }
-
-\cs_generate_variant:Nn \@@_color_export:nnN {xVN}
+\cs_generate_variant:Nn \color_export:nnN {nVN}
% \end{macrocode}
-% \end{macro}
%
% \begin{function}{\@@_color_select:n}
% \begin{syntax}
-% \cs{@@_color_select:nN} \Arg{color} \\
+% \cs{@@_color_select:n} \Arg{color} \\
% \end{syntax}
% These commands select a (text) color.
% \Arg{color} should have either the format |[model]{value}| or be a color expression.
@@ -2400,7 +2463,7 @@
%
% \begin{function}{\@@_color_set:nn}
% \begin{syntax}
-% \cs{@@_color_set:nN} \Arg{ name } \Arg{color} \\
+% \cs{@@_color_set:nn} \Arg{ name } \Arg{color} \\
% \end{syntax}
% These commands store the color in \Arg{name}.
% \Arg{color} should have either the format |[model]{value}| or be a color expression.
@@ -2535,7 +2598,11 @@
{ C }
}
{
- \@@_color_export:xVN {##1}\g_@@_bordercolormodel_str \l_@@_tmpa_tl
+ \@@_color_set:ne {hyp/color/#1border}{##1}
+ \color_export:nVN
+ {hyp/color/#1border}
+ \g_@@_bordercolormodel_str
+ \l_@@_tmpa_tl
\pdfannot_dict_put:nnx
{link/#2}
{ C }
@@ -3763,7 +3830,8 @@
% \subsubsection{\enquote{info keys}}
% \begin{hypkey}{pdfauthor,pdftitle,pdfcreator,pdfsubject,pdfproducer,pdfkeywords}
% The keys store their value also in the metadate container, so that hyperxmp can
-% use them.
+% use them. Creator and Producer can't be removed with the pdfmanagement,
+% but we allow to set an empty value.
% \begin{macrocode}
\cs_new_protected:Npn \@@_setup_info_key:nn #1 #2
{
@@ -3773,7 +3841,22 @@
{
\tl_if_blank:nTF {##1}
{
- \pdfmanagement_remove:nn {Info}{#2}
+ \str_case:nnF { #1 }
+ {
+ {creator}
+ {
+ \msg_info:nnn { hyp }{ empty-info-value } { pdfcreator }
+ \pdfmanagement_add:nnx {Info}{Creator}{()}
+ }
+ {producer}
+ {
+ \msg_info:nnn { hyp }{ empty-info-value } { pdfproducer }
+ \pdfmanagement_add:nnx {Info}{Producer}{()}
+ }
+ }
+ {
+ \pdfmanagement_remove:nn {Info}{#2}
+ }
}
{
\@@_text_pdfstring_info:nN {##1}\l_@@_tmpa_str
@@ -3838,7 +3921,7 @@
\pdfmanagement_remove:nn {Info}{#2}
}
{
- \pdfmanagement_add:nnx {Info}{#2}{(\tl_to_str:n {##1})}
+ \pdfmanagement_add:nnx {Info}{#2}{(##1)}
}
\@@_store_metadata:nn {pdf#1}{##1}
}
@@ -3852,7 +3935,7 @@
\pdfmanagement_remove:nn {Info}{#2}
}
{
- \pdfmanagement_add:nnx {Info}{#2}{(\tl_to_str:n {##1})}
+ \pdfmanagement_add:nnx {Info}{#2}{(##1)}
}
\exp_args:Nx \@@_store_metadata:nn {pdf\str_lowercase:n{#1}}{##1}
}
@@ -5312,7 +5395,7 @@
%,menubordercolor=
%,runbordercolor=
-\prop_const_from_keyval:Nn \c_@@_colorscheme_original_prop
+\prop_const_from_keyval:cn { c_@@_colorscheme_primary-colors_prop }
{
linkcolor = [rgb]{1,0,0}, %red
filecolor = [rgb]{0,1,1}, %cyan
diff --git a/macros/latex/contrib/pdfmanagement-testphase/hyperref-generic.pdf b/macros/latex/contrib/pdfmanagement-testphase/hyperref-generic.pdf
index 1ec46ba75c..8066c863d6 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/hyperref-generic.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/hyperref-generic.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/hyperxmp-patches-tmp-ltx.sty b/macros/latex/contrib/pdfmanagement-testphase/hyperxmp-patches-tmp-ltx.sty
index f948928f94..56e9dd45db 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/hyperxmp-patches-tmp-ltx.sty
+++ b/macros/latex/contrib/pdfmanagement-testphase/hyperxmp-patches-tmp-ltx.sty
@@ -19,7 +19,7 @@
%
% for those people who are interested.
\NeedsTeXFormat{LaTeX2e}[2020/10/01]
-\ProvidesExplPackage{hyperxmp-patches-tmp-ltx}{2021-07-31}{0.95h}
+\ProvidesExplPackage{hyperxmp-patches-tmp-ltx}{2021-08-28}{0.95i}
{Store hyperref metadata in XMP format / temporay patches to test pdfresource management ... UF}
\cs_if_exist:NT \pdfmanagement_add:nnn
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3backend-testphase.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3backend-testphase.dtx
index 0102b1c574..7c902d8b92 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3backend-testphase.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3backend-testphase.dtx
@@ -45,7 +45,7 @@
% }^^A
% }
%
-% \date{Version 0.95h, released 2021-07-31}
+% \date{Version 0.95i, released 2021-08-28}
%
% \maketitle
%
@@ -56,27 +56,27 @@
% \begin{macrocode}
%<drivers>\ProvidesExplFile
%<*dvipdfmx>
- {l3backend-testphase-dvipdfmx.def}{2021-07-31}{}
+ {l3backend-testphase-dvipdfmx.def}{2021-08-28}{}
{LaTeX~PDF~management~testphase~bundle~backend~support: dvipdfmx}
%</dvipdfmx>
%<*dvips>
- {l3backend-testphase-dvips.def}{2021-07-31}{}
+ {l3backend-testphase-dvips.def}{2021-08-28}{}
{LaTeX~PDF~management~testphase~bundle~backend~support: dvips}
%</dvips>
%<*dvisvgm>
- {l3backend-testphase-dvisvgm.def}{2021-07-31}{}
+ {l3backend-testphase-dvisvgm.def}{2021-08-28}{}
{LaTeX~PDF~management~testphase~bundle~backend~support: dvisvgm}
%</dvisvgm>
%<*luatex>
- {l3backend-testphase-luatex.def}{2021-07-31}{}
+ {l3backend-testphase-luatex.def}{2021-08-28}{}
{LaTeX~PDF~management~testphase~bundle~backend~support: PDF output (LuaTeX)}
%</luatex>
%<*pdftex>
- {l3backend-testphase-pdftex.def}{2021-07-31}{}
+ {l3backend-testphase-pdftex.def}{2021-08-28}{}
{LaTeX~PDF~management~testphase~bundle~backend~support: PDF output (pdfTeX)}
%</pdftex>
%<*xdvipdfmx>
- {l3backend-testphase-xetex.def}{2021-07-31}{}
+ {l3backend-testphase-xetex.def}{2021-08-28}{}
{LaTeX~PDF~management~testphase~bundle~backend~support: XeTeX}
%</xdvipdfmx>
% \end{macrocode}
@@ -1153,6 +1153,53 @@
%</dvisvgm>
% \end{macrocode}
% \end{macro}
+% \subsubsection{Additional annotation commands}
+% Starting with texlive 2021 pdftex and luatex offer commands to interrupt
+% a link. That can for example be used to exclude the header and footer from
+% the link. We add here backend support for this.
+% \begin{macrocode}
+%<*drivers>
+\cs_new_protected:Npn \@@_backend_link_off:{}
+\cs_new_protected:Npn \@@_backend_link_on: {}
+%</drivers>
+%<*pdftex>
+\cs_if_exist:NT \pdfrunninglinkoff
+ {
+ \cs_set_protected:Npn \@@_backend_link_off:
+ {
+ \pdfrunninglinkoff
+ }
+ \cs_set_protected:Npn \@@_backend_link_on:
+ {
+ \pdfrunninglinkon
+ }
+ }
+%</pdftex>
+%<*luatex>
+\int_compare:nNnT {\tex_luatexversion:D } > {112}
+ {
+ \cs_set_protected:Npn \@@_backend_link_off:
+ {
+ \pdfextension linkstate 1
+ }
+ \cs_set_protected:Npn \@@_backend_link_on:
+ {
+ \pdfextension linkstate 0
+ }
+ }
+%</luatex>
+%<*dvipdfmx|xdvipdfmx>
+ \cs_set_protected:Npn \@@_backend_link_off:
+ {
+ \@@_backend:n { nolink }
+ }
+ \cs_set_protected:Npn \@@_backend_link_on:
+ {
+ \@@_backend:n { link }
+ }
+%</dvipdfmx|xdvipdfmx>
+% \end{macrocode}
+%
% \subsubsection{Form XObject / backend }
% \begin{macro}{ \@@_backend_xform_new:nnnn }
% \begin{arguments}
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3backend-testphase.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3backend-testphase.pdf
index 9addd760c8..cf05f338c0 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3backend-testphase.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3backend-testphase.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdfannot.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3pdfannot.dtx
index 8bd41b49c8..03df126efd 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdfannot.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdfannot.dtx
@@ -52,7 +52,7 @@
% }^^A
% }
%
-% \date{Version 0.95h, released 2021-07-31}
+% \date{Version 0.95i, released 2021-08-28}
%
% \maketitle
% \begin{documentation}
@@ -336,6 +336,18 @@
% \end{syntax}
% This sets the dimension of the link margin.
% \end{function}
+%
+% \begin{function}[added=2021-08-19]{\pdfannot_link_off:,\pdfannot_link_on:}
+% In most engines links can broken over lines and pages. The backends then create
+% intermediate link objects to catch all the content between the start and end of
+% the links, mostly based on some heuristics using the boxlevel. This can
+% lead to the unpleasant result that header and footer are part of the link too.
+% Since texlive 2021 pdflatex and lualatex has commands similar to a special already
+% included in dvipdfmx which allows to interrupt a link. The commands must be used
+% with care: typically they must be outside a box that would be catched by link to
+% have the wanted effect.
+%
+% \end{function}
% \begin{function}[added = 2020-12-04]{ \pdfannot_dict_put:nnn }
% \begin{syntax}
% \cs{pdfannot_dict_put:nnn} \Arg{dictionary name} \Arg{key} \Arg{value}
@@ -424,7 +436,7 @@
% \begin{macrocode}
%<@@=pdfannot>
%<*header>
-\ProvidesExplPackage{l3pdfannot}{2021-07-31}{0.95h}
+\ProvidesExplPackage{l3pdfannot}{2021-08-28}{0.95i}
{PDF-annotations}
\RequirePackage{l3pdfdict}
%</header>
@@ -600,6 +612,14 @@
}
% \end{macrocode}
% \end{variable}
+%
+% \subsection{Interruption of links}
+% \begin{macrocode}
+\cs_new_protected:Nn \pdfannot_link_off: { \__pdf_backend_link_off: }
+\cs_new_protected:Nn \pdfannot_link_on: { \__pdf_backend_link_on: }
+% \end{macrocode}
+%
+%
% \subsubsection{Annotations, subtype Link /management}
%
% \begin{macro}{\pdfannot_link:nnn,\pdfannot_link:nxn}
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdfannot.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdfannot.pdf
index d2924f459a..bb8974469c 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdfannot.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdfannot.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdfdict.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3pdfdict.dtx
index e80d6097cb..354d9a8654 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdfdict.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdfdict.dtx
@@ -53,7 +53,7 @@
% }^^A
% }
%
-% \date{Version 0.95h, released 2021-07-31}
+% \date{Version 0.95i, released 2021-08-28}
%
% \maketitle
% \begin{documentation}
@@ -212,7 +212,7 @@
% \begin{macrocode}
%<@@=pdfdict>
%<*header>
-\ProvidesExplPackage{l3pdfdict}{2021-07-31}{0.95h}
+\ProvidesExplPackage{l3pdfdict}{2021-08-28}{0.95i}
{Tools for PDF dictionaries (LaTeX PDF management testphase bundle)}
%</header>
% \end{macrocode}
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdfdict.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdfdict.pdf
index b548db0e6a..864ec52bd8 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdfdict.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdfdict.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-action.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-action.dtx
index 77bf53bd85..85852e8cd5 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-action.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-action.dtx
@@ -53,7 +53,7 @@
% }^^A
% }
%
-% \date{Version 0.95h, released 2021-07-31}
+% \date{Version 0.95i, released 2021-08-28}
%
% \maketitle
% \begin{documentation}
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-action.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-action.pdf
index 8ca1a9bf06..d44f2aaa3d 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-action.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-action.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-checkbox.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-checkbox.dtx
index a1386fcc08..11d1c869df 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-checkbox.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-checkbox.dtx
@@ -68,7 +68,7 @@
% }^^A
% }
%
-% \date{Version 0.95h, released 2021-07-31}
+% \date{Version 0.95i, released 2021-08-28}
%
% \maketitle
% \begin{documentation}
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-checkbox.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-checkbox.pdf
index 6733f3ea39..6268527c46 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-checkbox.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-checkbox.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-choice.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-choice.dtx
index de162d3ab7..81047dfe3d 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-choice.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-choice.dtx
@@ -53,7 +53,7 @@
% }^^A
% }
%
-% \date{Version 0.95h, released 2021-07-31}
+% \date{Version 0.95i, released 2021-08-28}
%
% \maketitle
% \begin{documentation}
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-choice.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-choice.pdf
index 93a763cc9c..146f100385 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-choice.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-choice.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-pushbutton.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-pushbutton.dtx
index 02889ec5e3..0045b14ba6 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-pushbutton.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-pushbutton.dtx
@@ -59,7 +59,7 @@
% }^^A
% }
%
-% \date{Version 0.95h, released 2021-07-31}
+% \date{Version 0.95i, released 2021-08-28}
%
% \maketitle
% \begin{documentation}
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-pushbutton.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-pushbutton.pdf
index 5397bcb5e3..867145ba5a 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-pushbutton.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-pushbutton.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-radiobutton.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-radiobutton.dtx
index b25b7ead14..45f6a3527f 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-radiobutton.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-radiobutton.dtx
@@ -87,7 +87,7 @@
% }^^A
% }
%
-% \date{Version 0.95h, released 2021-07-31}
+% \date{Version 0.95i, released 2021-08-28}
%
% \maketitle
% \begin{documentation}
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-radiobutton.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-radiobutton.pdf
index 045af32e84..2c04b5a2b8 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-radiobutton.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-radiobutton.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-textfield.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-textfield.dtx
index 1289d54de9..792b7df7ad 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-textfield.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-textfield.dtx
@@ -53,7 +53,7 @@
% }^^A
% }
%
-% \date{Version 0.95h, released 2021-07-31}
+% \date{Version 0.95i, released 2021-08-28}
%
% \maketitle
% \begin{documentation}
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-textfield.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-textfield.pdf
index 1bacb22920..a3eedc92dc 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-textfield.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-textfield.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield.dtx
index 5a1d17809e..d7b2b40424 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield.dtx
@@ -73,7 +73,7 @@
% }^^A
% }
%
-% \date{Version 0.95h, released 2021-07-31}
+% \date{Version 0.95i, released 2021-08-28}
%
% \maketitle
% \begin{documentation}
@@ -970,7 +970,7 @@
%<*package>
%<@@=pdffield>
\NeedsTeXFormat{LaTeX2e}
-\ProvidesExplPackage{l3pdffield-testphase}{2021-07-31}{0.95h}%
+\ProvidesExplPackage{l3pdffield-testphase}{2021-08-28}{0.95i}%
{form fields}
% \end{macrocode}
% \subsection{hyperref specific command}
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield.pdf
index c271631238..addd600158 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffile.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3pdffile.dtx
index 56e927b41d..46426e01a2 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffile.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffile.dtx
@@ -53,7 +53,7 @@
% }^^A
% }
%
-% \date{Version 0.95h, released 2021-07-31}
+% \date{Version 0.95i, released 2021-08-28}
%
% \maketitle
% \begin{documentation}
@@ -400,7 +400,7 @@
%
% \begin{macrocode}
%<*header>
-\ProvidesExplPackage{l3pdffile}{2021-07-31}{0.95h}
+\ProvidesExplPackage{l3pdffile}{2021-08-28}{0.95i}
{embedding and referencing files in PDF---LaTeX PDF management testphase bundle}
\RequirePackage{l3pdftools} %temporarly!!
%</header>
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffile.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdffile.pdf
index 37cad7dd54..68e65183e4 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffile.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffile.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdfmanagement.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3pdfmanagement.dtx
index c3de57b74c..7cb4bf4eeb 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdfmanagement.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdfmanagement.dtx
@@ -61,7 +61,7 @@
% }^^A
% }
%
-% \date{Version 0.95h, released 2021-07-31}
+% \date{Version 0.95i, released 2021-08-28}
%
% \maketitle
% \begin{documentation}
@@ -622,7 +622,7 @@
%<@@=pdfmanagement>
%<*header>
%
-\ProvidesExplPackage{l3pdfmanagement}{2021-07-31}{0.95h}
+\ProvidesExplPackage{l3pdfmanagement}{2021-08-28}{0.95i}
{Management of core PDF dictionaries (LaTeX PDF management testphase bundle)}
%</header>
% \end{macrocode}
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdfmanagement.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdfmanagement.pdf
index 5e1cb6535c..3c21347de4 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdfmanagement.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdfmanagement.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdfmeta.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3pdfmeta.dtx
index 3ca574f02a..0b83ac71ff 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdfmeta.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdfmeta.dtx
@@ -53,7 +53,7 @@
% }^^A
% }
%
-% \date{Version 0.95h, released 2021-07-31}
+% \date{Version 0.95i, released 2021-08-28}
%
% \maketitle
% \begin{documentation}
@@ -223,6 +223,8 @@
% \item[|unicode|] that is set in the U-standards, A-2u and A-3u and means that
% every text should be in unicode. This is not something that can be enforced or
% tested from TeX, but in a current LaTeX normally ToUnicode are set for all fonts.
+% \item[|tagged|] that is set in A-2a and A-3a and means that the pdf must be
+% tagged. This is currently neither tested not enforced somewhere.
% \end{description}
%
% \subsubsection{Tests with values and special handlers}
@@ -343,7 +345,7 @@
% \begin{macrocode}
%<@@=pdfmeta>
%<*header>
-\ProvidesExplPackage{l3pdfmeta}{2021-07-31}{0.95h}
+\ProvidesExplPackage{l3pdfmeta}{2021-08-28}{0.95i}
{PDF-Standards---LaTeX PDF management testphase bundle}
%</header>
% \end{macrocode}
@@ -515,8 +517,10 @@
% be found in info/pdfstandard.tex.
% \begin{variable}{
% \g_@@_standard_pdf/A-1B_prop ,
+% \g_@@_standard_pdf/A-2A_prop ,
% \g_@@_standard_pdf/A-2B_prop ,
% \g_@@_standard_pdf/A-2U_prop ,
+% \g_@@_standard_pdf/A-3A_prop ,
% \g_@@_standard_pdf/A-3B_prop ,
% \g_@@_standard_pdf/A-3U_prop ,
% }
@@ -606,6 +610,19 @@
\prop_gput:cnn
{ g_@@_standard_pdf/A-2U_prop }{unicode}{}
+%A-2a ==============
+\prop_new:c { g_@@_standard_pdf/A-2A_prop }
+\prop_gset_eq:cc
+ { g_@@_standard_pdf/A-2A_prop }
+ { g_@@_standard_pdf/A-2B_prop }
+\prop_gput:cnn
+ { g_@@_standard_pdf/A-2A_prop }{name}{pdf/A-2A}
+\prop_gput:cnn
+ { g_@@_standard_pdf/A-2A_prop }{conformance}{A}
+\prop_gput:cnn
+ { g_@@_standard_pdf/A-2A_prop }{tagged}{}
+
+
%A-3b ==============
\prop_new:c { g_@@_standard_pdf/A-3B_prop }
\prop_gset_eq:cc
@@ -621,7 +638,6 @@
\prop_gremove:cn
{ g_@@_standard_pdf/A-3B_prop }
{ embed_content}
-
%A-3u ==============
\prop_new:c { g_@@_standard_pdf/A-3U_prop }
\prop_gset_eq:cc
@@ -633,6 +649,18 @@
{ g_@@_standard_pdf/A-3U_prop }{conformance}{U}
\prop_gput:cnn
{ g_@@_standard_pdf/A-3U_prop }{unicode}{}
+
+%A-3a ==============
+\prop_new:c { g_@@_standard_pdf/A-3A_prop }
+\prop_gset_eq:cc
+ { g_@@_standard_pdf/A-3A_prop }
+ { g_@@_standard_pdf/A-3B_prop }
+\prop_gput:cnn
+ { g_@@_standard_pdf/A-3A_prop }{name}{pdf/A-3A}
+\prop_gput:cnn
+ { g_@@_standard_pdf/A-3A_prop }{conformance}{A}
+\prop_gput:cnn
+ { g_@@_standard_pdf/A-3A_prop }{tagged}{}
% \end{macrocode}
% \end{variable}
%
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdfmeta.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdfmeta.pdf
index d85623dae6..6466964faf 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdfmeta.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdfmeta.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdftools.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3pdftools.dtx
index efed778e78..4b35e21e17 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdftools.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdftools.dtx
@@ -53,7 +53,7 @@
% }^^A
% }
%
-% \date{Version 0.95h, released 2021-07-31}
+% \date{Version 0.95i, released 2021-08-28}
%
% \maketitle
% \begin{documentation}
@@ -215,7 +215,7 @@
%
% \begin{macrocode}
%<*header>
-\ProvidesExplPackage{l3pdftools}{2021-07-31}{0.95h}
+\ProvidesExplPackage{l3pdftools}{2021-08-28}{0.95i}
{candidate commands for l3pdf---LaTeX PDF management testphase bundle}
%</header>
% \end{macrocode}
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdftools.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdftools.pdf
index ee977c642c..d9f94b94ae 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdftools.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdftools.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdfxform.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3pdfxform.dtx
index 0591756bf0..86ecfccb45 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdfxform.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdfxform.dtx
@@ -52,7 +52,7 @@
% }^^A
% }
%
-% \date{Version 0.95h, released 2021-07-31}
+% \date{Version 0.95i, released 2021-08-28}
%
% \maketitle
% \begin{documentation}
@@ -136,7 +136,7 @@
% \begin{macrocode}
%<@@=pdf>
%<*header>
-\ProvidesExplPackage{l3pdfxform}{2021-07-31}{0.95h}
+\ProvidesExplPackage{l3pdfxform}{2021-08-28}{0.95i}
{command to create xforms (beta)---LaTeX PDF management testphase bundle}
%</header>
% \end{macrocode}
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdfxform.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdfxform.pdf
index 59336ced8e..2046decacb 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdfxform.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdfxform.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/ltdocinit.dtx b/macros/latex/contrib/pdfmanagement-testphase/ltdocinit.dtx
index 4e7eecc1ab..9af1a938eb 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/ltdocinit.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/ltdocinit.dtx
@@ -51,7 +51,7 @@
% }^^A
% }
%
-% \date{Version 0.95h, released 2021-07-31}
+% \date{Version 0.95i, released 2021-08-28}
%
% \maketitle
% \begin{documentation}
@@ -103,12 +103,13 @@
% \item[\texttt{lang}] to set the Lang entry in the Catalog.
% E.g. \texttt{lang=de-DE}. The initial value is |en-US|
% \item[\texttt{pdfstandard}] Choice key to set the pdf standard.
-% Currently |A-1b|, |A-2b|, |A-2u|, |A-3b| and |A-3u| are accepted as
+% Currently |A-1b|, |A-2a|, |A-2b|, |A-2u|, |A-3a|, |A-3b| and |A-3u| are accepted as
% values. The casing is irrelevant, |a-1b| works too.
% The underlying code to ensure the requirements (as far as they
% can be ensured) is incomplete, but a color profile is included and the
% /OutputIntent is set. The |u| variants for example do not force unicode,
-% but they will pass the information to hyperref and hyperxmp.
+% but they will pass the information to hyperref and hyperxmp. The |a| variants
+% do \emph{not} enforce (or even test) a tagged pdf yet.
% More information can be found in the documentation
% of \pkg{l3pdfmeta}.
% \item[\texttt{colorprofiles}] This allows to load icc-colorprofiles. Details
@@ -182,7 +183,7 @@
% \begin{macrocode}
%<@@=pdfmanagement>
%<*header>
-\ProvidesExplPackage{ltdocinit}{2021-07-31}{0.95h}
+\ProvidesExplPackage{ltdocinit}{2021-08-28}{0.95i}
{Initialize document metadata}
%</header>
% \end{macrocode}
@@ -253,7 +254,7 @@
% Load more modules, the testphase code and the firstaid code.
% \begin{macrocode}
\g_@@_testphase_tl
- \RequirePackage{pdfmanagement-firstaid}
+ \RequirePackage{pdfmanagement-firstaid}
}
}
% \end{macrocode}
@@ -355,7 +356,7 @@
\keys_set:nn {document / metadata} {_pdfstandard=\str_uppercase:n{#1}}
}
,_pdfstandard .choices:nn =
- {A-1B,A-2B,A-2U,A-3B,A-3U}
+ {A-1B,A-2A,A-2B,A-2U,A-3A,A-3B,A-3U}
{
\prop_if_exist:cT { g__pdfmeta_standard_pdf/#1_prop }
{
diff --git a/macros/latex/contrib/pdfmanagement-testphase/ltdocinit.pdf b/macros/latex/contrib/pdfmanagement-testphase/ltdocinit.pdf
index 4d155d2c4c..1bc3aa262d 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/ltdocinit.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/ltdocinit.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/output-patches-tmp-ltx.dtx b/macros/latex/contrib/pdfmanagement-testphase/output-patches-tmp-ltx.dtx
new file mode 100644
index 0000000000..7b67c520b3
--- /dev/null
+++ b/macros/latex/contrib/pdfmanagement-testphase/output-patches-tmp-ltx.dtx
@@ -0,0 +1,156 @@
+% \iffalse meta-comment
+%
+%% File: output-patches.dtx (C) Copyright 2020-2021 Frank Mittelbach
+%
+% It may be distributed and/or modified under the conditions of the
+% LaTeX Project Public License (LPPL), either version 1.3c of this
+% license or (at your option) any later version. The latest version
+% of this license is in the file
+%
+% https://www.latex-project.org/lppl.txt
+%
+%<*driver>
+\documentclass{l3doc}
+
+\EnableCrossrefs
+\CodelineIndex
+\begin{document}
+ \DocInput{output-patches-tmp-ltx.dtx}
+\end{document}
+%</driver>
+%
+% \fi
+%
+% \providecommand\hook[1]{\texttt{#1}}
+%
+%
+%
+% \title{Temporary output patches for tagging and better link support}
+% \author{Frank Mittelbach \and Ulrike Fischer}
+%
+% \maketitle
+%
+% \section{Introduction}
+%
+% This package contains a few patches of internal \LaTeX{} needed
+% to support paragraph tagging across
+% page boundaries (in \pdfTeX) and improve the behaviour of links across page breaks.
+%
+% Until this get properly integrated with the kernel code this has
+% to be taken as a prototype and code, interfaces as well as
+% behavior may change without notice and certainly without any
+% backwards compatibility!
+%
+%
+% \StopEventually{\setlength\IndexMin{200pt} \PrintIndex }
+%
+%
+% \section{The Implementation}
+% \begin{macrocode}
+%<*package>
+% \end{macrocode}
+%
+% \begin{macrocode}
+\ProvidesPackage{output-patches-tmp-ltx}
+ [2021-08-20 v0.95 Temporary patches of output commands]
+\RequirePackage{etoolbox}
+% \end{macrocode}
+%
+%
+% \subsection{Patching the OR}
+% This add hooks around header and footer.
+% At first initialize the hooks
+% \begin{macrocode}
+\newcommand\@kernel@before@head{}
+\newcommand\@kernel@before@foot{}
+\newcommand\@kernel@after@head{}
+\newcommand\@kernel@after@foot{}
+\newcommand\@kernel@before@footins{}
+\newcommand\@kernel@before@cclv{}
+\newcommand\@mult@ptagging@hook{}
+% \end{macrocode}
+%
+% \begin{macrocode}
+
+\patchcmd\@outputpage
+ {\vfil\color@hbox\normalcolor\hb@xt@\textwidth{\@thehead}\color@endbox}
+ {\vfil\@kernel@before@head\color@hbox\normalcolor\hb@xt@\textwidth{\@thehead}\color@endbox\@kernel@after@head}
+ {\typeout{Patching header in \string\@outputpage}}{\PATCHerror }
+
+
+\patchcmd\@outputpage
+ {\color@hbox\normalcolor\hb@xt@\textwidth{\@thefoot}\color@endbox}
+ {\@kernel@before@foot\color@hbox\normalcolor\hb@xt@\textwidth{\@thefoot}\color@endbox\@kernel@after@foot}
+ {\typeout{Patching footer in \string\@outputpage}}{\PATCHerror }
+% \end{macrocode}
+%
+% \begin{macro}{\@makecol}
+% We have to patch \cs{@makecol} in two places:
+% \begin{itemize}
+% \item
+% update 255 up front to add missing tmb/tme if necessary
+% \item
+% update the \cs{footins} stream if that one got split
+% \end{itemize}
+% \begin{macrocode}
+
+\patchcmd\@makecol
+ {\vskip\skip\footins}
+ {\vskip\skip\footins\@kernel@before@footins}
+ {\typeout{Patching \string\@makecol\space for tagging}}{\PATCHerror }
+
+% for some reason patching with etoolbox only works in this order ...
+
+\pretocmd\@makecol{\@kernel@before@cclv}
+ {\typeout{Patching \string\@makecol\space for tagging}}{\PATCHerror }
+% \end{macrocode}
+% \end{macro}
+%
+% \subsection{\pkg{multicol} adjustments}
+%
+% The patches for pkg{multicol} are fairly minimal:
+% \begin{itemize}
+% \item At the start of the environment anything already on the
+% page is picked up and stored in \cs{partial@page}, we may need to add
+% a TMB to that (it should have a proper TME). This has to happen
+% in the \enquote{main} stream context.
+% \item
+% \item
+% \end{itemize}
+%
+% \begin{macrocode}
+\AddToHook{package/after/multicol}{% multicol needs later loading
+% \end{macrocode}
+%
+% \begin{macrocode}
+ \patchcmd\page@sofar
+ {\setbox\z@\hbox{p}\global\dimen\tw@\dp\z@}%
+ {%
+ \setbox\z@\hbox{p}\global\dimen\tw@\dp\z@
+ \@mult@ptagging@hook
+ }%
+ {\typeout{Patching \string\page@sofar\space for tagging}}{\PATCHerror}%
+}
+% \end{macrocode}
+%
+% \subsection{Interrupt hooks}
+% This requires the l3pdfannot module!
+% We add the code here an not in hyperref, as it should also work with links
+% created directly with the l3pdfannot commands. The file is only
+% loaded by the pdfmanagement, so no need to test if the commands exist.
+% \begin{macrocode}
+\ExplSyntaxOn
+\def\@kernel@before@head{\pdfannot_link_off:}
+\def\@kernel@before@foot{\pdfannot_link_off:}
+\def\@kernel@after@head {\pdfannot_link_on:}
+\def\@kernel@after@foot {\pdfannot_link_on:}
+\ExplSyntaxOff
+% \end{macrocode}
+%
+% \begin{macrocode}
+\endinput
+%</package>
+% \end{macrocode}
+%
+% \Finale
+%
diff --git a/macros/latex/contrib/pdfmanagement-testphase/output-patches-tmp-ltx.pdf b/macros/latex/contrib/pdfmanagement-testphase/output-patches-tmp-ltx.pdf
new file mode 100644
index 0000000000..30d2a68ced
--- /dev/null
+++ b/macros/latex/contrib/pdfmanagement-testphase/output-patches-tmp-ltx.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/pdflscape-ltx.sty b/macros/latex/contrib/pdfmanagement-testphase/pdflscape-ltx.sty
index fdfe7b4279..b7a12f5545 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/pdflscape-ltx.sty
+++ b/macros/latex/contrib/pdfmanagement-testphase/pdflscape-ltx.sty
@@ -22,7 +22,7 @@
%% This work consists of the main source file pdflscape-ltx.sty
%%
\NeedsTeXFormat{LaTeX2e}
-\ProvidesExplPackage{pdflscape-ltx}{2021-07-31}{0.95h}
+\ProvidesExplPackage{pdflscape-ltx}{2021-08-28}{0.95i}
{Display of landscape pages in PDF - adaption of pdflscape to the PDFmanagement bundle (testphase)}
\DeclareOption*{\PassOptionsToPackage\CurrentOption{graphics}}
diff --git a/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-firstaid.dtx b/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-firstaid.dtx
index 1295c4b6bf..65f3f7cfa4 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-firstaid.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-firstaid.dtx
@@ -51,7 +51,7 @@
% }^^A
% }
%
-% \date{Version 0.95h, released 2021-07-31}
+% \date{Version 0.95i, released 2021-08-28}
%
% \maketitle
% \begin{documentation}
@@ -67,11 +67,11 @@
% |firstaidoff={name1,name2,...}|.
% \begin{macrocode}
%<*package>
-\ProvidesExplPackage{pdfmanagement-firstaid}{2021-07-31}{0.95h}
+\ProvidesExplPackage{pdfmanagement-firstaid}{2021-08-28}{0.95i}
{LaTeX PDF management testphase bundle / firstaid-patches}
%<@@=pdfmanagement>
-\clist_map_inline:nn {pgf,transparent,hyperxmp,pdflscape,xcolor,color,beamer}
+\clist_map_inline:nn {pgf,transparent,hyperxmp,pdflscape,xcolor,color,beamer,output}
{
\bool_new:c { g_@@_firstaid_#1_bool }
\bool_gset_true:c { g_@@_firstaid_#1_bool }
@@ -86,6 +86,16 @@
\msg_new:nnn { pdfmanagement } { firstaid }
{ loading~pdfmanagement~firstaid~code~for~#1 }
% \end{macrocode}
+% \subsection{Output routine}
+% This load as few patches for the LaTeX output routine commands. They add
+% hooks for the interruption of links and for paragraph tagging.
+% \begin{macrocode}
+\bool_if:NT \g_@@_firstaid_output_bool
+ {
+ \RequirePackage{output-patches-tmp-ltx}
+ }
+% \end{macrocode}
+
% \subsection{\pkg{beamer}}
% \pkg{beamer} makes use of the now unsupported syntax |linkbordercolor={.5 .5 .5}|.
% To avoid an error we define this color as a name.
diff --git a/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-firstaid.pdf b/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-firstaid.pdf
index 5206d4027b..7f601e819e 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-firstaid.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-firstaid.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.dtx b/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.dtx
index 37dc11f65b..313f2d326e 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.dtx
@@ -51,7 +51,7 @@
% }^^A
% }
%
-% \date{Version 0.95h, released 2021-07-31}
+% \date{Version 0.95i, released 2021-08-28}
%
% \maketitle
% \begin{documentation}
@@ -384,7 +384,7 @@
% \begin{macrocode}
%<@@=pdf>
%<*package>
-\ProvidesExplPackage{pdfmanagement-testphase}{2021-07-31}{0.95h}
+\ProvidesExplPackage{pdfmanagement-testphase}{2021-08-28}{0.95i}
{LaTeX PDF management testphase bundle}
\providecommand\IfFormatAtLeastTF{\@ifl@t@r\fmtversion}
\IfFormatAtLeastTF{2020-10-01}{}{
@@ -411,7 +411,7 @@
% to allow to set it in the document.
% \begin{macrocode}
%<*header>
-\ProvidesExplFile{pdfmanagement-testphase.ltx}{2021-07-31}{0.95h}
+\ProvidesExplFile{pdfmanagement-testphase.ltx}{2021-08-28}{0.95i}
{PDF~management~code~(testphase)}
%</header>
%<*package>
diff --git a/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.ins b/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.ins
index e6ab7caa43..5f0656d898 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.ins
+++ b/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.ins
@@ -215,6 +215,14 @@ and all files in that bundle must be distributed together.
}
}
+\generate
+ {
+ \file {output-patches-tmp-ltx.sty}
+ {
+ \from{output-patches-tmp-ltx.dtx}{package}
+ }
+ }
+
\def\MetaPrefix{-- }
\def\defaultpostamble{%
\MetaPrefix^^J%
diff --git a/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.pdf b/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.pdf
index 64f1d65c19..32ea161de1 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/transparent-ltx.sty b/macros/latex/contrib/pdfmanagement-testphase/transparent-ltx.sty
index e7cf7c36e5..61235bc846 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/transparent-ltx.sty
+++ b/macros/latex/contrib/pdfmanagement-testphase/transparent-ltx.sty
@@ -3,7 +3,7 @@
%% a replacement for transparent sty from Heiko Oberdiek
%%
\NeedsTeXFormat{LaTeX2e}[2020/10/01]
-\ProvidesExplPackage{transparent-ltx}{2021-07-31}{0.95h}
+\ProvidesExplPackage{transparent-ltx}{2021-08-28}{0.95i}
{Transparency with color stacks (replacement for transparent.sty from Heiko Oberdiek)}%
\RequirePackage{l3opacity}
diff --git a/macros/latex/contrib/pdfmanagement-testphase/xcolor-patches-tmp-ltx.sty b/macros/latex/contrib/pdfmanagement-testphase/xcolor-patches-tmp-ltx.sty
index 12c87fdd33..45cd4413cf 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/xcolor-patches-tmp-ltx.sty
+++ b/macros/latex/contrib/pdfmanagement-testphase/xcolor-patches-tmp-ltx.sty
@@ -1,6 +1,6 @@
%% LaTeX2e file `xcolor-patches.sty'
%%
-\ProvidesPackage{xcolor-patches-tmp-ltx}[2021-07-31 v0.95h patch xcolor for l3color]
+\ProvidesPackage{xcolor-patches-tmp-ltx}[2021-08-28 v0.95i patch xcolor for l3color]
\@ifundefined{color_set:nn}{\RequirePackage{l3color}}{}
\ExplSyntaxOn