[latex3-commits] [git/LaTeX3-latex3-latex2e] lthooks: draft for ltnews32 (060b3aba)

Frank Mittelbach frank.mittelbach at latex-project.org
Thu Jul 9 18:23:23 CEST 2020


Repository : https://github.com/latex3/latex2e
On branch  : lthooks
Link       : https://github.com/latex3/latex2e/commit/060b3ababd51440c9a24ad53dd5f4b1960d1c51f

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

commit 060b3ababd51440c9a24ad53dd5f4b1960d1c51f
Author: Frank Mittelbach <frank.mittelbach at latex-project.org>
Date:   Thu Jul 9 18:23:23 2020 +0200

    draft for ltnews32


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

060b3ababd51440c9a24ad53dd5f4b1960d1c51f
 base/doc/ltnews32.tex | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 50 insertions(+)

diff --git a/base/doc/ltnews32.tex b/base/doc/ltnews32.tex
index 57670bf3..d6379d3a 100644
--- a/base/doc/ltnews32.tex
+++ b/base/doc/ltnews32.tex
@@ -187,6 +187,56 @@ the kernel code; these are deprecated but still available by
 explicitly loading \pkg{xparse}. All other argument types \emph{are}
 now available directly within the \LaTeXe{} kernel.
 
+
+
+
+
+
+\section{A hook management system for \LaTeX{}}
+
+With the fall 2020 release of \LaTeX{} we provide a general hook
+management system for the kernel and for packages. This will allow
+packages to safely add code to various kernel and package hooks and if
+necessary define rules to reorder the code in the hooks to resolve
+typical package loading order issues.  This hook system is written in
+the L3 programming layer and thus forms the first larger application
+within the kernel that makes use of the \LaTeX3 functionality now
+available (if we discount \pkg{xparse} which was already available for
+a long time as a separate package).
+
+The file \texttt{lthooks.dtx} holds the core management code for hooks
+and defines basic hooks for environments (as previously offered by
+\pkg{etoolbox}), \texttt{ltshipout.dtx} provides kernel hooks into the
+shipout process (making packages like \pkg{atbegshi},
+etc.\ unnecessary) and the file \texttt{ltfilehook.dtx} holds
+redefinition for commands like \cs{input} or \cs{usepackage} so that
+they offer hooks in a similar fashion to what is provided by the
+\pkg{filehook} package.
+
+At the moment the integration is lightweight, overwriting definitions
+made earlier during format generation (though this will change after
+more thorough testing).  For that reason the documention isn't in its
+final form either and you have to read through three different
+documents:
+\begin{description}
+  \item[\texttt{lthooks-doc.pdf}] Core management interface and basic
+    hooks for environments provided by the kernel.
+    
+  \item[\texttt{ltshipout-doc.pdf}] Hooks accessible while a page is
+    being shipped out.
+    
+  \item[\texttt{ltfilehook-doc.pdf}] Hooks used when reading a file.
+\end{description}
+For those who wish to also study the code, replace \texttt{-doc} with
+\texttt{-code}, e.g., \texttt{lthooks-code.pdf}. All documents should
+be accessible via \texttt{texdoc}, e.g.,
+\begin{verbatim}
+  texdoc lthooks-doc
+\end{verbatim}
+should open the core documentation for you.
+
+
+
 \section{Other changes to the \LaTeX{} kernel}
 
 





More information about the latex3-commits mailing list.