[latex3-commits] [git/LaTeX3-latex3-latex3] master: more on OR hooks (unfinished) (7a041cc30)

Frank Mittelbach frank.mittelbach at latex-project.org
Mon Jun 24 11:02:28 CEST 2019

Repository : https://github.com/latex3/latex3
On branch  : master
Link       : https://github.com/latex3/latex3/commit/7a041cc30c97783b7988d077b797488d56afbfa4


commit 7a041cc30c97783b7988d077b797488d56afbfa4
Author: Frank Mittelbach <frank.mittelbach at latex-project.org>
Date:   Mon Jun 24 11:02:28 2019 +0200

    more on OR hooks (unfinished)


 discussionpapers/2019-06-thoughts-on-hooks.tex | 46 ++++++++++++++++++++++++--
 1 file changed, 43 insertions(+), 3 deletions(-)

diff --git a/discussionpapers/2019-06-thoughts-on-hooks.tex b/discussionpapers/2019-06-thoughts-on-hooks.tex
index b3bf45cb5..3ab528fa7 100644
--- a/discussionpapers/2019-06-thoughts-on-hooks.tex
+++ b/discussionpapers/2019-06-thoughts-on-hooks.tex
@@ -8,7 +8,7 @@
   \LaTeX{} Project Team}
@@ -191,11 +191,11 @@ If there are several distinct use cases each could be added using
   compatibility) but it shows up in one or two other places in TL.
@@ -203,6 +203,46 @@ If there are several distinct use cases each could be added using
 \subsection{Output routine}
+\subsubsection{Making pages}
+  \cs{AtBeginDvi} is a legacy \LaTeXe{} interface that hooks into the
+  first shipout box at the very top. Afterwards the material is
+  dropped so it doesn't show up in later boxes. What is special is
+  that the hook itself is implemented as a box and each time
+  \cs{AtBeginDvi} is called more material is added to that box which
+  eventually is unboxed into the first shipout box. in that respect
+  that hook is rather ``special'' and right now I'm not sure it really
+  has to---use cases please.
+  If not then my proposal would be to deprecate it in favor of a
+  ``normal'' hook at the same place (i.e., implemented as a token
+  list) that would fit into the general model outlined above.
+  Suggested replacement for \texttt{begindvibox} as a normal named
+  hook. Executed at the very top inside the first shipoutbox.
+  Not being implemented as a box register internally also means that
+  it could execute other code than just adding \cs{special}s etc to
+  the shipout box.
+  Executed directly at the top of the shiout box but only for shipouts
+  after the first (which uses \texttt{firstshipout}.
+  For code that should be executed at all shipouts one need to put it
+  into both \texttt{firstshipout} and \texttt{shipout}.
 \subsubsection{Making columns}

More information about the latex3-commits mailing list