summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/pdfmanagement-testphase
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2021-08-28 20:41:07 +0000
committerKarl Berry <karl@freefriends.org>2021-08-28 20:41:07 +0000
commit4e5cb02ecfe62152cf68ce69e36e2a158b35ccfc (patch)
treea81694566089728dfd65cfae2fb6a48d481aa647 /Master/texmf-dist/source/latex/pdfmanagement-testphase
parent56f77dc75ccfc9a5d94cfea3ded898085d13a262 (diff)
pdfmanagement-testphase (28aug21)
git-svn-id: svn://tug.org/texlive/trunk@60347 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/pdfmanagement-testphase')
-rw-r--r--Master/texmf-dist/source/latex/pdfmanagement-testphase/hyperref-generic.dtx205
-rw-r--r--Master/texmf-dist/source/latex/pdfmanagement-testphase/l3backend-testphase.dtx61
-rw-r--r--Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdfannot.dtx24
-rw-r--r--Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdfdict.dtx4
-rw-r--r--Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdffield-action.dtx2
-rw-r--r--Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdffield-checkbox.dtx2
-rw-r--r--Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdffield-choice.dtx2
-rw-r--r--Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdffield-pushbutton.dtx2
-rw-r--r--Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdffield-radiobutton.dtx2
-rw-r--r--Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdffield-textfield.dtx2
-rw-r--r--Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdffield.dtx4
-rw-r--r--Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdffile.dtx4
-rw-r--r--Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdfmanagement.dtx4
-rw-r--r--Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdfmeta.dtx34
-rw-r--r--Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdftools.dtx4
-rw-r--r--Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdfxform.dtx4
-rw-r--r--Master/texmf-dist/source/latex/pdfmanagement-testphase/ltdocinit.dtx13
-rw-r--r--Master/texmf-dist/source/latex/pdfmanagement-testphase/output-patches-tmp-ltx.dtx156
-rw-r--r--Master/texmf-dist/source/latex/pdfmanagement-testphase/pdfmanagement-firstaid.dtx16
-rw-r--r--Master/texmf-dist/source/latex/pdfmanagement-testphase/pdfmanagement-testphase.dtx6
-rw-r--r--Master/texmf-dist/source/latex/pdfmanagement-testphase/pdfmanagement-testphase.ins8
21 files changed, 456 insertions, 103 deletions
diff --git a/Master/texmf-dist/source/latex/pdfmanagement-testphase/hyperref-generic.dtx b/Master/texmf-dist/source/latex/pdfmanagement-testphase/hyperref-generic.dtx
index 4e0296c641c..24f129b8ff3 100644
--- a/Master/texmf-dist/source/latex/pdfmanagement-testphase/hyperref-generic.dtx
+++ b/Master/texmf-dist/source/latex/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/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3backend-testphase.dtx b/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3backend-testphase.dtx
index 0102b1c5742..7c902d8b92f 100644
--- a/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3backend-testphase.dtx
+++ b/Master/texmf-dist/source/latex/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/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdfannot.dtx b/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdfannot.dtx
index 8bd41b49c8d..03df126efd5 100644
--- a/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdfannot.dtx
+++ b/Master/texmf-dist/source/latex/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/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdfdict.dtx b/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdfdict.dtx
index e80d6097cbb..354d9a86543 100644
--- a/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdfdict.dtx
+++ b/Master/texmf-dist/source/latex/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/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdffield-action.dtx b/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdffield-action.dtx
index 77bf53bd856..85852e8cd56 100644
--- a/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdffield-action.dtx
+++ b/Master/texmf-dist/source/latex/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/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdffield-checkbox.dtx b/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdffield-checkbox.dtx
index a1386fcc086..11d1c869df2 100644
--- a/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdffield-checkbox.dtx
+++ b/Master/texmf-dist/source/latex/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/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdffield-choice.dtx b/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdffield-choice.dtx
index de162d3ab7f..81047dfe3d9 100644
--- a/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdffield-choice.dtx
+++ b/Master/texmf-dist/source/latex/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/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdffield-pushbutton.dtx b/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdffield-pushbutton.dtx
index 02889ec5e3e..0045b14ba60 100644
--- a/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdffield-pushbutton.dtx
+++ b/Master/texmf-dist/source/latex/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/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdffield-radiobutton.dtx b/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdffield-radiobutton.dtx
index b25b7ead14d..45f6a3527fe 100644
--- a/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdffield-radiobutton.dtx
+++ b/Master/texmf-dist/source/latex/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/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdffield-textfield.dtx b/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdffield-textfield.dtx
index 1289d54de9e..792b7df7ad1 100644
--- a/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdffield-textfield.dtx
+++ b/Master/texmf-dist/source/latex/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/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdffield.dtx b/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdffield.dtx
index 5a1d17809ec..d7b2b40424c 100644
--- a/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdffield.dtx
+++ b/Master/texmf-dist/source/latex/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/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdffile.dtx b/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdffile.dtx
index 56e927b41df..46426e01a2f 100644
--- a/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdffile.dtx
+++ b/Master/texmf-dist/source/latex/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/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdfmanagement.dtx b/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdfmanagement.dtx
index c3de57b74c5..7cb4bf4eeb9 100644
--- a/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdfmanagement.dtx
+++ b/Master/texmf-dist/source/latex/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/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdfmeta.dtx b/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdfmeta.dtx
index 3ca574f02ad..0b83ac71ffd 100644
--- a/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdfmeta.dtx
+++ b/Master/texmf-dist/source/latex/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/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdftools.dtx b/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdftools.dtx
index efed778e785..4b35e21e179 100644
--- a/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdftools.dtx
+++ b/Master/texmf-dist/source/latex/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/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdfxform.dtx b/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdfxform.dtx
index 0591756bf0f..86ecfccb45b 100644
--- a/Master/texmf-dist/source/latex/pdfmanagement-testphase/l3pdfxform.dtx
+++ b/Master/texmf-dist/source/latex/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/Master/texmf-dist/source/latex/pdfmanagement-testphase/ltdocinit.dtx b/Master/texmf-dist/source/latex/pdfmanagement-testphase/ltdocinit.dtx
index 4e7eecc1abf..9af1a938ebe 100644
--- a/Master/texmf-dist/source/latex/pdfmanagement-testphase/ltdocinit.dtx
+++ b/Master/texmf-dist/source/latex/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/Master/texmf-dist/source/latex/pdfmanagement-testphase/output-patches-tmp-ltx.dtx b/Master/texmf-dist/source/latex/pdfmanagement-testphase/output-patches-tmp-ltx.dtx
new file mode 100644
index 00000000000..7b67c520b39
--- /dev/null
+++ b/Master/texmf-dist/source/latex/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/Master/texmf-dist/source/latex/pdfmanagement-testphase/pdfmanagement-firstaid.dtx b/Master/texmf-dist/source/latex/pdfmanagement-testphase/pdfmanagement-firstaid.dtx
index 1295c4b6bf3..65f3f7cfa47 100644
--- a/Master/texmf-dist/source/latex/pdfmanagement-testphase/pdfmanagement-firstaid.dtx
+++ b/Master/texmf-dist/source/latex/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/Master/texmf-dist/source/latex/pdfmanagement-testphase/pdfmanagement-testphase.dtx b/Master/texmf-dist/source/latex/pdfmanagement-testphase/pdfmanagement-testphase.dtx
index 37dc11f65b1..313f2d326ed 100644
--- a/Master/texmf-dist/source/latex/pdfmanagement-testphase/pdfmanagement-testphase.dtx
+++ b/Master/texmf-dist/source/latex/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/Master/texmf-dist/source/latex/pdfmanagement-testphase/pdfmanagement-testphase.ins b/Master/texmf-dist/source/latex/pdfmanagement-testphase/pdfmanagement-testphase.ins
index e6ab7caa43d..5f0656d8980 100644
--- a/Master/texmf-dist/source/latex/pdfmanagement-testphase/pdfmanagement-testphase.ins
+++ b/Master/texmf-dist/source/latex/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%