summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2022-01-13 21:05:04 +0000
committerKarl Berry <karl@freefriends.org>2022-01-13 21:05:04 +0000
commit031d7dac6f41c0c635cb8e8fa08cf794a1cc80c1 (patch)
tree16758e614639acf9cd63d4db4f4a618ffe99e853 /Master/texmf-dist/tex/latex
parentd34f367554fea0310b29e2b530b4b1939e21b92b (diff)
pdfmanagement-testphase (13jan22)
git-svn-id: svn://tug.org/texlive/trunk@61599 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex')
-rw-r--r--Master/texmf-dist/tex/latex/pdfmanagement-testphase/color-ltx.sty2
-rw-r--r--Master/texmf-dist/tex/latex/pdfmanagement-testphase/hgeneric-testphase.def39
-rw-r--r--Master/texmf-dist/tex/latex/pdfmanagement-testphase/hyperref-colorschemes.def1
-rw-r--r--Master/texmf-dist/tex/latex/pdfmanagement-testphase/hyperxmp-patches-tmp-ltx.sty14
-rw-r--r--Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase-dvipdfmx.def111
-rw-r--r--Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase-dvips.def12
-rw-r--r--Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase-dvisvgm.def12
-rw-r--r--Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase-luatex.def79
-rw-r--r--Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase-pdftex.def81
-rw-r--r--Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase-xetex.def111
-rw-r--r--Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3pdffield-testphase.sty2
-rw-r--r--Master/texmf-dist/tex/latex/pdfmanagement-testphase/output-patches-tmp-ltx.sty3
-rw-r--r--Master/texmf-dist/tex/latex/pdfmanagement-testphase/pdflscape-ltx.sty2
-rw-r--r--Master/texmf-dist/tex/latex/pdfmanagement-testphase/pdfmanagement-firstaid.sty16
-rw-r--r--Master/texmf-dist/tex/latex/pdfmanagement-testphase/pdfmanagement-testphase.ltx349
-rw-r--r--Master/texmf-dist/tex/latex/pdfmanagement-testphase/pdfmanagement-testphase.sty3
-rw-r--r--Master/texmf-dist/tex/latex/pdfmanagement-testphase/transparent-ltx.sty2
-rw-r--r--Master/texmf-dist/tex/latex/pdfmanagement-testphase/xcolor-patches-tmp-ltx.sty2
18 files changed, 652 insertions, 189 deletions
diff --git a/Master/texmf-dist/tex/latex/pdfmanagement-testphase/color-ltx.sty b/Master/texmf-dist/tex/latex/pdfmanagement-testphase/color-ltx.sty
index 94d5f5c395b..9ea89b54e13 100644
--- a/Master/texmf-dist/tex/latex/pdfmanagement-testphase/color-ltx.sty
+++ b/Master/texmf-dist/tex/latex/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-08-28 v0.95i
+\ProvidesPackage{color-ltx}[2022-01-13 v0.95j
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/Master/texmf-dist/tex/latex/pdfmanagement-testphase/hgeneric-testphase.def b/Master/texmf-dist/tex/latex/pdfmanagement-testphase/hgeneric-testphase.def
index bb3bc091051..c14036e6a64 100644
--- a/Master/texmf-dist/tex/latex/pdfmanagement-testphase/hgeneric-testphase.def
+++ b/Master/texmf-dist/tex/latex/pdfmanagement-testphase/hgeneric-testphase.def
@@ -19,7 +19,8 @@
%% and all files in that bundle must be distributed together.
%%
%% File: hyperref-generic.dtx
-\ProvidesFile{hgeneric-testphase.def}[2021-08-28 v0.95i %
+
+\ProvidesFile{hgeneric-testphase.def}[2022-01-13 v0.95j %
generic Hyperref driver for the LaTeX PDF management testphase bundle]
\RequirePackage{etoolbox} %why?
@@ -28,28 +29,42 @@
\ExplSyntaxOff
\ExplSyntaxOn
\prop_gput:Nnn \g_msg_module_name_prop { hyp }{ hyperref }
-\msg_new:nnnn
- { hyp }
- { missing-resource-management }
- { The~PDF~resource~management~is~required~for~this~hyperref~driver! }
+\cs_if_exist:NTF \DocumentMetadata
{
- Activate~it~with \\
- \tl_to_str:n{\RequirePackage{pdfmanagement-testphase}}\\
- \tl_to_str:n{\DeclareDocumentMetadata{<options>}}\\
- before~\tl_to_str:n{\documentclass}
+ \msg_new:nnnn
+ { hyp }
+ { missing-resource-management }
+ { The~PDF~resource~management~is~required~for~this~hyperref~driver! }
+ {
+ Activate~it~with \\
+ \tl_to_str:n{\DocumentMetadata{<options>}}\\
+ before~\tl_to_str:n{\documentclass}
+ }
}
+ {
+ \msg_new:nnnn
+ { hyp }
+ { missing-resource-management }
+ { The~PDF~resource~management~is~required~for~this~hyperref~driver! }
+ {
+ Activate~it~with \\
+ \tl_to_str:n{\RequirePackage{pdfmanagement-testphase}}\\
+ \tl_to_str:n{\DocumentMetadata{<options>}}\\
+ before~\tl_to_str:n{\documentclass}
+ }
+ }
\msg_new:nnnn
{ hyp }
{ pdfversion-disabled }
{
This~hyperref~driver~ignores~the~pdfversion~key!\\
- Set~the~pdfversion~in~\token_to_str:N \DeclareDocumentMetadata
+ Set~the~pdfversion~in~\token_to_str:N \DocumentMetadata
}
{
For example:\\
\tl_to_str:n
{
- \DeclareDocumentMetadata { pdfversion=1.7 }
+ \DocumentMetadata { pdfversion=1.7 }
}
}
\msg_new:nnn
@@ -422,7 +437,7 @@
\bool_lazy_and:nnF
{ \cs_if_exist_p:N \pdfmanagement_if_active_p: }{ \pdfmanagement_if_active_p: }
{ \msg_error:nn { hyp}{ missing-resource-management } }
-\AddToHook { package / after / bookmark}
+\AddToHook { package/bookmark/after}
{
\define@key{BKM}{color}
{
diff --git a/Master/texmf-dist/tex/latex/pdfmanagement-testphase/hyperref-colorschemes.def b/Master/texmf-dist/tex/latex/pdfmanagement-testphase/hyperref-colorschemes.def
index 58afa2345a1..29a3982e647 100644
--- a/Master/texmf-dist/tex/latex/pdfmanagement-testphase/hyperref-colorschemes.def
+++ b/Master/texmf-dist/tex/latex/pdfmanagement-testphase/hyperref-colorschemes.def
@@ -20,6 +20,7 @@
%%
%% File: hyperref-generic.dtx
+
\prop_const_from_keyval:cn { c__hyp_colorscheme_primary-colors_prop }
{
linkcolor = [rgb]{1,0,0}, %red
diff --git a/Master/texmf-dist/tex/latex/pdfmanagement-testphase/hyperxmp-patches-tmp-ltx.sty b/Master/texmf-dist/tex/latex/pdfmanagement-testphase/hyperxmp-patches-tmp-ltx.sty
index 56e9dd45dbb..a1bc3caddb7 100644
--- a/Master/texmf-dist/tex/latex/pdfmanagement-testphase/hyperxmp-patches-tmp-ltx.sty
+++ b/Master/texmf-dist/tex/latex/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-08-28}{0.95i}
+\ProvidesExplPackage{hyperxmp-patches-tmp-ltx}{2022-01-13}{0.95j}
{Store hyperref metadata in XMP format / temporay patches to test pdfresource management ... UF}
\cs_if_exist:NT \pdfmanagement_add:nnn
@@ -124,6 +124,9 @@
\exp_args:NNe
\pdfstringdef\@pdftitle{\GetDocumentProperties{hyperref/pdftitle}}
\cs_set_eq:NN\hyxmp@pdftitle\@pdftitle
+ \exp_args:NNe
+ \pdfstringdef\@pdfcopyright{\GetDocumentProperties{hyperref/pdfcopyright}}
+ \cs_set_eq:NN\hyxmp@pdfcopyright\@pdfcopyright
% pdflang,
\tl_if_exist:cF{@pdflang}{\tl_new:c{@pdflang}}
\tl_set:cx {@pdflang}{\GetDocumentProperties{document/lang}}
@@ -131,8 +134,15 @@
% we need to provide a few commands so that hyperxmp stops to overwrite them
% in \AtEndPreamble
+% we need also add it to the document properties to avoid stray commas
+% with empty author.
\AddToHook{begindocument/before}[pdfmanagement/firstaid/hyperxmp]{%
- \def\@pdfauthor{Author}\def\@pdftitle {Title}}
+ \def\@pdfauthor{Author}\def\@pdftitle {Title}%
+ \tl_if_blank:eT{\GetDocumentProperties{hyperref/pdfauthor}}
+ {\AddToDocumentProperties[hyperref]{pdfauthor}{Author}}
+ \tl_if_blank:eT{\GetDocumentProperties{hyperref/pdftitle}}
+ {\AddToDocumentProperties[hyperref]{pdfauthor}{Title}}
+ }
\DeclareHookRule{begindocument/before}{pdfmanagement/firstaid/hyperxmp}{before}{hyperxmp}
diff --git a/Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase-dvipdfmx.def b/Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase-dvipdfmx.def
index f9fab64a87e..45754cdcb5c 100644
--- a/Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase-dvipdfmx.def
+++ b/Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase-dvipdfmx.def
@@ -20,7 +20,7 @@
%%
%% File: l3backend-testphase.dtx
\ProvidesExplFile
- {l3backend-testphase-dvipdfmx.def}{2021-08-28}{}
+ {l3backend-testphase-dvipdfmx.def}{2022-01-13}{}
{LaTeX~PDF~management~testphase~bundle~backend~support: dvipdfmx}
\RequirePackage{l3ref-tmp}
\cs_generate_variant:Nn \ref_label:nn {en}
@@ -351,6 +351,115 @@
}
\prg_new_eq_conditional:NNn \pdfxform_if_exist:n\__pdf_backend_xform_if_exist:n
{ TF , T , F , p }
+\tl_new:N \l_pdf_current_structure_destination_tl
+\cs_new_protected:Npn \pdf_activate_structure_destination:
+ {
+ \cs_gset_eq:NN \__pdf_backend_destination:nn \__pdf_backend_structure_destination:nn
+ \cs_gset_eq:NN \__pdf_backend_destination:nnnn \__pdf_backend_structure_destination:nnnn
+ \cs_gset_eq:NN \__pdf_backend_link_begin_goto:nnw \__pdf_backend_link_begin_structure_goto:nnw
+ }
+\cs_set_eq:NN \__pdf_backend_structure_destination:nn \__pdf_backend_destination:nn
+\cs_set_eq:NN \__pdf_backend_structure_destination:nnnn \__pdf_backend_destination:nnnn
+\cs_set_eq:NN \__pdf_backend_link_begin_structure_goto:nnw \__pdf_backend_link_begin_goto:nnw
+\cs_set_protected:Npn \__pdf_backend_structure_destination:nn #1#2
+ {
+ \__pdf_backend:x
+ {
+ dest ~ ( \exp_not:n {#1} )
+ [
+ @thispage
+ \str_case:nnF {#2}
+ {
+ { xyz } { /XYZ ~ @xpos ~ @ypos ~ null }
+ { fit } { /Fit }
+ { fitb } { /FitB }
+ { fitbh } { /FitBH }
+ { fitbv } { /FitBV ~ @xpos }
+ { fith } { /FitH ~ @ypos }
+ { fitv } { /FitV ~ @xpos }
+ { fitr } { /Fit }
+ }
+ { /XYZ ~ @xpos ~ @ypos ~ \fp_eval:n { (#2) / 100 } }
+ ]
+ }
+ \exp_args:Ne \pdf_object_if_exist:nT { \l_pdf_current_structure_destination_tl }
+ {
+ \__pdf_backend:x
+ {
+ obj ~ @pdf.SDest.\exp_not:n{#1}
+ [
+ \exp_args:Ne \pdf_object_ref:n { \l_pdf_current_structure_destination_tl }
+ \str_case:nnF {#2}
+ {
+ { xyz } { /XYZ ~ @xpos ~ @ypos ~ null }
+ { fit } { /Fit }
+ { fitb } { /FitB }
+ { fitbh } { /FitBH }
+ { fitbv } { /FitBV ~ @xpos }
+ { fith } { /FitH ~ @ypos }
+ { fitv } { /FitV ~ @xpos }
+ { fitr } { /Fit }
+ }
+ { /XYZ ~ @xpos ~ @ypos ~ \fp_eval:n { (#2) / 100 } }
+ ]
+ }
+ }
+ }
+\cs_new_protected:Npn \__pdf_backend_structure_destination_aux:nnnn #1#2#3#4
+ {
+ \vbox_to_zero:n
+ {
+ \__kernel_kern:n {#4}
+ \hbox:n
+ {
+ \__pdf_backend:n { obj ~ @pdf_ #2 _llx ~ @xpos }
+ \__pdf_backend:n { obj ~ @pdf_ #2 _lly ~ @ypos }
+ }
+ \tex_vss:D
+ }
+ \__kernel_kern:n {#1}
+ \vbox_to_zero:n
+ {
+ \__kernel_kern:n { -#3 }
+ \hbox:n
+ {
+ \__pdf_backend:n
+ {
+ dest ~ (#2)
+ [
+ @thispage
+ /FitR ~
+ @pdf_ #2 _llx ~ @pdf_ #2 _lly ~
+ @xpos ~ @ypos
+ ]
+ }
+ \exp_args:Ne \pdf_object_if_exist:nT { \l_pdf_current_structure_destination_tl }
+ {
+ \__pdf_backend:x
+ {
+ obj ~ @pdf.SDest.\exp_not:n{#2}
+ [
+ \exp_args:Ne \pdf_object_ref:n { \l_pdf_current_structure_destination_tl }
+ /FitR ~
+ @pdf_ #2 _llx ~ @pdf_ #2 _lly ~
+ @xpos ~ @ypos
+ ]
+ }
+ }
+ }
+ \tex_vss:D
+ }
+ \__kernel_kern:n { -#1 }
+ }
+\cs_set_protected:Npn \__pdf_backend_structure_destination:nnnn #1#2#3#4
+ {
+ \exp_args:Ne \__pdf_backend_structure_destination_aux:nnnn
+ { \dim_eval:n {#2} } {#1} {#3} {#4}
+ }
+\cs_set_protected:Npn \__pdf_backend_link_begin_structure_goto:nnw #1#2
+ {
+ \__pdf_backend_link_begin:n { #1 /Subtype /Link /A << /S /GoTo /D ( #2 ) /SD~@pdf.SDest.#2 >> }
+ }
%%
%%
%% End of file `l3backend-testphase-dvipdfmx.def'.
diff --git a/Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase-dvips.def b/Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase-dvips.def
index d7cda8f1d0c..85dce6a1431 100644
--- a/Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase-dvips.def
+++ b/Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase-dvips.def
@@ -20,7 +20,7 @@
%%
%% File: l3backend-testphase.dtx
\ProvidesExplFile
- {l3backend-testphase-dvips.def}{2021-08-28}{}
+ {l3backend-testphase-dvips.def}{2022-01-13}{}
{LaTeX~PDF~management~testphase~bundle~backend~support: dvips}
\RequirePackage{l3ref-tmp}
\cs_generate_variant:Nn \ref_label:nn {en}
@@ -261,6 +261,16 @@
}
\prg_new_eq_conditional:NNn \pdfxform_if_exist:n\__pdf_backend_xform_if_exist:n
{ TF , T , F , p }
+\tl_new:N \l_pdf_current_structure_destination_tl
+\cs_new_protected:Npn \pdf_activate_structure_destination:
+ {
+ \cs_gset_eq:NN \__pdf_backend_destination:nn \__pdf_backend_structure_destination:nn
+ \cs_gset_eq:NN \__pdf_backend_destination:nnnn \__pdf_backend_structure_destination:nnnn
+ \cs_gset_eq:NN \__pdf_backend_link_begin_goto:nnw \__pdf_backend_link_begin_structure_goto:nnw
+ }
+\cs_set_eq:NN \__pdf_backend_structure_destination:nn \__pdf_backend_destination:nn
+\cs_set_eq:NN \__pdf_backend_structure_destination:nnnn \__pdf_backend_destination:nnnn
+\cs_set_eq:NN \__pdf_backend_link_begin_structure_goto:nnw \__pdf_backend_link_begin_goto:nnw
%%
%%
%% End of file `l3backend-testphase-dvips.def'.
diff --git a/Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase-dvisvgm.def b/Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase-dvisvgm.def
index a524fb272e2..a2f70adf247 100644
--- a/Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase-dvisvgm.def
+++ b/Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase-dvisvgm.def
@@ -20,7 +20,7 @@
%%
%% File: l3backend-testphase.dtx
\ProvidesExplFile
- {l3backend-testphase-dvisvgm.def}{2021-08-28}{}
+ {l3backend-testphase-dvisvgm.def}{2022-01-13}{}
{LaTeX~PDF~management~testphase~bundle~backend~support: dvisvgm}
\RequirePackage{l3ref-tmp}
\cs_generate_variant:Nn \ref_label:nn {en}
@@ -130,6 +130,16 @@
}
\prg_new_eq_conditional:NNn \pdfxform_if_exist:n\__pdf_backend_xform_if_exist:n
{ TF , T , F , p }
+\tl_new:N \l_pdf_current_structure_destination_tl
+\cs_new_protected:Npn \pdf_activate_structure_destination:
+ {
+ \cs_gset_eq:NN \__pdf_backend_destination:nn \__pdf_backend_structure_destination:nn
+ \cs_gset_eq:NN \__pdf_backend_destination:nnnn \__pdf_backend_structure_destination:nnnn
+ \cs_gset_eq:NN \__pdf_backend_link_begin_goto:nnw \__pdf_backend_link_begin_structure_goto:nnw
+ }
+\cs_set_eq:NN \__pdf_backend_structure_destination:nn \__pdf_backend_destination:nn
+\cs_set_eq:NN \__pdf_backend_structure_destination:nnnn \__pdf_backend_destination:nnnn
+\cs_set_eq:NN \__pdf_backend_link_begin_structure_goto:nnw \__pdf_backend_link_begin_goto:nnw
%%
%%
%% End of file `l3backend-testphase-dvisvgm.def'.
diff --git a/Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase-luatex.def b/Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase-luatex.def
index 8cd58a0adcd..6ac246c9e27 100644
--- a/Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase-luatex.def
+++ b/Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase-luatex.def
@@ -20,7 +20,7 @@
%%
%% File: l3backend-testphase.dtx
\ProvidesExplFile
- {l3backend-testphase-luatex.def}{2021-08-28}{}
+ {l3backend-testphase-luatex.def}{2022-01-13}{}
{LaTeX~PDF~management~testphase~bundle~backend~support: PDF output (LuaTeX)}
\RequirePackage{l3ref-tmp}
\cs_generate_variant:Nn \ref_label:nn {en}
@@ -364,6 +364,83 @@
}
\prg_new_eq_conditional:NNn \pdfxform_if_exist:n\__pdf_backend_xform_if_exist:n
{ TF , T , F , p }
+\tl_new:N \l_pdf_current_structure_destination_tl
+\cs_new_protected:Npn \pdf_activate_structure_destination:
+ {
+ \cs_gset_eq:NN \__pdf_backend_destination:nn \__pdf_backend_structure_destination:nn
+ \cs_gset_eq:NN \__pdf_backend_destination:nnnn \__pdf_backend_structure_destination:nnnn
+ \cs_gset_eq:NN \__pdf_backend_link_begin_goto:nnw \__pdf_backend_link_begin_structure_goto:nnw
+ }
+\cs_set_eq:NN \__pdf_backend_structure_destination:nn \__pdf_backend_destination:nn
+\cs_set_eq:NN \__pdf_backend_structure_destination:nnnn \__pdf_backend_destination:nnnn
+\cs_set_eq:NN \__pdf_backend_link_begin_structure_goto:nnw \__pdf_backend_link_begin_goto:nnw
+ \int_compare:nNnT {\directlua{tex.print(status.list()["development_id"])} } > {7468}
+ {
+ \cs_set_protected:Npn \__pdf_backend_structure_destination:nn #1#2
+ {
+ \tex_pdfextension:D dest
+ name {#1}
+ \str_case:nnF {#2}
+ {
+ { xyz } { xyz }
+ { fit } { fit }
+ { fitb } { fitb }
+ { fitbh } { fitbh }
+ { fitbv } { fitbv }
+ { fith } { fith }
+ { fitv } { fitv }
+ { fitr } { fitr }
+ }
+ { xyz ~ zoom \fp_eval:n { #2 * 10 } }
+ \scan_stop:
+ \exp_args:Ne \pdf_object_if_exist:nT { \l_pdf_current_structure_destination_tl }
+ {
+ \tex_pdfextension:D dest
+ struct~
+ \int_use:c
+ { c__pdf_backend_object_ \exp_args:Ne \tl_to_str:n {\l_pdf_current_structure_destination_tl} _int }~
+ name {#1}
+ \str_case:nnF {#2}
+ {
+ { xyz } { xyz }
+ { fit } { fit }
+ { fitb } { fitb }
+ { fitbh } { fitbh }
+ { fitbv } { fitbv }
+ { fith } { fith }
+ { fitv } { fitv }
+ { fitr } { fitr }
+ }
+ { xyz ~ zoom \fp_eval:n { #2 * 10 } }
+ \scan_stop:
+ }
+ }
+ \cs_set_protected:Npn \__pdf_backend_destination:nnnn #1#2#3#4
+ {
+ \tex_pdfextension:D dest
+ name {#1}
+ fitr ~
+ width \dim_eval:n {#2} ~
+ height \dim_eval:n {#3} ~
+ depth \dim_eval:n {#4} \scan_stop:
+ \exp_args:Ne \pdf_object_if_exist:nT { \l_pdf_current_structure_destination_tl }
+ {
+ \tex_pdfextension:D dest
+ struct~
+ \int_use:c
+ { c__pdf_backend_object_ \exp_args:Ne \tl_to_str:n {\l_pdf_current_structure_destination_tl} _int }~
+ name {#1}
+ fitr ~
+ width \dim_eval:n {#2} ~
+ height \dim_eval:n {#3} ~
+ depth \dim_eval:n {#4} \scan_stop:
+ }
+ }
+ \cs_set_protected:Npn \__pdf_backend_link_begin_structure_goto:nnw #1#2
+ {
+ \__pdf_backend_link_begin:nnnw {#1} { goto~struct~name~{#2}~name } {#2}
+ }
+ }
%%
%%
%% End of file `l3backend-testphase-luatex.def'.
diff --git a/Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase-pdftex.def b/Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase-pdftex.def
index 6b628e3e512..0188aa55b8a 100644
--- a/Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase-pdftex.def
+++ b/Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase-pdftex.def
@@ -20,7 +20,7 @@
%%
%% File: l3backend-testphase.dtx
\ProvidesExplFile
- {l3backend-testphase-pdftex.def}{2021-08-28}{}
+ {l3backend-testphase-pdftex.def}{2022-01-13}{}
{LaTeX~PDF~management~testphase~bundle~backend~support: PDF output (pdfTeX)}
\RequirePackage{l3ref-tmp}
\cs_generate_variant:Nn \ref_label:nn {en}
@@ -383,6 +383,85 @@
}
\prg_new_eq_conditional:NNn \pdfxform_if_exist:n\__pdf_backend_xform_if_exist:n
{ TF , T , F , p }
+\tl_new:N \l_pdf_current_structure_destination_tl
+\cs_new_protected:Npn \pdf_activate_structure_destination:
+ {
+ \cs_gset_eq:NN \__pdf_backend_destination:nn \__pdf_backend_structure_destination:nn
+ \cs_gset_eq:NN \__pdf_backend_destination:nnnn \__pdf_backend_structure_destination:nnnn
+ \cs_gset_eq:NN \__pdf_backend_link_begin_goto:nnw \__pdf_backend_link_begin_structure_goto:nnw
+ }
+\cs_set_eq:NN \__pdf_backend_structure_destination:nn \__pdf_backend_destination:nn
+\cs_set_eq:NN \__pdf_backend_structure_destination:nnnn \__pdf_backend_destination:nnnn
+\cs_set_eq:NN \__pdf_backend_link_begin_structure_goto:nnw \__pdf_backend_link_begin_goto:nnw
+\bool_lazy_and:nnT
+ { \int_compare_p:nNn {\tex_pdftexversion:D } > {139} }
+ { \int_compare_p:nNn {\tex_pdftexrevision:D } > {23} }
+ {
+ \cs_set_protected:Npn \__pdf_backend_structure_destination:nn #1#2
+ {
+ \tex_pdfdest:D
+ name {#1}
+ \str_case:nnF {#2}
+ {
+ { xyz } { xyz }
+ { fit } { fit }
+ { fitb } { fitb }
+ { fitbh } { fitbh }
+ { fitbv } { fitbv }
+ { fith } { fith }
+ { fitv } { fitv }
+ { fitr } { fitr }
+ }
+ { xyz ~ zoom \fp_eval:n { #2 * 10 } }
+ \scan_stop:
+ \exp_args:Ne \pdf_object_if_exist:nT { \l_pdf_current_structure_destination_tl }
+ {
+ \tex_pdfdest:D
+ struct~
+ \int_use:c
+ { c__pdf_backend_object_ \exp_args:Ne \tl_to_str:n {\l_pdf_current_structure_destination_tl} _int }~
+ name {#1}
+ \str_case:nnF {#2}
+ {
+ { xyz } { xyz }
+ { fit } { fit }
+ { fitb } { fitb }
+ { fitbh } { fitbh }
+ { fitbv } { fitbv }
+ { fith } { fith }
+ { fitv } { fitv }
+ { fitr } { fitr }
+ }
+ { xyz ~ zoom \fp_eval:n { #2 * 10 } }
+ \scan_stop:
+ }
+ }
+ \cs_set_protected:Npn \__pdf_backend_destination:nnnn #1#2#3#4
+ {
+ \tex_pdfdest:D
+ name {#1}
+ fitr ~
+ width \dim_eval:n {#2} ~
+ height \dim_eval:n {#3} ~
+ depth \dim_eval:n {#4} \scan_stop:
+ \exp_args:Ne \pdf_object_if_exist:nT { \l_pdf_current_structure_destination_tl }
+ {
+ \tex_pdfdest:D
+ struct~
+ \int_use:c
+ { c__pdf_backend_object_ \exp_args:Ne \tl_to_str:n {\l_pdf_current_structure_destination_tl} _int }~
+ name {#1}
+ fitr ~
+ width \dim_eval:n {#2} ~
+ height \dim_eval:n {#3} ~
+ depth \dim_eval:n {#4} \scan_stop:
+ }
+ }
+ \cs_set_protected:Npn \__pdf_backend_link_begin_structure_goto:nnw #1#2
+ {
+ \__pdf_backend_link_begin:nnnw {#1} { goto~struct~name~{#2}~name } {#2}
+ }
+ }
%%
%%
%% End of file `l3backend-testphase-pdftex.def'.
diff --git a/Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase-xetex.def b/Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase-xetex.def
index 45a1a0f8b87..160d37b9882 100644
--- a/Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase-xetex.def
+++ b/Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3backend-testphase-xetex.def
@@ -20,7 +20,7 @@
%%
%% File: l3backend-testphase.dtx
\ProvidesExplFile
- {l3backend-testphase-xetex.def}{2021-08-28}{}
+ {l3backend-testphase-xetex.def}{2022-01-13}{}
{LaTeX~PDF~management~testphase~bundle~backend~support: XeTeX}
\RequirePackage{l3ref-tmp}
\cs_generate_variant:Nn \ref_label:nn {en}
@@ -351,6 +351,115 @@
}
\prg_new_eq_conditional:NNn \pdfxform_if_exist:n\__pdf_backend_xform_if_exist:n
{ TF , T , F , p }
+\tl_new:N \l_pdf_current_structure_destination_tl
+\cs_new_protected:Npn \pdf_activate_structure_destination:
+ {
+ \cs_gset_eq:NN \__pdf_backend_destination:nn \__pdf_backend_structure_destination:nn
+ \cs_gset_eq:NN \__pdf_backend_destination:nnnn \__pdf_backend_structure_destination:nnnn
+ \cs_gset_eq:NN \__pdf_backend_link_begin_goto:nnw \__pdf_backend_link_begin_structure_goto:nnw
+ }
+\cs_set_eq:NN \__pdf_backend_structure_destination:nn \__pdf_backend_destination:nn
+\cs_set_eq:NN \__pdf_backend_structure_destination:nnnn \__pdf_backend_destination:nnnn
+\cs_set_eq:NN \__pdf_backend_link_begin_structure_goto:nnw \__pdf_backend_link_begin_goto:nnw
+\cs_set_protected:Npn \__pdf_backend_structure_destination:nn #1#2
+ {
+ \__pdf_backend:x
+ {
+ dest ~ ( \exp_not:n {#1} )
+ [
+ @thispage
+ \str_case:nnF {#2}
+ {
+ { xyz } { /XYZ ~ @xpos ~ @ypos ~ null }
+ { fit } { /Fit }
+ { fitb } { /FitB }
+ { fitbh } { /FitBH }
+ { fitbv } { /FitBV ~ @xpos }
+ { fith } { /FitH ~ @ypos }
+ { fitv } { /FitV ~ @xpos }
+ { fitr } { /Fit }
+ }
+ { /XYZ ~ @xpos ~ @ypos ~ \fp_eval:n { (#2) / 100 } }
+ ]
+ }
+ \exp_args:Ne \pdf_object_if_exist:nT { \l_pdf_current_structure_destination_tl }
+ {
+ \__pdf_backend:x
+ {
+ obj ~ @pdf.SDest.\exp_not:n{#1}
+ [
+ \exp_args:Ne \pdf_object_ref:n { \l_pdf_current_structure_destination_tl }
+ \str_case:nnF {#2}
+ {
+ { xyz } { /XYZ ~ @xpos ~ @ypos ~ null }
+ { fit } { /Fit }
+ { fitb } { /FitB }
+ { fitbh } { /FitBH }
+ { fitbv } { /FitBV ~ @xpos }
+ { fith } { /FitH ~ @ypos }
+ { fitv } { /FitV ~ @xpos }
+ { fitr } { /Fit }
+ }
+ { /XYZ ~ @xpos ~ @ypos ~ \fp_eval:n { (#2) / 100 } }
+ ]
+ }
+ }
+ }
+\cs_new_protected:Npn \__pdf_backend_structure_destination_aux:nnnn #1#2#3#4
+ {
+ \vbox_to_zero:n
+ {
+ \__kernel_kern:n {#4}
+ \hbox:n
+ {
+ \__pdf_backend:n { obj ~ @pdf_ #2 _llx ~ @xpos }
+ \__pdf_backend:n { obj ~ @pdf_ #2 _lly ~ @ypos }
+ }
+ \tex_vss:D
+ }
+ \__kernel_kern:n {#1}
+ \vbox_to_zero:n
+ {
+ \__kernel_kern:n { -#3 }
+ \hbox:n
+ {
+ \__pdf_backend:n
+ {
+ dest ~ (#2)
+ [
+ @thispage
+ /FitR ~
+ @pdf_ #2 _llx ~ @pdf_ #2 _lly ~
+ @xpos ~ @ypos
+ ]
+ }
+ \exp_args:Ne \pdf_object_if_exist:nT { \l_pdf_current_structure_destination_tl }
+ {
+ \__pdf_backend:x
+ {
+ obj ~ @pdf.SDest.\exp_not:n{#2}
+ [
+ \exp_args:Ne \pdf_object_ref:n { \l_pdf_current_structure_destination_tl }
+ /FitR ~
+ @pdf_ #2 _llx ~ @pdf_ #2 _lly ~
+ @xpos ~ @ypos
+ ]
+ }
+ }
+ }
+ \tex_vss:D
+ }
+ \__kernel_kern:n { -#1 }
+ }
+\cs_set_protected:Npn \__pdf_backend_structure_destination:nnnn #1#2#3#4
+ {
+ \exp_args:Ne \__pdf_backend_structure_destination_aux:nnnn
+ { \dim_eval:n {#2} } {#1} {#3} {#4}
+ }
+\cs_set_protected:Npn \__pdf_backend_link_begin_structure_goto:nnw #1#2
+ {
+ \__pdf_backend_link_begin:n { #1 /Subtype /Link /A << /S /GoTo /D ( #2 ) /SD~@pdf.SDest.#2 >> }
+ }
%%
%%
%% End of file `l3backend-testphase-xetex.def'.
diff --git a/Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3pdffield-testphase.sty b/Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3pdffield-testphase.sty
index 23855ffa0da..3c045da7bcc 100644
--- a/Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3pdffield-testphase.sty
+++ b/Master/texmf-dist/tex/latex/pdfmanagement-testphase/l3pdffield-testphase.sty
@@ -27,7 +27,7 @@
%% File: l3pdffield.dtx
\NeedsTeXFormat{LaTeX2e}
-\ProvidesExplPackage{l3pdffield-testphase}{2021-08-28}{0.95i}%
+\ProvidesExplPackage{l3pdffield-testphase}{2022-01-13}{0.95j}%
{form fields}
\csname HyField@NeedAppearancesfalse\endcsname % suppress NeedAppearances
\str_new:N \l__pdffield_tmpa_str
diff --git a/Master/texmf-dist/tex/latex/pdfmanagement-testphase/output-patches-tmp-ltx.sty b/Master/texmf-dist/tex/latex/pdfmanagement-testphase/output-patches-tmp-ltx.sty
index a6ef100742d..5e5b0f64190 100644
--- a/Master/texmf-dist/tex/latex/pdfmanagement-testphase/output-patches-tmp-ltx.sty
+++ b/Master/texmf-dist/tex/latex/pdfmanagement-testphase/output-patches-tmp-ltx.sty
@@ -48,7 +48,8 @@
\pretocmd\@makecol{\@kernel@before@cclv}
{\typeout{Patching \string\@makecol\space for tagging}}{\PATCHerror }
-\AddToHook{package/after/multicol}{% multicol needs later loading
+\AddToHook{package/multicol/after}
+ {% multicol needs later loading
\patchcmd\page@sofar
{\setbox\z@\hbox{p}\global\dimen\tw@\dp\z@}%
{%
diff --git a/Master/texmf-dist/tex/latex/pdfmanagement-testphase/pdflscape-ltx.sty b/Master/texmf-dist/tex/latex/pdfmanagement-testphase/pdflscape-ltx.sty
index b7a12f5545e..677e3fe40e5 100644
--- a/Master/texmf-dist/tex/latex/pdfmanagement-testphase/pdflscape-ltx.sty
+++ b/Master/texmf-dist/tex/latex/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-08-28}{0.95i}
+\ProvidesExplPackage{pdflscape-ltx}{2022-01-13}{0.95j}
{Display of landscape pages in PDF - adaption of pdflscape to the PDFmanagement bundle (testphase)}
\DeclareOption*{\PassOptionsToPackage\CurrentOption{graphics}}
diff --git a/Master/texmf-dist/tex/latex/pdfmanagement-testphase/pdfmanagement-firstaid.sty b/Master/texmf-dist/tex/latex/pdfmanagement-testphase/pdfmanagement-firstaid.sty
index 5733927a948..9bff4c5cdb6 100644
--- a/Master/texmf-dist/tex/latex/pdfmanagement-testphase/pdfmanagement-firstaid.sty
+++ b/Master/texmf-dist/tex/latex/pdfmanagement-testphase/pdfmanagement-firstaid.sty
@@ -19,7 +19,7 @@
%% and all files in that bundle must be distributed together.
%%
%% File: pdfmanagement-firstaid.dtx
-\ProvidesExplPackage{pdfmanagement-firstaid}{2021-08-28}{0.95i}
+\ProvidesExplPackage{pdfmanagement-firstaid}{2022-01-13}{0.95j}
{LaTeX PDF management testphase bundle / firstaid-patches}
\clist_map_inline:nn {pgf,transparent,hyperxmp,pdflscape,xcolor,color,beamer,output}
@@ -51,14 +51,20 @@
}
\bool_if:NT \g__pdfmanagement_firstaid_xcolor_bool
{
- \AddToHook{package/after/xcolor}
+ \AddToHook
+ {
+ package/xcolor/after
+ }
{\RequirePackage{xcolor-patches-tmp-ltx}\XC@@names}
}
\bool_if:NT \g__pdfmanagement_firstaid_pgf_bool
{
\msg_info:nnn{pdfmanagement }{firstaid}{pgf}
- \AddToHook{file/after/pgfrcs.sty}
+ \AddToHook
+ {
+ file/pgfrcs.sty/after
+ }
{
\cs_set_eq:NN
\__pdfmanagement_pgfori_pgfutil@setuppdfresources
@@ -141,7 +147,9 @@
\bool_if:NT \g__pdfmanagement_firstaid_hyperxmp_bool
{
\AddToHook
- {file/after/hyperxmp.sty}
+ {
+ file/hyperxmp.sty/after
+ }
{\RequirePackage{hyperxmp-patches-tmp-ltx}}
}
\hook_gput_code:nnn {begindocument} {pdf}
diff --git a/Master/texmf-dist/tex/latex/pdfmanagement-testphase/pdfmanagement-testphase.ltx b/Master/texmf-dist/tex/latex/pdfmanagement-testphase/pdfmanagement-testphase.ltx
index 679fb67c68c..3ac88ac680f 100644
--- a/Master/texmf-dist/tex/latex/pdfmanagement-testphase/pdfmanagement-testphase.ltx
+++ b/Master/texmf-dist/tex/latex/pdfmanagement-testphase/pdfmanagement-testphase.ltx
@@ -27,7 +27,7 @@
%% and all files in that bundle must be distributed together.
%%
%% File: pdfmanagement-testphase.dtx
-\ProvidesExplFile{pdfmanagement-testphase.ltx}{2021-08-28}{0.95i}
+\ProvidesExplFile{pdfmanagement-testphase.ltx}{2022-01-13}{0.95j}
{PDF~management~code~(testphase)}
%% File: l3pdfdict.dtx
\cs_new:Npn \__pdfdict_get_type:n #1
@@ -1003,45 +1003,201 @@
}
\pdfdict_new:n { g__pdf_Core/Xform/Resources/Properties}
%% File: ltdocinit.dtx
-\msg_new:nnn { document } { setup-after-documentclass }
+\clist_new:N \g__pdfmanagement_firstaidoff_clist
+\tl_new:N \g__pdfmanagement_testphase_tl
+\cs_if_free:NT \DocumentMetadata
+ {
+ \keys_define:nn { document / metadata }
+ {
+ backend .choices:nn =
+ { dvipdfmx , dvips , dvisvgm , luatex , pdftex , pdfmode , xdvipdfmx , xetex }
+ {
+ \sys_load_backend:n {#1}
+ },
+ backend .groups:n = { init } ,
+ }
+
+ \keys_define:nn { document / metadata }
+ {
+ ,pdfversion .code:n =
+ {
+ \pdf_version_gset:n { #1 }
+ \AddToDocumentProperties[document]{pdfversion}{#1}
+ }
+ ,uncompress .code:n =
+ {
+ \pdf_uncompress:
+ }
+ ,uncompress .value_forbidden:n = true
+ ,lang .code:n =
+ {
+ \pdfmanagement_add:nnn {Catalog} {Lang}{(#1)}
+ \AddToDocumentProperties[document]{lang}{#1}
+ }
+ %,xmpmeta .bool_gset:N = \g_pdfmeta_xmp_bool %see pdfmeta unused and undefined for now!
+ % this uses internal command from pdfmeta, it should probably move there ...
+ ,pdfstandard .code:n =
+ {
+ \exp_args:Nnx
+ \keys_set:nn {document / metadata} {_pdfstandard=\str_uppercase:n{#1}}
+ }
+ ,_pdfstandard .choices:nn =
+ {A-1B,A-2A,A-2B,A-2U,A-3A,A-3B,A-3U}
+ {
+ \prop_if_exist:cT { g__pdfmeta_standard_pdf/#1_prop }
+ {
+ \prop_gset_eq:Nc \g__pdfmeta_standard_prop { g__pdfmeta_standard_pdf/#1 _prop }
+ }
+ \AddToDocumentProperties [document]{pdfstandard}{#1}
+ }
+ ,_pdfstandard / unknown .code:n =
+ {
+ \msg_warning:nnn{pdf}{unknown-standard}{#1}
+ }
+ ,testphase .multichoice:
+ ,testphase / tagpdf .code:n =
+ {
+ \tl_gput_right:Nn\g__pdfmanagement_testphase_tl
+ {
+ \file_if_exist_input:nF {tagpdf-latex-lab-testphase.ltx}
+ {
+ \RequirePackage{tagpdf}
+ \AddToDocumentProperties [document]{testphase/tagpdf}{loaded}
+ \tagpdfsetup{activate,paratagging,interwordspace}
+ \AddToDocumentProperties [document]{tagging}{active}
+ \AddToDocumentProperties [document]{tagging/para}{active}
+ \AddToDocumentProperties [document]{tagging/interwordspace}{active}
+ }
+ }
+ }
+ ,testphase / unknown .code:n =
+ {
+ \tl_gput_right:Nn\g__pdfmanagement_testphase_tl
+ {
+ \file_if_exist_input:nF {#1-latex-lab-testphase.ltx}
+ {
+ \msg_warning:nnn{document}{latex-lab-pkg-missing}{#1}
+ }
+ }
+ }
+ ,activate .multichoice:
+ ,activate / tagging .code:n =
+ {
+ \PackageWarning{pdfmanagement-testphase}
+ {The~activate~key~is~deprecated.\MessageBreak
+ Tagging~is~activated~with~'testphase=tagpdf'~directly}{}
+ }
+ ,debug .code:n =
+ {
+ \keys_set:nn { document / metadata / debug } {#1}
+ }
+ ,debug / para .code:n =
+ {
+ \AddToHook
+ {
+ package/tagpdf/after
+ }
+ {
+ \tagpdfsetup{paratagging-show}
+ }
+ }
+ ,debug / log .code:n =
+ {
+ \AddToHook
{
- \token_to_str:N \DeclareDocumentMetadata \c_space_tl
- should~be~used~only~before~\token_to_str:N\documentclass
+ package/tagpdf/after
}
-\NewDocumentCommand\DeclareDocumentMetadata { m }
+ {
+ \tagpdfsetup{log=#1}
+ }
+ }
+ ,debug / uncompress .code:n =
+ {
+ \pdf_uncompress:
+ }
+ ,debug / pdfmanagement .bool_gset:N = \g__pdfmanagement_active_bool
+ ,debug / firstaidoff .clist_gset:N = \g__pdfmanagement_firstaidoff_clist
+ }
+ }
+\cs_if_exist:NT \DocumentMetadata
+ {
+ \cs_new_protected:Npn \DeclareDocumentMetadata
+ {
+ \cs_if_free:NT \DocumentMetadata
+ {
+ \file_if_exist_input:nF {documentmetadata-support.ltx}%
+ {
+ \@latex@error
+ {No~support~files~for~\noexpand\DeclareDocumentMetadata~found}
+ {
+ Is~the~'LaTeX-lab'~bundle~installed?
+ \MessageBreak
+ Without~it,~the~declaration~is~ignored.
+ }
+ \let\DeclareDocumentMetadata\@gobble
+ }
+ }
+ \RenewDocumentCommand \DeclareDocumentMetadata {}
+ { \DocumentMetadata }
+ \DocumentMetadata
+ }
+ }
+\cs_if_free:NT \DocumentMetadata
{
- \cs_if_eq:NNTF \documentclass \@twoclasseserror
- { \msg_error:nn { document }{ setup-after-documentclass } }
+ \prop_gput:Nnn \g_msg_module_type_prop { document } { LaTeX }
+ \prop_gput:Nnn \g_msg_module_name_prop { document } { DocumentMetadata }
+ \msg_new:nnn
+ { document } { setup-after-documentclass }
+ {
+ \token_to_str:N \DocumentMetadata \c_space_tl
+ should~be~used~only~before~\token_to_str:N\documentclass
+ }
+ \msg_new:nnn
+ { document } { latex-lab-pkg-missing }
{
- \keys_set_groups:nnn { document / metadata} {init}{ #1 }
- %should be loaded after the backend is set, and only if not in the kernel
- \bool_gset_true:N \g__pdfmanagement_active_bool
- \cs_if_free:NTF \pdf_uncompress:
- {\RequirePackage{l3pdf}}{\RequirePackage{expl3}}
+ LaTeX-lab~package~'#1'~not~found.
+ }
+ \NewDocumentCommand\DocumentMetadata { m }
+ {
+ \cs_if_eq:NNTF \documentclass \@twoclasseserror
+ { \msg_error:nn { document }{ setup-after-documentclass } }
+ {
+ \bool_gset_true:N \g__pdfmanagement_active_bool
+ \keys_set_groups:nnn { document / metadata} {init}{ #1 }
+ %if no backend has been loaded force it now:
+ \str_if_exist:NF \c_sys_backend_str
+ {
+ \sys_load_backend:n {}
+ }
\ExplSyntaxOn\makeatletter
- \file_input:n {l3backend-testphase-\c_sys_backend_str.def}
+ \file_input:n {l3backend-testphase-\c_sys_backend_str.def}
\ExplSyntaxOff\makeatother
- \keys_set_filter:nnn { document / metadata } { init } { lang=en-US, #1 }
- \bool_if:NT \g__pdfmanagement_active_bool
- {
- \PassOptionsToPackage{customdriver=hgeneric-testphase}{hyperref}
- }
- \hook_use_once:n {pdfmanagement/add}
- \RenewDocumentCommand\DeclareDocumentMetadata { m }
- {
- \keys_set_filter:nnn { document / metadata } { init } { ##1 }
- \bool_if:NTF \g__pdfmanagement_active_bool
- {
- \str_remove_all:cn {opt@hyperref.sty}{customdriver=hgeneric-testphase}
- \PassOptionsToPackage{customdriver=hgeneric-testphase}{hyperref}
- }
- {
- \str_remove_all:cn {opt@hyperref.sty}{customdriver=hgeneric-testphase}
- }
+ \keys_set_filter:nnn { document / metadata } { init } { lang=en-US, #1 }
+ \bool_if:NT \g__pdfmanagement_active_bool
+ {
+ \PassOptionsToPackage{customdriver=hgeneric-testphase}{hyperref}
+ }
+ \hook_use_once:n {pdfmanagement/add}
+ \RenewDocumentCommand\DocumentMetadata { m }
+ {
+ \keys_set_filter:nnn { document / metadata } { init } { ##1 }
+ \bool_if:NTF \g__pdfmanagement_active_bool
+ {
+ \str_remove_all:cn
+ {opt@hyperref.sty}{customdriver=hgeneric-testphase}
+ \PassOptionsToPackage
+ {customdriver=hgeneric-testphase}{hyperref}
+ }
+ {
+ \str_remove_all:cn
+ {opt@hyperref.sty}{customdriver=hgeneric-testphase}
+ }
+ }
+ \g__pdfmanagement_testphase_tl
+ \RequirePackage{pdfmanagement-firstaid}
}
- \g__pdfmanagement_testphase_tl
- \RequirePackage{pdfmanagement-firstaid}
}
+ \NewDocumentCommand\DeclareDocumentMetadata{}{\DocumentMetadata}
}
\prop_new:N \g__pdfmanagement_documentproperties_prop %
\NewDocumentCommand\AddToDocumentProperties{O{\@currname}mm}
@@ -1069,130 +1225,6 @@
\prop_map_function:NN \g__pdfmanagement_documentproperties_prop \msg_show_item:nn
}
}
-\clist_new:N \g__pdfmanagement_firstaidoff_clist
-\tl_new:N \g__pdfmanagement_testphase_tl
-\keys_define:nn { document / metadata }
- {
- backend .code:n =
- {
- \PassOptionsToPackage { driver=#1 } {expl3}
- \AddToDocumentProperties[document]{backend}{#1}
- },
- backend .groups:n = { init } ,
- }
-
-\keys_define:nn { document / metadata }
- {
- ,pdfversion .code:n =
- {
- \pdf_version_gset:n { #1 }
- \AddToDocumentProperties[document]{pdfversion}{#1}
- }
- ,uncompress .code:n =
- {
- \pdf_uncompress:
- }
- ,uncompress .value_forbidden:n = true
- ,lang .code:n =
- {
- \pdfmanagement_add:nnn {Catalog} {Lang}{(#1)}
- \AddToDocumentProperties[document]{lang}{#1}
- }
- %,xmpmeta .bool_gset:N = \g_pdfmeta_xmp_bool %see pdfmeta unused and undefined for now!
- % this uses internal command from pdfmeta, it should probably move there ...
- ,pdfstandard .code:n =
- {
- \exp_args:Nnx
- \keys_set:nn {document / metadata} {_pdfstandard=\str_uppercase:n{#1}}
- }
- ,_pdfstandard .choices:nn =
- {A-1B,A-2A,A-2B,A-2U,A-3A,A-3B,A-3U}
- {
- \prop_if_exist:cT { g__pdfmeta_standard_pdf/#1_prop }
- {
- \prop_gset_eq:Nc \g__pdfmeta_standard_prop { g__pdfmeta_standard_pdf/#1 _prop }
- }
- \AddToDocumentProperties [document]{pdfstandard}{#1}
- }
- ,_pdfstandard / unknown .code:n =
- {
- \msg_warning:nnn{pdf}{unknown-standard}{#1}
- }
- ,pdfmanagement .bool_gset:N = \g__pdfmanagement_active_bool
- ,firstaidoff .clist_gset:N = \g__pdfmanagement_firstaidoff_clist
- ,testphase .multichoice:
- ,testphase / tagpdf .code:n =
- {
- \tl_gput_right:Nn\g__pdfmanagement_testphase_tl
- {
- \RequirePackage{tagpdf}
- \AddToDocumentProperties [document]{testphase/tagpdf}{loaded}
- }
- }
- ,testphase / headings .code:n =
- {
- \tl_gput_right:Nn\g__pdfmanagement_testphase_tl
- {
- \RequirePackage{headings-testphase}
- \AddToDocumentProperties [document]{testphase/headings}{loaded}
- }
- }
- ,testphase / ptagging .code:n =
- {
- \tl_gput_right:Nn\g__pdfmanagement_testphase_tl
- {
- \AddToHook{class/after}
- {
- \RequirePackage{ptagging-testphase}
- \AddToDocumentProperties [document]{testphase/ptagging}{loaded}
- }
- }
- }
- ,testphase / unknown .code:n =
- {
- \tl_gput_right:Nn\g__pdfmanagement_testphase_tl
- {
- \AddToHook{class/after}
- {
- \RequirePackage{#1-testphase}
- \AddToDocumentProperties [document]{testphase/#1}{loaded}
- }
- }
- }
- ,activate .multichoice:
- ,activate / tagging .code:n =
- {
- \AddToHook{package/after/tagpdf}
- {
- \tagpdfsetup{activate,paratagging,interwordspace}
- \AddToDocumentProperties [document]{tagging}{active}
- \AddToDocumentProperties [document]{tagging/para}{active}
- \AddToDocumentProperties [document]{tagging/interwordspace}{active}
- }
- }
- ,debug .code:n =
- {
- \keys_set:nn { document / metadata / debug } {#1}
- }
- ,debug / para .code:n =
- {
- \AddToHook{package/after/tagpdf}
- {
- \tagpdfsetup{paratagging-show}
- }
- }
- ,debug / log .code:n =
- {
- \AddToHook{package/after/tagpdf}
- {
- \tagpdfsetup{log=#1}
- }
- }
- ,debug / uncompress .code:n =
- {
- \pdf_uncompress:
- }
- }
%% File: l3pdfannot.dtx
\RequirePackage{l3bitset}
\bitset_new:Nn \l_pdfannot_F_bitset
@@ -1510,7 +1542,7 @@
{ \__pdfmeta_verify_pdfa_annot_flags: }
}
\prop_new:c { g__pdfmeta_standard_pdf/A-1B_prop }
-\prop_set_from_keyval:cn { g__pdfmeta_standard_pdf/A-1B_prop }
+\prop_gset_from_keyval:cn { g__pdfmeta_standard_pdf/A-1B_prop }
{
,name = pdf/A-1B
,type = A
@@ -1953,8 +1985,9 @@
\tl_new:N \l__pdffile_automimetype_tl
\tl_new:N \l__pdffile_embed_ref_tl
\prop_new:N \g_pdffile_mimetypes_prop
-\prop_set_from_keyval:Nn \g_pdffile_mimetypes_prop
+\prop_gset_from_keyval:Nn \g_pdffile_mimetypes_prop
{
+ ,.css = text/css
,.csv = text/csv
,.html= text/html
,.dtx = text/plain %or application/x-tex, not in iana.org list
diff --git a/Master/texmf-dist/tex/latex/pdfmanagement-testphase/pdfmanagement-testphase.sty b/Master/texmf-dist/tex/latex/pdfmanagement-testphase/pdfmanagement-testphase.sty
index 6fc9c27cce8..4c34d556cc9 100644
--- a/Master/texmf-dist/tex/latex/pdfmanagement-testphase/pdfmanagement-testphase.sty
+++ b/Master/texmf-dist/tex/latex/pdfmanagement-testphase/pdfmanagement-testphase.sty
@@ -19,7 +19,7 @@
%% and all files in that bundle must be distributed together.
%%
%% File: pdfmanagement-testphase.dtx
-\ProvidesExplPackage{pdfmanagement-testphase}{2021-08-28}{0.95i}
+\ProvidesExplPackage{pdfmanagement-testphase}{2022-01-13}{0.95j}
{LaTeX PDF management testphase bundle}
\providecommand\IfFormatAtLeastTF{\@ifl@t@r\fmtversion}
\IfFormatAtLeastTF{2020-10-01}{}{
@@ -28,6 +28,7 @@
\MessageBreak Loading~is~aborted.}{}
\DeclareOption { debug }{}
\newcommand\DeclareDocumentMetadata[1]{}
+ \newcommand\DocumentMetadata[1]{}
\ProcessOptions\relax
}
\IfFormatAtLeastTF{2020-10-01}{}{\endinput}
diff --git a/Master/texmf-dist/tex/latex/pdfmanagement-testphase/transparent-ltx.sty b/Master/texmf-dist/tex/latex/pdfmanagement-testphase/transparent-ltx.sty
index 61235bc846a..f9987ba4436 100644
--- a/Master/texmf-dist/tex/latex/pdfmanagement-testphase/transparent-ltx.sty
+++ b/Master/texmf-dist/tex/latex/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-08-28}{0.95i}
+\ProvidesExplPackage{transparent-ltx}{2022-01-13}{0.95j}
{Transparency with color stacks (replacement for transparent.sty from Heiko Oberdiek)}%
\RequirePackage{l3opacity}
diff --git a/Master/texmf-dist/tex/latex/pdfmanagement-testphase/xcolor-patches-tmp-ltx.sty b/Master/texmf-dist/tex/latex/pdfmanagement-testphase/xcolor-patches-tmp-ltx.sty
index 45cd4413cf7..5ff2ef09972 100644
--- a/Master/texmf-dist/tex/latex/pdfmanagement-testphase/xcolor-patches-tmp-ltx.sty
+++ b/Master/texmf-dist/tex/latex/pdfmanagement-testphase/xcolor-patches-tmp-ltx.sty
@@ -1,6 +1,6 @@
%% LaTeX2e file `xcolor-patches.sty'
%%
-\ProvidesPackage{xcolor-patches-tmp-ltx}[2021-08-28 v0.95i patch xcolor for l3color]
+\ProvidesPackage{xcolor-patches-tmp-ltx}[2022-01-13 v0.95j patch xcolor for l3color]
\@ifundefined{color_set:nn}{\RequirePackage{l3color}}{}
\ExplSyntaxOn