From 66f6e60b6dc60cc08482030b92df223b6a51b15f Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Sun, 29 Aug 2021 03:02:07 +0000 Subject: CTAN sync 202108290302 --- .../contrib/pdfmanagement-testphase/CHANGELOG.md | 9 + .../contrib/pdfmanagement-testphase/README.md | 2 +- .../contrib/pdfmanagement-testphase/color-ltx.sty | 2 +- .../pdfmanagement-testphase/hyperref-generic.dtx | 205 +++++++++++++++------ .../pdfmanagement-testphase/hyperref-generic.pdf | Bin 948089 -> 952620 bytes .../hyperxmp-patches-tmp-ltx.sty | 2 +- .../l3backend-testphase.dtx | 61 +++++- .../l3backend-testphase.pdf | Bin 591169 -> 594274 bytes .../contrib/pdfmanagement-testphase/l3pdfannot.dtx | 24 ++- .../contrib/pdfmanagement-testphase/l3pdfannot.pdf | Bin 577331 -> 578684 bytes .../contrib/pdfmanagement-testphase/l3pdfdict.dtx | 4 +- .../contrib/pdfmanagement-testphase/l3pdfdict.pdf | Bin 527111 -> 526994 bytes .../pdfmanagement-testphase/l3pdffield-action.dtx | 2 +- .../pdfmanagement-testphase/l3pdffield-action.pdf | Bin 547881 -> 547745 bytes .../l3pdffield-checkbox.dtx | 2 +- .../l3pdffield-checkbox.pdf | Bin 530911 -> 530763 bytes .../pdfmanagement-testphase/l3pdffield-choice.dtx | 2 +- .../pdfmanagement-testphase/l3pdffield-choice.pdf | Bin 534125 -> 533988 bytes .../l3pdffield-pushbutton.dtx | 2 +- .../l3pdffield-pushbutton.pdf | Bin 526311 -> 526155 bytes .../l3pdffield-radiobutton.dtx | 2 +- .../l3pdffield-radiobutton.pdf | Bin 576314 -> 576165 bytes .../l3pdffield-textfield.dtx | 2 +- .../l3pdffield-textfield.pdf | Bin 505534 -> 505392 bytes .../contrib/pdfmanagement-testphase/l3pdffield.dtx | 4 +- .../contrib/pdfmanagement-testphase/l3pdffield.pdf | Bin 739256 -> 739113 bytes .../contrib/pdfmanagement-testphase/l3pdffile.dtx | 4 +- .../contrib/pdfmanagement-testphase/l3pdffile.pdf | Bin 553330 -> 553221 bytes .../pdfmanagement-testphase/l3pdfmanagement.dtx | 4 +- .../pdfmanagement-testphase/l3pdfmanagement.pdf | Bin 673135 -> 672870 bytes .../contrib/pdfmanagement-testphase/l3pdfmeta.dtx | 34 +++- .../contrib/pdfmanagement-testphase/l3pdfmeta.pdf | Bin 663896 -> 665368 bytes .../contrib/pdfmanagement-testphase/l3pdftools.dtx | 4 +- .../contrib/pdfmanagement-testphase/l3pdftools.pdf | Bin 518296 -> 518167 bytes .../contrib/pdfmanagement-testphase/l3pdfxform.dtx | 4 +- .../contrib/pdfmanagement-testphase/l3pdfxform.pdf | Bin 418329 -> 418232 bytes .../contrib/pdfmanagement-testphase/ltdocinit.dtx | 13 +- .../contrib/pdfmanagement-testphase/ltdocinit.pdf | Bin 536935 -> 537194 bytes .../output-patches-tmp-ltx.dtx | 156 ++++++++++++++++ .../output-patches-tmp-ltx.pdf | Bin 0 -> 384131 bytes .../pdfmanagement-testphase/pdflscape-ltx.sty | 2 +- .../pdfmanagement-firstaid.dtx | 16 +- .../pdfmanagement-firstaid.pdf | Bin 421483 -> 423095 bytes .../pdfmanagement-testphase.dtx | 6 +- .../pdfmanagement-testphase.ins | 8 + .../pdfmanagement-testphase.pdf | Bin 446355 -> 446276 bytes .../pdfmanagement-testphase/transparent-ltx.sty | 2 +- .../xcolor-patches-tmp-ltx.sty | 2 +- 48 files changed, 471 insertions(+), 109 deletions(-) create mode 100644 macros/latex/contrib/pdfmanagement-testphase/output-patches-tmp-ltx.dtx create mode 100644 macros/latex/contrib/pdfmanagement-testphase/output-patches-tmp-ltx.pdf (limited to 'macros/latex/contrib/pdfmanagement-testphase') 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: |.\theH|. +% +% For unnumbered structures, e.g. starred chapters or anchors created with \cs{phantomsection} +% it uses names like |section*.| and |chapter*.|. +% +% 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 Binary files a/macros/latex/contrib/pdfmanagement-testphase/hyperref-generic.pdf and b/macros/latex/contrib/pdfmanagement-testphase/hyperref-generic.pdf 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} %\ProvidesExplFile %<*dvipdfmx> - {l3backend-testphase-dvipdfmx.def}{2021-07-31}{} + {l3backend-testphase-dvipdfmx.def}{2021-08-28}{} {LaTeX~PDF~management~testphase~bundle~backend~support: dvipdfmx} % %<*dvips> - {l3backend-testphase-dvips.def}{2021-07-31}{} + {l3backend-testphase-dvips.def}{2021-08-28}{} {LaTeX~PDF~management~testphase~bundle~backend~support: dvips} % %<*dvisvgm> - {l3backend-testphase-dvisvgm.def}{2021-07-31}{} + {l3backend-testphase-dvisvgm.def}{2021-08-28}{} {LaTeX~PDF~management~testphase~bundle~backend~support: 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)} % %<*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)} % %<*xdvipdfmx> - {l3backend-testphase-xetex.def}{2021-07-31}{} + {l3backend-testphase-xetex.def}{2021-08-28}{} {LaTeX~PDF~management~testphase~bundle~backend~support: XeTeX} % % \end{macrocode} @@ -1153,6 +1153,53 @@ % % \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: {} +% +%<*pdftex> +\cs_if_exist:NT \pdfrunninglinkoff + { + \cs_set_protected:Npn \@@_backend_link_off: + { + \pdfrunninglinkoff + } + \cs_set_protected:Npn \@@_backend_link_on: + { + \pdfrunninglinkon + } + } +% +%<*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 + } + } +% +%<*dvipdfmx|xdvipdfmx> + \cs_set_protected:Npn \@@_backend_link_off: + { + \@@_backend:n { nolink } + } + \cs_set_protected:Npn \@@_backend_link_on: + { + \@@_backend:n { link } + } +% +% \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 Binary files a/macros/latex/contrib/pdfmanagement-testphase/l3backend-testphase.pdf and b/macros/latex/contrib/pdfmanagement-testphase/l3backend-testphase.pdf 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} % @@ -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 Binary files a/macros/latex/contrib/pdfmanagement-testphase/l3pdfannot.pdf and b/macros/latex/contrib/pdfmanagement-testphase/l3pdfannot.pdf 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)} % % \end{macrocode} diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdfdict.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdfdict.pdf index b548db0e6a..864ec52bd8 100644 Binary files a/macros/latex/contrib/pdfmanagement-testphase/l3pdfdict.pdf and b/macros/latex/contrib/pdfmanagement-testphase/l3pdfdict.pdf 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 Binary files a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-action.pdf and b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-action.pdf 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 Binary files a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-checkbox.pdf and b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-checkbox.pdf 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 Binary files a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-choice.pdf and b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-choice.pdf 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 Binary files a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-pushbutton.pdf and b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-pushbutton.pdf 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 Binary files a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-radiobutton.pdf and b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-radiobutton.pdf 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 Binary files a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-textfield.pdf and b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-textfield.pdf 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 Binary files a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield.pdf and b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield.pdf 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!! % diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffile.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdffile.pdf index 37cad7dd54..68e65183e4 100644 Binary files a/macros/latex/contrib/pdfmanagement-testphase/l3pdffile.pdf and b/macros/latex/contrib/pdfmanagement-testphase/l3pdffile.pdf 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)} % % \end{macrocode} diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdfmanagement.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdfmanagement.pdf index 5e1cb6535c..3c21347de4 100644 Binary files a/macros/latex/contrib/pdfmanagement-testphase/l3pdfmanagement.pdf and b/macros/latex/contrib/pdfmanagement-testphase/l3pdfmanagement.pdf 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} % % \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 Binary files a/macros/latex/contrib/pdfmanagement-testphase/l3pdfmeta.pdf and b/macros/latex/contrib/pdfmanagement-testphase/l3pdfmeta.pdf 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} % % \end{macrocode} diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdftools.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdftools.pdf index ee977c642c..d9f94b94ae 100644 Binary files a/macros/latex/contrib/pdfmanagement-testphase/l3pdftools.pdf and b/macros/latex/contrib/pdfmanagement-testphase/l3pdftools.pdf 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} % % \end{macrocode} diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdfxform.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdfxform.pdf index 59336ced8e..2046decacb 100644 Binary files a/macros/latex/contrib/pdfmanagement-testphase/l3pdfxform.pdf and b/macros/latex/contrib/pdfmanagement-testphase/l3pdfxform.pdf 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} % % \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 Binary files a/macros/latex/contrib/pdfmanagement-testphase/ltdocinit.pdf and b/macros/latex/contrib/pdfmanagement-testphase/ltdocinit.pdf 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} +% +% +% \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 +% +% \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 Binary files /dev/null and b/macros/latex/contrib/pdfmanagement-testphase/output-patches-tmp-ltx.pdf 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 Binary files a/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-firstaid.pdf and b/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-firstaid.pdf 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)} % %<*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 Binary files a/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.pdf and b/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.pdf 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 -- cgit v1.2.3