[latex3-commits] [git/LaTeX3-latex3-latex2e] metadata: added initial text for ltnews (5776b181)

Frank Mittelbach frank.mittelbach at latex-project.org
Wed Dec 15 15:00:53 CET 2021


Repository : https://github.com/latex3/latex2e
On branch  : metadata
Link       : https://github.com/latex3/latex2e/commit/5776b181dc7a55f0f8723cf10a4ee3a25491c58e

>---------------------------------------------------------------

commit 5776b181dc7a55f0f8723cf10a4ee3a25491c58e
Author: Frank Mittelbach <frank.mittelbach at latex-project.org>
Date:   Wed Dec 15 15:00:53 2021 +0100

    added initial text for ltnews


>---------------------------------------------------------------

5776b181dc7a55f0f8723cf10a4ee3a25491c58e
 base/doc/ltnews35.tex | 46 +++++++++++++++++++++++++++++++++++++++++++---
 1 file changed, 43 insertions(+), 3 deletions(-)

diff --git a/base/doc/ltnews35.tex b/base/doc/ltnews35.tex
index 4b3a5bc1..b7485475 100644
--- a/base/doc/ltnews35.tex
+++ b/base/doc/ltnews35.tex
@@ -138,9 +138,49 @@
 
 \section{Document metadata interface}
 
-\emph{to write}
-
-
+Until recently there has been no dedicated location to declare
+settings that affect a document as a whole. Settings had to be placed
+somewhere in the preamble or as class options or sometimes even as
+package options. For some such settings this may cause issues, e.g.,
+setting the PDF version is only possible as long as the PDF output
+file has not yet been opened which can be caused by loading one or the
+other package.
+
+For the \enquote{\LaTeX{} Tagged PDF project}~\cite{35:blueprint}
+further metadata about the whole document (and its processing) need to
+be specified and again this data should be all placed in a single
+well-defined place.
+
+For this reason we introduce the new command \cs{DocumentMetadata} to
+unify all such settings in one place.  The command expects a key/value
+list that describes all document metadata for the current document. It
+is only allowed to be used at the very beginning of the document,
+i.e., the declaration has to be placed \emph{before}
+\cs{documentclass} and will issue an error if found later.
+
+
+At this point in time we only provide the bare command in the format,
+the actual processing of the key/value is defined externally and the
+necessary code will be loaded if the command is used. This scheme is
+chosen for two reasons: by adding the command in the kernel it is
+available to everybody without the need to load a special package
+using \cs{RequirePackage}. The actual processing, though, is external
+so that we can easily extend the code (e.g., offering additional keys
+or changing the internal processing) why the above mentioned project
+is progressing. Both together allows users to immediately benefit from
+intermediate results produced as part of the project, as well as
+offering the \LaTeX{} Project Team the flexibility to enable such
+intermediate results (for test purposes or even production use)
+in-between and independently of regular \LaTeX{} releases. Over time,
+tested and approved functionality can then seamlessly move into the
+kernel at a later stage without any alterations to documents already
+using it. At the same time, not using the new consolidated interface
+means that existing documents are in no way affected by the work that
+is carried out and is in a wider alpha or beta test phase.
+
+\emph{either add info about some already existing keys or add a
+  reference to the place the the right documentation about this is
+  stored (to be determined).}
 
 
 \section{New or improved commands}





More information about the latex3-commits mailing list.