[latex3-commits] [git/LaTeX3-latex3-latex2e] metadata: added latex-lab (and initial support for \DocumentMetadata) (ef3a0594)
Frank Mittelbach
frank.mittelbach at latex-project.org
Thu Dec 16 23:13:22 CET 2021
Repository : https://github.com/latex3/latex2e
On branch : metadata
Link : https://github.com/latex3/latex2e/commit/ef3a0594db6ea06064c98d65ef5b1839d32b9d2a
>---------------------------------------------------------------
commit ef3a0594db6ea06064c98d65ef5b1839d32b9d2a
Author: Frank Mittelbach <frank.mittelbach at latex-project.org>
Date: Thu Dec 16 23:13:22 2021 +0100
added latex-lab (and initial support for \DocumentMetadata)
>---------------------------------------------------------------
ef3a0594db6ea06064c98d65ef5b1839d32b9d2a
.github/tl_packages | 3 +
README.md | 4 +-
build.lua | 2 +-
required/latex-lab/README.md | 34 ++
required/{firstaid => latex-lab}/build.lua | 15 +-
.../latex-lab/changes.txt | 0
{base => required/latex-lab}/config-TU.lua | 0
.../latex-lab/documentmetadata-support-code.tex | 2 +-
.../latex-lab/documentmetadata-support-doc.tex | 2 +-
required/latex-lab/documentmetadata-support.dtx | 376 +++++++++++++++++++++
required/latex-lab/documentmetadata-support.ins | 67 ++++
.../testfiles/documentmetadata-support-000.lvt} | 13 +-
.../testfiles/documentmetadata-support-000.tlg | 256 ++++++++++++++
.../testfiles/documentmetadata-support-001.lvt | 20 ++
.../testfiles/documentmetadata-support-001.tlg | 58 ++++
required/latex-lab/update-all.sh | 4 +
16 files changed, 844 insertions(+), 12 deletions(-)
diff --git a/.github/tl_packages b/.github/tl_packages
index dcbb83c2..27154631 100644
--- a/.github/tl_packages
+++ b/.github/tl_packages
@@ -36,6 +36,9 @@ pgfmorepages
ulem
varwidth
#
+# special testing for latex-lab
+pdfmanagement-testphase
+#
# Additional support for typesetting
alphalph
amscls
diff --git a/README.md b/README.md
index b50b7641..6dba26b2 100644
--- a/README.md
+++ b/README.md
@@ -19,10 +19,12 @@ comprises:
- The LaTeX kernel itself (`base`)
- LaTeX team documentation (`doc`)
-- Packages which must be available (`required`). These are
+- Bundles which must be available (`required`). These are
- Essential tools (`tools`)
- Core graphics and color support (`graphics`)
- Key mathematics support (`amsmath`)
+ - First aid for LaTeX (`firstaid`)
+ - LaTeX laboratory (`latex-lab`)
The main public Git repository is hosted on
[GitHub](https://github.com/latex3/latex2e).
diff --git a/build.lua b/build.lua
index 0a291a4a..9cf97741 100644
--- a/build.lua
+++ b/build.lua
@@ -8,7 +8,7 @@ module = ""
-- A couple of custom variables: the order here is set up for 'importance'
bundles = {"base"}
-required = {"cyrillic", "graphics", "tools", "amsmath", "firstaid"}
+required = {"cyrillic", "graphics", "tools", "amsmath", "firstaid", "latex-lab"}
-- Location of main directory: use Unix-style path separators
maindir = "."
diff --git a/required/latex-lab/README.md b/required/latex-lab/README.md
new file mode 100644
index 00000000..abf86117
--- /dev/null
+++ b/required/latex-lab/README.md
@@ -0,0 +1,34 @@
+# LaTeX laboratory
+
+This bundle holds optional files that are loaded in certain situations
+by kernel code (if available). For example, the new (as of 2021/12)
+`\DocumentMeta` command in the kernel loads a file from here holding
+the real payload. While this code is still in development and the use
+is experimental and mainly for the tagging project) the code is stored
+outside the format so that there can be intermediate release not
+affecting the production use of LaTeX.
+
+
+Once the code is finalized and properly tested it will eventually move
+to the kernel and the corresponding file in this bundle will
+vanish. Note that none of these files are directly user accessible in
+documents (i.e., they aren't packages) so the process is transparent
+to documents already using the new functionality.
+
+
+## Current support code in the bundle
+
+### Support for `\DocumentMetadata`
+
+
+## License
+
+The license is LPPL 1.3c.
+
+
+## Copyright
+
+This README file is
+
+Copyright (C) 2021
+The LaTeX Project
diff --git a/required/firstaid/build.lua b/required/latex-lab/build.lua
similarity index 82%
copy from required/firstaid/build.lua
copy to required/latex-lab/build.lua
index ab69d5a3..33de1bb7 100644
--- a/required/firstaid/build.lua
+++ b/required/latex-lab/build.lua
@@ -1,13 +1,12 @@
#!/usr/bin/env texlua
--- Build script for LaTeX2e "firstaid" files
+-- Build script for LaTeX2e "latex-lab" files
-- Identify the bundle and module
bundle = ""
-module = "firstaid"
+module = "latex-lab"
--- CTAN's name for this is a bit different from ours
-ctanpkg = "latex-firstaid"
+ctanpkg = "latex-lab"
-- Location of main directory: use Unix-style path separators
maindir = "../.."
@@ -19,10 +18,14 @@ unpackfiles = {"*.ins"}
sourcefiles = {"*.dtx", "*.ins", "*-????-??-??.sty"}
+-- not testing xetex in the lab, we may want to switch to pdftex instead of etex though
+
+checkengines = { "etex", "luatex" }
+
+
checkdeps =
{
- maindir .. "/base",
- maindir .. "/required/tools"
+ maindir .. "/base"
}
checkruns = 2
diff --git a/base/testfiles-TU/github-0282.tlg b/required/latex-lab/changes.txt
similarity index 100%
copy from base/testfiles-TU/github-0282.tlg
copy to required/latex-lab/changes.txt
diff --git a/base/config-TU.lua b/required/latex-lab/config-TU.lua
similarity index 100%
copy from base/config-TU.lua
copy to required/latex-lab/config-TU.lua
diff --git a/base/doc/ltpara-code.tex b/required/latex-lab/documentmetadata-support-code.tex
similarity index 68%
copy from base/doc/ltpara-code.tex
copy to required/latex-lab/documentmetadata-support-code.tex
index 2e5beda3..c051960a 100644
--- a/base/doc/ltpara-code.tex
+++ b/required/latex-lab/documentmetadata-support-code.tex
@@ -1,4 +1,4 @@
% this will typeset documentation + code
\AtBeginDocument{\AlsoImplementation}
-\input{ltpara.dtx}
+\input{documentmetadata-support.dtx}
diff --git a/base/doc/ltcmdhooks-doc.tex b/required/latex-lab/documentmetadata-support-doc.tex
similarity index 80%
copy from base/doc/ltcmdhooks-doc.tex
copy to required/latex-lab/documentmetadata-support-doc.tex
index 1efae5f2..dcf45514 100644
--- a/base/doc/ltcmdhooks-doc.tex
+++ b/required/latex-lab/documentmetadata-support-doc.tex
@@ -3,4 +3,4 @@
\AtBeginDocument{\OnlyDescription
\let\tableofcontents\relax
}
-\input{ltcmdhooks.dtx}
+\input{documentmetadata-support.dtx}
diff --git a/required/latex-lab/documentmetadata-support.dtx b/required/latex-lab/documentmetadata-support.dtx
new file mode 100644
index 00000000..d1874db3
--- /dev/null
+++ b/required/latex-lab/documentmetadata-support.dtx
@@ -0,0 +1,376 @@
+% \iffalse meta-comment
+%
+%% File: documentmetadata-support.dtx (C) 2021 LaTeX Project
+%
+% 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
+%
+%
+% The development version of the bundle can be found below
+%
+% https://github.com/FrankMittelbach/
+%
+% for those people who are interested or want to report an issue.
+%
+%<*driver>
+\documentclass{l3doc}
+\EnableCrossrefs
+\CodelineIndex
+\begin{document}
+ \DocInput{documentmetadata-support.dtx}
+\end{document}
+%</driver>
+%
+% \fi
+%
+
+% \title{The \texttt{documentmetadata-support} code\thanks{}}
+% \author{Frank Mittelbach, \LaTeX{} Project}
+%
+% \maketitle
+%
+%
+% \begin{abstract}
+% \end{abstract}
+%
+% \section{Introduction}
+%
+% Currently the following keys are implemented:
+%
+% \begin{description}
+% \item[\texttt{backend}] to specify the backend to use; this is
+% usually determined automatically.
+%^^A This will probably be extended to pass the value also to packages.
+%
+% \item[\texttt{pdfversion}] e.g. \texttt{pdfversion=1.7}
+%
+% \item[\texttt{uncompress}] no value. Forces an uncompressed pdf.
+%
+% \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-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. 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
+% are described in the documentation of \pkg{l3pdfmeta}.
+%
+% \item[\texttt{pdfmanagement}] Boolean. This activates/deactivates
+% the core management code. By default the value is true.
+%
+% \item[\texttt{firstaidoff}] This accepts a comma lists of keysword and disable the patches
+% related to them. More information can be found in the documentation of
+% \pkg{pdfmanagement-firstaid}.
+%
+% \item[\texttt{testphase}] This key is used to load testphase code. The values it accepts
+% and their effect will change over time, when testphase packages are added or
+% removed when the code is moved into the kernel. Currently the accepted values are
+% \texttt{tagpdf}, this load the tagpdf package, \texttt{headings}, this loads
+% code which reimplements heading commands, and \texttt{ptagging} this loads code
+% to allow paragraph tagging to work with engine other than luatex.
+% \item[\texttt{activate}] This key is used to enable some document wide functions. It is
+% currently in an experimental state. The values and their behaviour are subject to change.
+% Currently the only value is |tagging|,
+% which will do |\tagpdfsetup{activate,paratagging,interwordspace}|. It requires that
+% \pkg{tagpdf} has been loaded first with the |testphase| key.
+% \item[\texttt{debug}] This key activates some debug options. Currently only the
+% keys |para| (with the default and only value |show|),
+% and |log| (with the values of \pkg{tagpdf}) and |uncompress| (which does the same
+% as |uncompress| as main key) are known.
+% \end{description}
+%
+%
+%
+% \StopEventually{\setlength\IndexMin{200pt} \PrintIndex }
+%
+%
+% \section{The Implementation}
+%
+% \begin{macrocode}
+%<*code>
+% \end{macrocode}
+%
+% \begin{macrocode}
+
+\RequirePackage{pdfmanagement-testphase}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\ExplSyntaxOn\makeatletter
+% \end{macrocode}
+
+
+
+% \begin{macro}{\DocumentMetadata}
+%
+% \cs{DocumentMetadata} should not be used after
+% \cs{documentclass} so we error in this case.
+% It can be used more than once
+% but follow-up calls should not do the initialization code.
+% \begin{macrocode}
+\cs_set_protected:Npn \DocumentMetadata #1
+ {
+ \cs_if_eq:NNTF \documentclass \@twoclasseserror
+ { \msg_error:nn { meta } { after-class } }
+ {
+% \end{macrocode}
+%
+% The wanted backend must be detected first, we read the init
+% key and then force the loading by either loading l3pdf (+ expl3)
+% or only expl3. The backend contains now management command, so
+% the boolean should true first.
+% \begin{macrocode}
+ \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}}
+%FMi why load expl3? is there a better way to force the backend loading?
+ {\RequirePackage{expl3}}
+% \end{macrocode}
+% Now we load the extra backend code:
+% \begin{macrocode}
+ \ExplSyntaxOn\makeatletter
+ \file_input:n {l3backend-testphase-\c_sys_backend_str.def}
+ \ExplSyntaxOff\makeatother
+% \end{macrocode}
+% Set the default language, process the rest of the keys,
+% and setup the generic driver.
+% \begin{macrocode}
+%FMi wouldn't it be cleaner to set the default when declaring the key?
+ \keys_set_filter:nnn { document / metadata } { init } { lang=en-US, #1 }
+ \bool_if:NT \g__pdfmanagement_active_bool
+ {
+ \PassOptionsToPackage{customdriver=hgeneric-testphase}{hyperref}
+ }
+% \end{macrocode}
+% \cs{pdfmanagement_add:nnn} has collected values in this hook.
+% \begin{macrocode}
+ \hook_use_once:n {pdfmanagement/add}
+% \end{macrocode}
+% Now we redefine \cs{DocumentMetadata} so that it only process the
+% keys on any further calls.
+%
+% We need to update the hyperref option if the active status changes.
+% \begin{macrocode}
+ \cs_set_protected:Npn \DocumentMetadata ##1
+ {
+ \keys_set_filter:nnn { document / metadata } { init } { ##1 }
+%FMi
+ \str_remove_all:cn {opt at hyperref.sty}{customdriver=hgeneric-testphase}
+%FMi this doesn't seem to need the F case if we move the removal to
+% the front
+ \bool_if:NT \g__pdfmanagement_active_bool
+ {
+%FMi \str_remove_all:cn {opt at hyperref.sty}{customdriver=hgeneric-testphase}
+ \PassOptionsToPackage{customdriver=hgeneric-testphase}{hyperref}
+ }
+%FMi {
+%FMi \str_remove_all:cn {opt at hyperref.sty}{customdriver=hgeneric-testphase}
+%FMi }
+ }
+% \end{macrocode}
+% Load more modules, the testphase code and the firstaid code.
+% \begin{macrocode}
+%FMi this doesn't look correct -- testphase code is not loaded if only
+% in second call --- see test 001
+ \g__pdfmanagement_testphase_tl
+ \RequirePackage{pdfmanagement-firstaid}
+ }
+}
+% \end{macrocode}
+% \end{macro}
+
+
+
+
+% \begin{macrocode}
+
+%FMi defined elsewhere
+%FMi
+%FMi \clist_new:N \g__pdfmanagement_firstaidoff_clist
+%FMi \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 }
+ ,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:
+ }
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\msg_new:nnn { meta } { after-class }
+ {
+ \token_to_str:N \DocumentMetadata \c_space_tl
+ should~be~used~only~before~\token_to_str:N\documentclass
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\ExplSyntaxOff\makeatother
+% \end{macrocode}
+%
+%
+% \begin{macrocode}
+%<*code>
+% \end{macrocode}
+%
+% \Finale
+%
+
+
+
+\endinput
+
+\prop_new:N \g__pdfmanagement_documentproperties_prop %
+\NewDocumentCommand\AddToDocumentProperties{O{\@currname}mm}
+ {
+ \exp_args:NNx
+ \prop_gput:Nnn \g__pdfmanagement_documentproperties_prop
+ {
+ \tl_if_blank:eTF {#1}{top-level/}{#1/} #2
+ }
+ { #3}
+ }
+\NewExpandableDocumentCommand\GetDocumentProperties{m}
+ {
+ \prop_item:Nn \g__pdfmanagement_documentproperties_prop {#1}
+ }
+\msg_new:nnn { pdfmanagement } { show-properties }
+ {
+ The~following~document~properties~have~been~stored:
+ #1
+ }
+\NewDocumentCommand\ShowDocumentProperties {}
+ {
+ \msg_show:nnx {pdfmanagement}{show-properties}
+ {
+ \prop_map_function:NN \g__pdfmanagement_documentproperties_prop \msg_show_item:nn
+ }
+ }
+
diff --git a/required/latex-lab/documentmetadata-support.ins b/required/latex-lab/documentmetadata-support.ins
new file mode 100644
index 00000000..136fbabf
--- /dev/null
+++ b/required/latex-lab/documentmetadata-support.ins
@@ -0,0 +1,67 @@
+%%
+%% This file will generate fast loadable files and documentation
+%% driver files from the dtx file(s) in this package when run through
+%% LaTeX or TeX.
+%%
+%% Copyright 2021 LaTeX Project
+%%
+%%
+%% This file is part of the documentmetadata-support Bundle for LaTeX.
+%% -------------------------------------------------------------------
+%%
+%% It may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3c
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3c or later is part of all distributions of LaTeX
+%% version 2008 or later.
+%%
+%% In particular, NO PERMISSION is granted to modify the contents of this
+%% file since it contains the legal notices that are placed in the files
+%% it generates.
+%%
+%%
+%%
+%% --------------- start of docstrip commands ------------------
+%%
+\input docstrip
+
+\keepsilent
+
+\usedir{tex/latex/contrib/documentmetadata-support}
+
+\preamble
+
+This is a generated file.
+
+Copyright 2021 LaTeX Project
+
+This file was generated from file(s) of the LaTeX `documentmetadata-support Bundle'.
+------------------------------------------------------------------------------------
+
+It may be distributed and/or modified under the
+conditions of the LaTeX Project Public License, either version 1.3c
+of this license or (at your option) any later version.
+The latest version of this license is in
+ http://www.latex-project.org/lppl.txt
+and version 1.3c or later is part of all distributions of LaTeX
+version 2008 or later.
+
+This file may only be distributed together with a copy of the LaTeX
+`documentmetadata-support Bundle'. You may however distribute the `documentmetadata-support Bundle'
+without such generated files.
+
+The newest sources can be found below
+
+ https://github.com/latex3/documentmetadata-support/
+
+where one can also log issues in case there are any.
+
+
+\endpreamble
+
+
+\generate{\file{documentmetadata-support.ltx}{\from{documentmetadata-support.dtx}{code}}}
+
+\endbatchfile
diff --git a/required/firstaid/testfiles/firstaid-000.lvt b/required/latex-lab/testfiles/documentmetadata-support-000.lvt
similarity index 57%
copy from required/firstaid/testfiles/firstaid-000.lvt
copy to required/latex-lab/testfiles/documentmetadata-support-000.lvt
index 6b1aff42..761eb67f 100644
--- a/required/firstaid/testfiles/firstaid-000.lvt
+++ b/required/latex-lab/testfiles/documentmetadata-support-000.lvt
@@ -1,4 +1,3 @@
-
\input{regression-test}
\RequirePackage[enable-debug,check-declarations]{expl3}
@@ -8,6 +7,16 @@
\START
-\ifcsname LaTeXFirstAidVersion\endcsname \typeout{File loaded in kernel}\fi
+\typeout{First call:}
+
+\DocumentMetadata{}
+
+\typeout{Second call:}
+
+\DocumentMetadata{}
+
\END
+
+
+\documentclass{article}
diff --git a/required/latex-lab/testfiles/documentmetadata-support-000.tlg b/required/latex-lab/testfiles/documentmetadata-support-000.tlg
new file mode 100644
index 00000000..393e672f
--- /dev/null
+++ b/required/latex-lab/testfiles/documentmetadata-support-000.tlg
@@ -0,0 +1,256 @@
+This is a generated file for the l3build validation system.
+Don't change this file in any respect.
+First call:
+(documentmetadata-support.ltx (../pdfmanagement-testphase.sty
+Package: pdfmanagement-testphase ....-..-.. v... LaTeX PDF management testphase bundle
+(../pdfmanagement-testphase.ltx
+File: pdfmanagement-testphase.ltx ....-..-.. v... PDF management code (testphase)
+\g__pdfmanagement_EmbeddedFiles_int=\count...
+(../l3bitset.sty
+Package: l3bitset ....-..-.. L3 Experimental bitset support
+\l__bitset_internal_int=\count...
+)
+! LaTeX3 Error: Inconsistent local/global assignment
+For immediate help type H <return>.
+ ...
+l. ... }
+This is a coding error.
+Local assignment to a global variable '\g__pdfmeta_standard_pdf/A-1B_prop'.
+! LaTeX3 Error: Inconsistent local/global assignment
+For immediate help type H <return>.
+ ...
+l. ... }
+This is a coding error.
+Local assignment to a global variable '\g__pdfmeta_standard_pdf/A-1B_prop'.
+! LaTeX3 Error: Inconsistent local/global assignment
+For immediate help type H <return>.
+ ...
+l. ... }
+This is a coding error.
+Local assignment to a global variable '\g__pdfmeta_standard_pdf/A-1B_prop'.
+! LaTeX3 Error: Inconsistent local/global assignment
+For immediate help type H <return>.
+ ...
+l. ... }
+This is a coding error.
+Local assignment to a global variable '\g__pdfmeta_standard_pdf/A-1B_prop'.
+! LaTeX3 Error: Inconsistent local/global assignment
+For immediate help type H <return>.
+ ...
+l. ... }
+This is a coding error.
+Local assignment to a global variable '\g__pdfmeta_standard_pdf/A-1B_prop'.
+! LaTeX3 Error: Inconsistent local/global assignment
+For immediate help type H <return>.
+ ...
+l. ... }
+This is a coding error.
+Local assignment to a global variable '\g__pdfmeta_standard_pdf/A-1B_prop'.
+! LaTeX3 Error: Inconsistent local/global assignment
+For immediate help type H <return>.
+ ...
+l. ... }
+This is a coding error.
+Local assignment to a global variable '\g__pdfmeta_standard_pdf/A-1B_prop'.
+! LaTeX3 Error: Inconsistent local/global assignment
+For immediate help type H <return>.
+ ...
+l. ... }
+This is a coding error.
+Local assignment to a global variable '\g__pdfmeta_standard_pdf/A-1B_prop'.
+! LaTeX3 Error: Inconsistent local/global assignment
+For immediate help type H <return>.
+ ...
+l. ... }
+This is a coding error.
+Local assignment to a global variable '\g__pdfmeta_standard_pdf/A-1B_prop'.
+! LaTeX3 Error: Inconsistent local/global assignment
+For immediate help type H <return>.
+ ...
+l. ... }
+This is a coding error.
+Local assignment to a global variable '\g__pdfmeta_standard_pdf/A-1B_prop'.
+! LaTeX3 Error: Inconsistent local/global assignment
+For immediate help type H <return>.
+ ...
+l. ... }
+This is a coding error.
+Local assignment to a global variable '\g__pdfmeta_standard_pdf/A-1B_prop'.
+! LaTeX3 Error: Inconsistent local/global assignment
+For immediate help type H <return>.
+ ...
+l. ... }
+This is a coding error.
+Local assignment to a global variable '\g__pdfmeta_standard_pdf/A-1B_prop'.
+! LaTeX3 Error: Inconsistent local/global assignment
+For immediate help type H <return>.
+ ...
+l. ... }
+This is a coding error.
+Local assignment to a global variable '\g__pdfmeta_standard_pdf/A-1B_prop'.
+! LaTeX3 Error: Inconsistent local/global assignment
+For immediate help type H <return>.
+ ...
+l. ... }
+This is a coding error.
+Local assignment to a global variable '\g__pdfmeta_standard_pdf/A-1B_prop'.
+! LaTeX3 Error: Inconsistent local/global assignment
+For immediate help type H <return>.
+ ...
+l. ... }
+This is a coding error.
+Local assignment to a global variable '\g__pdfmeta_standard_pdf/A-1B_prop'.
+! LaTeX3 Error: Inconsistent local/global assignment
+For immediate help type H <return>.
+ ...
+l. ... }
+This is a coding error.
+Local assignment to a global variable '\g__pdfmeta_standard_pdf/A-1B_prop'.
+! LaTeX3 Error: Inconsistent local/global assignment
+For immediate help type H <return>.
+ ...
+l. ... }
+This is a coding error.
+Local assignment to a global variable '\g__pdfmeta_standard_pdf/A-1B_prop'.
+! LaTeX3 Error: Inconsistent local/global assignment
+For immediate help type H <return>.
+ ...
+l. ... }
+This is a coding error.
+Local assignment to a global variable '\g__pdfmeta_standard_pdf/A-1B_prop'.
+! LaTeX3 Error: Inconsistent local/global assignment
+For immediate help type H <return>.
+ ...
+l. ... }
+This is a coding error.
+Local assignment to a global variable '\g__pdfmeta_standard_pdf/A-1B_prop'.
+! LaTeX3 Error: Inconsistent local/global assignment
+For immediate help type H <return>.
+ ...
+l. ... }
+This is a coding error.
+Local assignment to a global variable '\g__pdfmeta_standard_pdf/A-1B_prop'.
+! LaTeX3 Error: Inconsistent local/global assignment
+For immediate help type H <return>.
+ ...
+l. ... }
+This is a coding error.
+Local assignment to a global variable '\g__pdfmeta_standard_pdf/A-1B_prop'.
+! LaTeX3 Error: Inconsistent local/global assignment
+For immediate help type H <return>.
+ ...
+l. ... }
+This is a coding error.
+Local assignment to a global variable '\g__pdfmeta_standard_pdf/A-1B_prop'.
+! LaTeX3 Error: Inconsistent local/global assignment
+For immediate help type H <return>.
+ ...
+l. ... }
+This is a coding error.
+Local assignment to a global variable '\g__pdfmeta_standard_pdf/A-1B_prop'.
+! LaTeX3 Error: Inconsistent local/global assignment
+For immediate help type H <return>.
+ ...
+l. ... }
+This is a coding error.
+Local assignment to a global variable '\g_pdffile_mimetypes_prop'.
+! LaTeX3 Error: Inconsistent local/global assignment
+For immediate help type H <return>.
+ ...
+l. ... }
+This is a coding error.
+Local assignment to a global variable '\g_pdffile_mimetypes_prop'.
+! LaTeX3 Error: Inconsistent local/global assignment
+For immediate help type H <return>.
+ ...
+l. ... }
+This is a coding error.
+Local assignment to a global variable '\g_pdffile_mimetypes_prop'.
+! LaTeX3 Error: Inconsistent local/global assignment
+For immediate help type H <return>.
+ ...
+l. ... }
+This is a coding error.
+Local assignment to a global variable '\g_pdffile_mimetypes_prop'.
+! LaTeX3 Error: Inconsistent local/global assignment
+For immediate help type H <return>.
+ ...
+l. ... }
+This is a coding error.
+Local assignment to a global variable '\g_pdffile_mimetypes_prop'.
+! LaTeX3 Error: Inconsistent local/global assignment
+For immediate help type H <return>.
+ ...
+l. ... }
+This is a coding error.
+Local assignment to a global variable '\g_pdffile_mimetypes_prop'.
+! LaTeX3 Error: Inconsistent local/global assignment
+For immediate help type H <return>.
+ ...
+l. ... }
+This is a coding error.
+Local assignment to a global variable '\g_pdffile_mimetypes_prop'.
+! LaTeX3 Error: Inconsistent local/global assignment
+For immediate help type H <return>.
+ ...
+l. ... }
+This is a coding error.
+Local assignment to a global variable '\g_pdffile_mimetypes_prop'.
+! LaTeX3 Error: Inconsistent local/global assignment
+For immediate help type H <return>.
+ ...
+l. ... }
+This is a coding error.
+Local assignment to a global variable '\g_pdffile_mimetypes_prop'.
+! LaTeX3 Error: Inconsistent local/global assignment
+For immediate help type H <return>.
+ ...
+l. ... }
+This is a coding error.
+Local assignment to a global variable '\g_pdffile_mimetypes_prop'.
+! LaTeX3 Error: Inconsistent local/global assignment
+For immediate help type H <return>.
+ ...
+l. ... }
+This is a coding error.
+Local assignment to a global variable '\g_pdffile_mimetypes_prop'.
+! LaTeX3 Error: Inconsistent local/global assignment
+For immediate help type H <return>.
+ ...
+l. ... }
+This is a coding error.
+Local assignment to a global variable '\g_pdffile_mimetypes_prop'.
+))) (../l3backend-testphase-dvips.def
+File: l3backend-testphase-dvips.def ....-..-.. LaTeX PDF management testphase bundle backend support:dvips
+(../l3ref-tmp.sty
+Package: l3ref-tmp ....-..-.. L3 Experimental cross-referencing
+)
+\l__pdf_backend_tmpa_box=\box...
+\l__pdf_backend_tmpb_box=\box...
+\g__pdf_backend_resourceid_int=\count...
+\g__pdf_backend_name_int=\count...
+\g__pdf_backend_page_int=\count...
+) (../pdfmanagement-firstaid.sty
+Package: pdfmanagement-firstaid ....-..-.. v... LaTeX PDF management testphase bundle / firstaid-patches
+(../output-patches-tmp-ltx.sty
+Package: output-patches-tmp-ltx ....-..-.. v... Temporary patches of output commands
+(../etoolbox.sty
+Package: etoolbox ....-..-.. v... e-TeX tools for LaTeX (JAW)
+\etb at tempcnta=\count...
+)
+Patching header in \@outputpage
+Patching footer in \@outputpage
+Patching \@makecol for tagging
+Patching \@makecol for tagging
+LaTeX hooks Warning: Generic hook 'package/after/multicol' is deprecated.
+(hooks) Use hook 'package/multicol/after' instead.
+)
+LaTeX hooks Warning: Generic hook 'package/after/xcolor' is deprecated.
+(hooks) Use hook 'package/xcolor/after' instead.
+Package pdfmanagement Info: loading pdfmanagement firstaid code for pgf
+LaTeX hooks Warning: Generic hook 'file/after/pgfrcs.sty' is deprecated.
+(hooks) Use hook 'file/pgfrcs.sty/after' instead.
+LaTeX hooks Warning: Generic hook 'file/after/hyperxmp.sty' is deprecated.
+(hooks) Use hook 'file/hyperxmp.sty/after' instead.
+)
+Second call:
diff --git a/required/latex-lab/testfiles/documentmetadata-support-001.lvt b/required/latex-lab/testfiles/documentmetadata-support-001.lvt
new file mode 100644
index 00000000..721ffd0c
--- /dev/null
+++ b/required/latex-lab/testfiles/documentmetadata-support-001.lvt
@@ -0,0 +1,20 @@
+\input{regression-test}
+
+
+\START
+
+\typeout{First call:}
+
+\DocumentMetadata{}
+
+\typeout{Second call:}
+
+\DocumentMetadata{testphase=tagpdf}
+
+% bug: tagpdf not loaded
+\show\ShowTagging
+
+\END
+
+
+\documentclass{article}
diff --git a/required/latex-lab/testfiles/documentmetadata-support-001.tlg b/required/latex-lab/testfiles/documentmetadata-support-001.tlg
new file mode 100644
index 00000000..a5356d3c
--- /dev/null
+++ b/required/latex-lab/testfiles/documentmetadata-support-001.tlg
@@ -0,0 +1,58 @@
+This is a generated file for the l3build validation system.
+Don't change this file in any respect.
+First call:
+(documentmetadata-support.ltx (../pdfmanagement-testphase.sty
+Package: pdfmanagement-testphase ....-..-.. v... LaTeX PDF management testphase bundle
+(../pdfmanagement-testphase.ltx
+File: pdfmanagement-testphase.ltx ....-..-.. v... PDF management code (testphase)
+\g__pdfmanagement_EmbeddedFiles_int=\count...
+(../l3bitset.sty
+Package: l3bitset ....-..-.. L3 Experimental bitset support
+\l__bitset_internal_int=\count...
+)))) (../expl3.sty
+Package: expl3 ....-..-.. L3 programming layer (loader)
+(../l3backend-dvips.def
+File: l3backend-dvips.def ....-..-.. L3 backend support: dvips
+\l__pdf_internal_box=\box...
+\g__pdf_backend_object_int=\count...
+\l__pdf_backend_content_box=\box...
+\l__pdf_backend_model_box=\box...
+\g__pdf_backend_annotation_int=\count...
+\g__pdf_backend_link_int=\count...
+\g__pdf_backend_link_sf_int=\count...
+)) (../l3backend-testphase-dvips.def
+File: l3backend-testphase-dvips.def ....-..-.. LaTeX PDF management testphase bundle backend support:dvips
+(../l3ref-tmp.sty
+Package: l3ref-tmp ....-..-.. L3 Experimental cross-referencing
+)
+\l__pdf_backend_tmpa_box=\box...
+\l__pdf_backend_tmpb_box=\box...
+\g__pdf_backend_resourceid_int=\count...
+\g__pdf_backend_name_int=\count...
+\g__pdf_backend_page_int=\count...
+) (../pdfmanagement-firstaid.sty
+Package: pdfmanagement-firstaid ....-..-.. v... LaTeX PDF management testphase bundle / firstaid-patches
+(../output-patches-tmp-ltx.sty
+Package: output-patches-tmp-ltx ....-..-.. v... Temporary patches of output commands
+(../etoolbox.sty
+Package: etoolbox ....-..-.. v... e-TeX tools for LaTeX (JAW)
+\etb at tempcnta=\count...
+)
+Patching header in \@outputpage
+Patching footer in \@outputpage
+Patching \@makecol for tagging
+Patching \@makecol for tagging
+LaTeX hooks Warning: Generic hook 'package/after/multicol' is deprecated.
+(hooks) Use hook 'package/multicol/after' instead.
+)
+LaTeX hooks Warning: Generic hook 'package/after/xcolor' is deprecated.
+(hooks) Use hook 'package/xcolor/after' instead.
+Package pdfmanagement Info: loading pdfmanagement firstaid code for pgf
+LaTeX hooks Warning: Generic hook 'file/after/pgfrcs.sty' is deprecated.
+(hooks) Use hook 'file/pgfrcs.sty/after' instead.
+LaTeX hooks Warning: Generic hook 'file/after/hyperxmp.sty' is deprecated.
+(hooks) Use hook 'file/hyperxmp.sty/after' instead.
+)
+Second call:
+> \ShowTagging=undefined.
+l. ...\show\ShowTagging
diff --git a/required/latex-lab/update-all.sh b/required/latex-lab/update-all.sh
new file mode 100644
index 00000000..07ff9e29
--- /dev/null
+++ b/required/latex-lab/update-all.sh
@@ -0,0 +1,4 @@
+l3build save \
+ documentmetadata-support-000 \
+ documentmetadata-support-001
+
More information about the latex3-commits
mailing list.