texlive[56666] Master/texmf-dist: leaflet (14oct20)

commits+karl at tug.org commits+karl at tug.org
Wed Oct 14 23:46:43 CEST 2020


Revision: 56666
          http://tug.org/svn/texlive?view=revision&revision=56666
Author:   karl
Date:     2020-10-14 23:46:43 +0200 (Wed, 14 Oct 2020)
Log Message:
-----------
leaflet (14oct20)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/leaflet/README.md
    trunk/Master/texmf-dist/doc/latex/leaflet/leaflet-manual.pdf
    trunk/Master/texmf-dist/doc/latex/leaflet/leaflet-manual.tex
    trunk/Master/texmf-dist/doc/latex/leaflet/leaflet.pdf
    trunk/Master/texmf-dist/source/latex/leaflet/leaflet.dtx
    trunk/Master/texmf-dist/tex/latex/leaflet/leaflet.cls

Modified: trunk/Master/texmf-dist/doc/latex/leaflet/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/leaflet/README.md	2020-10-14 21:46:12 UTC (rev 56665)
+++ trunk/Master/texmf-dist/doc/latex/leaflet/README.md	2020-10-14 21:46:43 UTC (rev 56666)
@@ -11,13 +11,8 @@
    leaflet.cls:                     tex/latex/leaflet
    leaflet.pdf,leaflet-manual.pdf:  doc/latex/leaflet
 ```
-For general installation advice, see
-http://www.tex.ac.uk/cgi-bin/texfaq2html?label=instpackages
 
 For bug reports use [this address](https://github.com/rolfn/leaflet/issues).
 
 The leaflet document class is also on CTAN:[macros/latex/contrib/leaflet](http://mirrors.ctan.org/macros/latex/contrib/leaflet)
 
-
-
-

Modified: trunk/Master/texmf-dist/doc/latex/leaflet/leaflet-manual.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/leaflet/leaflet-manual.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/leaflet/leaflet-manual.tex	2020-10-14 21:46:12 UTC (rev 56665)
+++ trunk/Master/texmf-dist/doc/latex/leaflet/leaflet-manual.tex	2020-10-14 21:46:43 UTC (rev 56666)
@@ -21,9 +21,9 @@
 %% This work has the LPPL maintenance status "author-maintained".
 %% 
 \def\filename{leaflet-manual.tex}
-\def\fileversion{v1.1b}   % change this when leaflet-manual changed, too.
-\def\filedate{2017/03/17}
-\def\docdate {2015/12/27} % change this when leaflet-manual changed, too.
+\def\fileversion{v2.0b}   % change this when leaflet-manual changed, too.
+\def\filedate{2020/10/14}
+\def\docdate {2020/10/14} % change this when leaflet-manual changed, too.
 \listfiles
 \errorcontextlines=99
 \documentclass[
@@ -68,8 +68,7 @@
 \MakeShortVerb{\|}
 \usepackage{url}
 \usepackage{graphicx}
-\usepackage[dvipsnames,usenames]{color}
-\definecolor{LIGHTGRAY}{gray}{.9}
+\usepackage[svgnames]{xcolor}
 
 %%%%\renewcommand{\descfont}{\normalfont}
 \newcommand\Lpack[1]{\textsf{#1}}
@@ -90,13 +89,13 @@
 \CutLine{6}%  Dotted line with scissors
 
 \AddToBackground{5}{%  Background of a small page
-  \put(0,0){\textcolor{Cerulean}{\rule{\paperwidth}{\paperheight}}}}
+  \put(0,0){\textcolor{LightSkyBlue}{\rule{\paperwidth}{\paperheight}}}}
 
 \AddToBackground*{2}{% Background of a large page
-  \put(\LenToUnit{.5\paperwidth},\LenToUnit{.5\paperheight}){%
+  \put(.5\paperwidth,.5\paperheight){%
     \makebox(0,0)[c]{%
       \resizebox{.9\paperwidth}{!}{\rotatebox{35.26}{%
-        \textsf{\textbf{\textcolor{LIGHTGRAY}{BACKGROUND}}}}}}}}
+        \textsf{\textbf{\textcolor{LightGray}{BACKGROUND}}}}}}}}
 
 \begin{document}
 
@@ -137,9 +136,6 @@
 \end{itemize}
 (Some other drivers supported by standard \LaTeX{} work as well.)
 
-The non-standard macro package \Lpack{everyshi} \cite{cit:everyshi} is
-used by the \Lclass{leaflet} class.
-
 \section{Features}
 
 Basically the \Lclass{leaflet} class provides the same features as the
@@ -326,9 +322,6 @@
 \bibitem{cit:latex-man}
   \textsc{L.\,Lamport}: \LaTeX. A Document Preparation System.
   \textit{User's Guide And Reference Manual.} Second Edition. 1994.
-\bibitem{cit:everyshi}
-  \textsc{M.\,Schr\"oder}: The \Lpack{everyshi} package. 2001.
-  CTAN: \url{macros/latex/contrib/ms/everyshi.dtx}
 \end{thebibliography}
 
 \loggingall

Modified: trunk/Master/texmf-dist/doc/latex/leaflet/leaflet.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/source/latex/leaflet/leaflet.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/leaflet/leaflet.dtx	2020-10-14 21:46:12 UTC (rev 56665)
+++ trunk/Master/texmf-dist/source/latex/leaflet/leaflet.dtx	2020-10-14 21:46:43 UTC (rev 56666)
@@ -20,16 +20,16 @@
 % \fi
 %
 % \iffalse
-%<class>\NeedsTeXFormat{LaTeX2e}[1999/12/01]
+%<class>\NeedsTeXFormat{LaTeX2e}[2020-10-01]
 %<class>\ProvidesClass{leaflet}
-%<class>  [2015/12/27 v1.1a LaTeX document class (JS,WaS,RN,HjG)]
+%<class>  [2020/10/14 v2.0b LaTeX document class (JS,WaS,RN,HjG)]
 %
 %<*driver|manual>
 %<driver>\def\filename{leaflet.dtx}
 %<manual>\def\filename{leaflet-manual.tex}
-\def\fileversion{v1.1b}   % change this when leaflet-manual changed, too.
-\def\filedate{2017/03/17}
-\def\docdate {2015/12/27} % change this when leaflet-manual changed, too.
+\def\fileversion{v2.0b}   % change this when leaflet-manual changed, too.
+\def\filedate{2020/10/14}
+\def\docdate {2020/10/14} % change this when leaflet-manual changed, too.
 %</driver|manual>
 %<*driver>
 \listfiles
@@ -52,7 +52,7 @@
 %</driver>
 % \fi
 %
-% \CheckSum{1303}
+% \CheckSum{1272}
 %
 % \CharacterTable
 %  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
@@ -144,16 +144,29 @@
 %<*class>
 %    \end{macrocode}
 %
+% \subsection{Test whether the LaTeX format is new enough}
+% We use the 'shipout/before' hook.
+%    \begin{macrocode}
+\@ifundefined{DiscardShipoutBox}{%
+  \ClassError{leaflet}{%
+    LaTeX version equal to or newer \MessageBreak
+    than '2020-10-01' is required%
+  }{%
+    Renew your TeX installation.%
+  }%  
+}{}
+%    \end{macrocode}
 % \subsection{Saving some internal macros\dots}
 %
 %    \begin{macrocode}
-\let\LL at shipout\shipout \let\LL at outputpage\@outputpage
-\let\LL at begindvi\@begindvi \let\LL@@end\@@end
+\let\LL at begindvi\@begindvi 
 %    \end{macrocode}
 % \subsection{Option processing}
 %
 % \changes{v1.0b}{2004/08/12}{New option
-%    \texttt{nospecialtricks} for testing purposes. (RN)}
+%    \texttt{nospecialtricks} for testing purposes. (RN)} 
+% \changes{v2.0a}{2020/10/13}{The macro \cmd{\LenToUnit} is no longer 
+%    required. (RN)}
 %    \begin{macrocode}
 \@ifundefined{iflandscape}{\newif\iflandscape}{}%
 \@ifundefined{iftumble}{\newif\iftumble}{}%
@@ -213,10 +226,10 @@
 \DeclareOption{foldmark}{%
   \def\LL at foldmark{%
     \begingroup
-      \linethickness{\LenToUnit{\foldmarkrule}}%
+      \linethickness{\foldmarkrule}%
       \@tempdima=\dimexpr\paperheight-\LL at tmargin
-      \put(0,\LenToUnit{\@tempdima}){%
-        \line(0,-1){\LenToUnit{\foldmarklength}}}%
+      \put(0,\@tempdima){%
+        \line(0,-1){\foldmarklength}}%
     \endgroup}%
 }
 %    \end{macrocode}
@@ -284,13 +297,12 @@
 %  \begin{macro}{\write}
 %  \begin{macro}{\openout}
 %  \begin{macro}{\closeout}
-% Im Folgenden definieren wir die \TeX{} primitives \cmd{\immediate},
-% \cmd{\write}, \cmd{\openout} und \cmd{\closeout} um. Alle nicht
-% ``immediate'' ausgef\"uhrten Anweisungen werden dem Makro
-% \cmd{\@@@pending at outs} (Kommaliste) hinzugef\"ugt. So k\"onnen speziell die
-% \cmd{\write}-Anweisungen unabh\"angig von \TeX's \cmd{\shipout}
-% zu einem g\"unstigen Zeitpunkt ausgef\"uhrt werden. For V\TeX\ we
-% must keep in mind that \cmd{\immediate}\cmd{\special} exist.
+% In the following we redefine the \TeX{} primitives \cmd{\immediate}, 
+% \cmd{\write}, \cmd{\openout}, and \cmd{\closeout}. All of them not 
+% ``immediate'' executed statements are added to the macro 
+% \cmd{\@@@pending at outs} (comma list). So especially the \cmd{\write} 
+% statements independent of \TeX's \cmd{\shipout} run at a convenient time. For 
+% V\TeX\ we must keep in mind that \cmd{\immediate}\cmd{\special} exist.
 % \changes{v1.0b}{2004/08/12}{\cmd{\special} must be processed similar
 % to e.\,g. \cmd{\write} (V\TeX). (RN)}
 %    \begin{macrocode}
@@ -426,20 +438,20 @@
 % ready. It works only for output commands in the main text which moved to
 % the next page but not for floating output commands.
 %    \begin{macrocode}
-    \newcommand*\@@@exec at outs{%
-      \begingroup
+\newcommand*\@@@exec at outs{%
+  \begingroup
 %    \end{macrocode}
 % Pending io's $=\cmd{\@tempcntb} = \mbox{TOTAL-OUTS}\,-\,\mbox{LAST-EXEC}$
 %    \begin{macrocode}
-        \@tempcntb\c@@@total at outs\advance\@tempcntb-\c@@@last at exec%
-        \edef\reserved at a{\botmarks\@@@out at mark}%
-        \ifx\reserved at a\@empty\@tempcnta\z@\else\@tempcnta\reserved at a\fi%
-        \LL at debug@info{PENDING-OUTS:\the\@tempcntb\space\space
-                       TOTAL-OUTS:\the\c@@@total at outs\space\space
-                       LAST-EXEC:\the\c@@@last at exec\space\space
-                       TOPMARK:\topmarks\@@@out at mark\space\space
-                       FIRSTMARK:\firstmarks\@@@out at mark\space\space
-                       BOTMARK:\botmarks\@@@out at mark}%
+    \@tempcntb\c@@@total at outs\advance\@tempcntb-\c@@@last at exec%
+    \edef\reserved at a{\botmarks\@@@out at mark}%
+    \ifx\reserved at a\@empty\@tempcnta\z@\else\@tempcnta\reserved at a\fi%
+    \LL at debug@info{PENDING-OUTS:\the\@tempcntb\space\space
+                   TOTAL-OUTS:\the\c@@@total at outs\space\space
+                   LAST-EXEC:\the\c@@@last at exec\space\space
+                   TOPMARK:\topmarks\@@@out at mark\space\space
+                   FIRSTMARK:\firstmarks\@@@out at mark\space\space
+                   BOTMARK:\botmarks\@@@out at mark}%
 %    \end{macrocode}
 % Last valid pending entry $ = \cmd{\@tempcntb} =
 %   \mbox{PENDING-OUTS}\,-\,\mbox{TOTAL-OUTS}\,+\,\mbox{BOTMARK} $
@@ -447,33 +459,33 @@
 % Number of invalid (moved) out's $ = \cmd{\@tempcnta} =
 %   \mbox{TOTAL-OUTS}\,-\,\mbox{BOTMARK} $
 %    \begin{macrocode}
-        \advance\@tempcnta-\c@@@total at outs \advance\@tempcntb\@tempcnta
-        \@tempcnta-\@tempcnta%
-        \ifnum\@tempcnta>\z@
-          \LL at debug@info{%
-            >>> resave \the\@tempcnta\space output command(s).
-                Too early to execute! <<<}%
-        \fi
-        \@tempcnta\z@ \def\reserved at b{}%
-        \@for\reserved at a :=\@@@pending at outs\do{%
-          \ifx\reserved at a\@empty\else
-            \ifnum\@tempcnta<\@tempcntb%
-              \reserved at a%  execute output's related to the current page box.
-              \global\advance\c@@@last at exec\@ne
-              \LL at debug@info{>>> execute output command number
-                       \the\c@@@last at exec\space<<<}%
-            \else
+    \advance\@tempcnta-\c@@@total at outs \advance\@tempcntb\@tempcnta
+    \@tempcnta-\@tempcnta%
+    \ifnum\@tempcnta>\z@
+      \LL at debug@info{%
+        >>> resave \the\@tempcnta\space output command(s).
+            Too early to execute! <<<}%
+    \fi
+    \@tempcnta\z@ \def\reserved at b{}%
+    \@for\reserved at a :=\@@@pending at outs\do{%
+      \ifx\reserved at a\@empty\else
+        \ifnum\@tempcnta<\@tempcntb%
+          \reserved at a%  execute output's related to the current page box.
+          \global\advance\c@@@last at exec\@ne
+          \LL at debug@info{>>> execute output command number
+                   \the\c@@@last at exec\space<<<}%
+        \else
 %    \end{macrocode}
 % Other output's must be resaved and still pending.
 %    \begin{macrocode}
-              \expandafter\g at addto@macro\expandafter\reserved at b\expandafter{%
-                \reserved at a,}%
-            \fi
-            \advance\@tempcnta\@ne%
-          \fi}%
-        \expandafter\@temptokena\expandafter{\reserved at b}%
-        \xdef\@@@pending at outs{\the\@temptokena}%
-      \endgroup}%
+          \expandafter\g at addto@macro\expandafter\reserved at b\expandafter{%
+            \reserved at a,}%
+        \fi
+        \advance\@tempcnta\@ne%
+      \fi}%
+    \expandafter\@temptokena\expandafter{\reserved at b}%
+    \xdef\@@@pending at outs{\the\@temptokena}%
+  \endgroup}%
 %    \end{macrocode}
 %  \end{macro}
 %    \begin{macrocode}
@@ -498,13 +510,6 @@
     \if at nobreak\ifvmode\nobreak\fi\fi}%
 %    \end{macrocode}
 %  \end{macro}
-%  \begin{macro}{\shipout}
-%  We make \LaTeX's \cmd{\shipout} inefficacious (no more shipout at
-%  all).
-%    \begin{macrocode}
-  \def\shipout{\deadcycles\z@\setbox\@tempboxa=}
-%    \end{macrocode}
-%  \end{macro}
 %  \begin{macro}{\@begindvi}
 %  Delay \cmd{\@begindvi} to be executed until the real page output.
 %    \begin{macrocode}
@@ -519,7 +524,7 @@
 %   package `calc'.(RN)}
 %    \begin{macrocode}
 \LoadClass{article}
-\RequirePackage{everyshi,graphicx}
+\RequirePackage{graphicx}
 %    \end{macrocode}
 %  \begin{macro}{\LL at pagesize@specials}
 % Now the graphics driver is known.
@@ -540,7 +545,7 @@
     \if at tempswa
       \ClassInfo{leaflet}{Generating code for dvips}%
       \def\LL at pagesize@specials#1#2{%
-        \@tempdima=#1\@tempdimb=#2%
+        \@tempdima=#1\@tempdimb=#2 %
         \AtBeginDvi{\special{papersize=\the\@tempdima,\the\@tempdimb}}}%
     \fi
     \def\reserved at a{pdftex}%
@@ -547,20 +552,20 @@
     \ifx\filename at base\reserved at a
       \ClassInfo{leaflet}{Generating code for pdfTeX}%
       \def\LL at pagesize@specials#1#2{%
-        \@tempdima=#1\@tempdimb=#2%
+        \@tempdima=#1\@tempdimb=#2 %
         \pdfpagewidth\@tempdima\pdfpageheight\@tempdimb}%
     \fi
     \def\reserved at a{luatex}%
     \ifx\filename at base\reserved at a
       \ClassInfo{leaflet}{Generating code for LuaTeX}%
-      \ifx\pdfvariable\@undefined
+      \ifx\pdfpagewidth\@undefined
         \def\LL at pagesize@specials#1#2{%
-          \@tempdima=#1\@tempdimb=#2%
-          \pdfpagewidth\@tempdima\pdfpageheight\@tempdimb}%     
+          \@tempdima=#1\@tempdimb=#2 %
+          \pagewidth\@tempdima\pageheight\@tempdimb}%    
       \else
         \def\LL at pagesize@specials#1#2{%
-          \@tempdima=#1\@tempdimb=#2%
-          \pagewidth\@tempdima\pageheight\@tempdimb}%
+          \@tempdima=#1\@tempdimb=#2 %
+          \pdfpagewidth\@tempdima\pdfpageheight\@tempdimb}% 
       \fi
     \fi
     \def\reserved at a{xetex}%
@@ -814,16 +819,6 @@
 %    \end{macrocode}
 %  \end{macro}
 %  \end{macro}
-% \begin{macro}{\LenToUnit}
-% \changes{v1.0a}{2004/08/08}{New macro \cmd{\LenToUnit}. (RN)}
-% \changes{v1.1a}{2015/12/27}{\cmd{\providecommand} instead of
-%   \cmd{\newcommand}. (RN)}
-% \cmd{\LenToUnit}\marg{dimension} can be used in a
-% |picture| environment instead of multiples of \cmd{\unitlength}.
-%    \begin{macrocode}
-\providecommand\LenToUnit[1]{#1\@gobble}
-%    \end{macrocode}
-%  \end{macro}
 %  \begin{macro}{\CutLine}
 %  \begin{macro}{\CutLine*}
 %  \begin{macro}{\Scissors}
@@ -840,13 +835,13 @@
     \if at tempswa
       \AddToBackground{#1}{%
         \put(0,0){%
-          \rotatebox{90}{\makebox(\LenToUnit{\paperheight},0){%
+          \rotatebox{90}{\makebox(\paperheight,0){%
             \normalsize
             \dotfill}}}}%
     \else
       \AddToBackground{#1}{%
         \put(0,0){%
-          \rotatebox{90}{\makebox(\LenToUnit{\paperheight},0){%
+          \rotatebox{90}{\makebox(\paperheight,0){%
             \normalsize
             \dotfill\Scissors\dotfill\dotfill\Scissors\dotfill}}}}%
     \fi
@@ -876,7 +871,7 @@
 %  \end{macro}
 %  We use our own page saving macro instead of real \LaTeX\ output.
 %    \begin{macrocode}
-\AtBeginDocument{\EveryShipout{\LL at savePage}}
+\AtBeginDocument{\AddToHook{shipout/before}{\LL at processPage}}
 %    \end{macrocode}
 %  \begin{macro}{LL at page}
 % A counter for the small pages (absolute counting).
@@ -885,14 +880,19 @@
 \newcommand\LL at tempa{}
 %    \end{macrocode}
 %  \end{macro}
-%  \begin{macro}{\LL at savePage}
+%  \begin{macro}{\LL at processPage}
 % With ``combine'' option the six small pages will be saved in box registers
 % (\cmd{\LL at boxI}\dots \cmd{\LL at boxVI}).
-% The box255 with the page content must be a bit moved to get a
-% ``normal-sized'' box.
+% The \cmd{\ShipoutBox} with the page content must be a bit moved to get a
+% ``normal-sized'' box. In ``nocombine'' mode only put the background picture.
 % \changes{v1.1a}{2015/12/27}{Additions for new option `foldcorr'. (RN)}
+% \changes{v2.0a}{2020/10/13}{Do not call \cmd{\@@@exec at outs} temporarily. (RN)}
+% \changes{v2.0a}{2020/10/13}{Using \LaTeX's new 'shipout/before' hook. (RN)}
+% \changes{v2.0b}{2020/10/14}{Renamed \cmd{\LL at savePage} to 
+%   \cmd{\LL at processPage}. (RN)}
 %    \begin{macrocode}
-\newcommand*\LL at savePage{%
+\newcommand*\LL at processPage{%
+  \ifLL at combine\DiscardShipoutBox\fi
   \ifnum\c at LL@page<7\relax
     \LL at tempdima=\paperwidth
     \ifLL at combine
@@ -908,18 +908,19 @@
         \if at tempswa\LL at tempdima=0.9797979798\paperwidth
         \else\LL at tempdima=1.0101010101\paperwidth \fi
       \fi
-      \@@@exec at outs
+      %%%\@@@exec at outs
       \expandafter\newsavebox\csname LL at box\Roman{LL at page}\endcsname%
-      \setbox\@cclv=\vbox{\vskip1in\unvbox\@cclv}%
-      \setbox\@cclv=\vbox{\moveright1in\box\@cclv}%
-      \setbox\@cclv=\hb at xt@\paperwidth{\box\@cclv\hss}%
-      \iffoldcorr\setbox\@cclv=\hb at xt@\LL at tempdima{\hss\box\@cclv\hss}\fi
+      \setbox\ShipoutBox=\vbox{\vskip1in\unvbox\ShipoutBox}%
+      \setbox\ShipoutBox=\vbox{\moveright1in\box\ShipoutBox}%
+      \setbox\ShipoutBox=\hb at xt@\paperwidth{\box\ShipoutBox\hss}%
+      \iffoldcorr
+        \setbox\ShipoutBox=\hb at xt@\LL at tempdima{\hss\box\ShipoutBox\hss}\fi
 %    \end{macrocode}
 % Add a background picture to a single small page (`combine').
 %    \begin{macrocode}
-      \setbox\@cclv=\vb at xt@\paperheight{%
+      \setbox\ShipoutBox=\vb at xt@\paperheight{%
         \vbox{%
-          \pictur@(0,0)(0,\LenToUnit{\paperheight})%
+          \pictur@(0,0)(0,\paperheight)%
             \begingroup
               \set at typeset@protect
               \paperwidth=\LL at tempdima
@@ -927,19 +928,19 @@
             \endgroup
           \endpicture
         }%
-        \nointerlineskip\box\@cclv\vss
+        \nointerlineskip\box\ShipoutBox\vss
       }%
       \global\expandafter\setbox
-        \csname LL at box\Roman{LL at page}\endcsname=\box\@cclv
+        \csname LL at box\Roman{LL at page}\endcsname=\box\ShipoutBox
       \typeout{\@spaces[\the\c at LL@page] ==> [\Roman{LL at page}]}%
     \else
 %    \end{macrocode}
 % Add a background picture to a single small page (`nocombine').
 %    \begin{macrocode}
-      \setbox\@cclv\vbox{%
+      \setbox\ShipoutBox\vbox{%
         \vbox{\@tempdima=1in\relax
           \@tempdimb=\paperheight\advance\@tempdimb-\@tempdima
-          \pictur@(0,0)(\LenToUnit{\@tempdima},\LenToUnit{\@tempdimb})%
+          \pictur@(0,0)(\@tempdima,\@tempdimb)%
             \begingroup
               \set at typeset@protect
               \@nameuse{LL at smallPic\Roman{LL at page}}%
@@ -946,7 +947,7 @@
             \endgroup
           \endpicture
         }%
-        \nointerlineskip\box\@cclv
+        \nointerlineskip\box\ShipoutBox
       }%
     \fi
   \fi
@@ -967,53 +968,58 @@
 %    \end{macrocode}
 %  \end{macro}
 %
-% \subsubsection{Generating missing small pages}
+% \noindent NOTE TO OURSELVES:
+%  All the following must be done if the document code is already
+%  processed. 
 %
-% NOTE TO OURSELVES:
-%  All the following must be done if the document code is already
-%  processed.
+% \changes{v2.0b}{2020/10/14}{Using hooks instead of redefinition 
+%   of \cmd{\@@end}. (RN)}
+%  \begin{macro}{\LL at add@empty at pages}
+% Generating missing small pages
 %    \begin{macrocode}
-\ifLL at combine
+\newcommand*\LL at add@empty at pages{%
+   \clearpage\pagestyle{empty}%
+   \loop\ifnum\c at LL@page<7\relax
+     \ClassInfo{leaflet}{Generating empty page \the\c at page}%
+     \null\newpage
+   \repeat
+}
 %    \end{macrocode}
-%  \begin{macro}{\@@end}
+%  \end{macro}
+%  \begin{macro}{\LL at shipout@combined at pages}
 %    \begin{macrocode}
-  \def\@@end{%
-    \clearpage\pagestyle{empty}%
+\newcommand*\LL at shipout@combined at pages{%
 %    \end{macrocode}
-% Restore the original \cmd{\@outputpage} command (removing any related
-% background pictures).
-%    \begin{macrocode}
-    \let\@outputpage\LL at outputpage
-%    \end{macrocode}
-% Suppresses all everyshi's clients (removing other kinds of
-% background pictures) but our page saving macro is still needed for
+%
+% \subsubsection{Reassembling the small pages}
+%
+% Suppresses all shipout hook's clients (removing other kinds of
+% background pictures). Our page saving macro is still needed for
 % the next step and must be set again.
+% \changes{v2.0b}{2020/10/14}{Suppress other background images. (RN)}
 %    \begin{macrocode}
-    \def\@EveryShipout at Hook{}%
-    \def\@EveryShipout at AtNextHook{}%
-    \EveryShipout{\LL at savePage}%
+  \RemoveFromHook{shipout/foreground}[*]
+  \RemoveFromHook{shipout/background}[*]
+  \RemoveFromHook{shipout/firstpage}[*]
+  \RemoveFromHook{shipout/lastpage}[*]
+  \RemoveFromHook{shipout/before}[*]
+  \AddToHook{shipout/before}{\LL at processPage}    
 %    \end{macrocode}
 % Create empty pages if necessary.
 %    \begin{macrocode}
-    \loop\ifnum\c at LL@page<7\relax
-      \ClassInfo{leaflet}{Generating empty page \the\c at page}%
-      \null\newpage
-    \repeat
+  \LL at add@empty at pages
 %    \end{macrocode}
-%
-% \subsubsection{Reassembling the small pages}
-%
-% Here begins the real output using \LaTeX's original \cmd{\shipout}.
-% The \textsf{everyshi} package isn't active any more.
-% The begin dvi hook is reactivated.
+% Here begins the real output. LaTeX's \cmd{\shipout} will no more suppressed. 
+% The begin dvi hook is reactivated. Final removing content from the hook.
 %    \begin{macrocode}
-    \let\shipout\LL at shipout \let\@begindvi\LL at begindvi
-    \paperwidth=3\paperwidth
-    \iflandscape
-      \LL at pagesize@specials{\paperwidth}{\paperheight}%
-    \else
-      \LL at pagesize@specials{\paperheight}{\paperwidth}%
-    \fi
+  \RemoveFromHook{shipout/before}[*]
+  \let\@begindvi\LL at begindvi
+  \paperwidth=3\paperwidth
+  \iflandscape
+    \LL at pagesize@specials{\paperwidth}{\paperheight}%
+  \else
+    \LL at pagesize@specials{\paperheight}{\paperwidth}%
+  \fi
 %    \end{macrocode}
 %  \begin{macro}{\LL at shipoutPage}
 % \changes{v1.0c}{2004/08/13}{Fix \cmd{\protect}-ion problems. (RN/HjG)}
@@ -1024,22 +1030,22 @@
 % Helper macros for page output: reassemble the small pages.
 %
 %    \begin{macrocode}
-    \newcommand*\LL at shipoutPage[1]{%
+  \newcommand*\LL at shipoutPage[1]{%
 %     \set at display@protect
-      \let \protect \noexpand
-      \shipout\vb at xt@\paperheight{%
-        \set at typeset@protect
-        \vskip-1in%
-        \@begindvi\hb at xt@\paperwidth{\hskip-1in##1\hss}\vss}}%
-    \newcommand*\LL at preparePages[3]{%
-      \typeout{[\@Roman{##1}\space\@Roman{##2}\space\@Roman{##3}] ==>}%
+    \let \protect \noexpand
+    \shipout\vb at xt@\paperheight{%
+      \set at typeset@protect
+      \vskip-1in%
+      \@begindvi\hb at xt@\paperwidth{\hskip-1in##1\hss}\vss}}%
+  \newcommand*\LL at preparePages[3]{%
+    \typeout{[\@Roman{##1}\space\@Roman{##2}\space\@Roman{##3}] ==>}%
 %    \end{macrocode}
 % Add a background picture to a large page.
 %    \begin{macrocode}
-      \pictur@(0,0)\@nameuse{LL at largePic\Roman{page}}\endpicture%
-      \LL at preparePage{##1}\LL at preparePage{##2}\LL at preparePage{##3}}%
-    \newcommand*\LL at preparePage[1]{%
-      \expandafter\box\csname LL at box\@Roman{##1}\endcsname}%
+    \pictur@(0,0)\@nameuse{LL at largePic\Roman{page}}\endpicture%
+    \LL at preparePage{##1}\LL at preparePage{##2}\LL at preparePage{##3}}%
+  \newcommand*\LL at preparePage[1]{%
+    \expandafter\box\csname LL at box\@Roman{##1}\endcsname}%
 %    \end{macrocode}
 %  \end{macro}
 %  \end{macro}
@@ -1049,24 +1055,24 @@
 % order, to allow the typesetting of a 4 page leaflet and a detachable 2 page
 % form, for summaries, fill-in forms, applications, questionnaires, etc.
 %    \begin{macrocode}
-      \LL at selectOutput
-    \iftwopart
-        {\setcounter{page}{1}%
-         \LL at shipoutPage{\LL at rotate@I{\LL at preparePages{6}{4}{1}}}}%
-        {\setcounter{page}{2}%
-         \LL at shipoutPage{\LL at rotate@II{\LL at preparePages{2}{3}{5}}}}%
-    \else
-        {\setcounter{page}{1}%
-         \LL at shipoutPage{\LL at rotate@I{\LL at preparePages{5}{6}{1}}}}%
-        {\setcounter{page}{2}%
-         \LL at shipoutPage{\LL at rotate@II{\LL at preparePages{2}{3}{4}}}}%
-    \fi
-      \LL@@end
-  }%
+  \LL at selectOutput
+  \iftwopart
+    {\setcounter{page}{1}%
+     \LL at shipoutPage{\LL at rotate@I{\LL at preparePages{6}{4}{1}}}}%
+    {\setcounter{page}{2}%
+     \LL at shipoutPage{\LL at rotate@II{\LL at preparePages{2}{3}{5}}}}%
+  \else
+    {\setcounter{page}{1}%
+     \LL at shipoutPage{\LL at rotate@I{\LL at preparePages{5}{6}{1}}}}%
+    {\setcounter{page}{2}%
+     \LL at shipoutPage{\LL at rotate@II{\LL at preparePages{2}{3}{4}}}}%
+  \fi
+}%
 %    \end{macrocode}
-% End of the redefinition of \cmd{\@@end}.
 %  \end{macro}
-%    \begin{macrocode}
+%    \begin{macrocode}    
+\ifLL at combine
+  \AddToHook{enddocument/end}{\LL at shipout@combined at pages}
 \else
 %    \end{macrocode}
 % Create empty pages if necessary and then call the normal \LaTeX\ end.
@@ -1073,11 +1079,7 @@
 %    \begin{macrocode}
   \LL at pagesize@specials{\paperwidth}{\paperheight}%
   \AtEndDocument{%
-    \clearpage\pagestyle{empty}%
-    \loop\ifnum\c at LL@page<7\relax
-      \ClassInfo{leaflet}{Generating empty page \the\c at page}%
-      \null\newpage
-    \repeat
+    \LL at add@empty at pages
   }
 \fi
 %</class>
@@ -1138,8 +1140,7 @@
 \MakeShortVerb{\|}
 \usepackage{url}
 \usepackage{graphicx}
-\usepackage[dvipsnames,usenames]{color}
-\definecolor{LIGHTGRAY}{gray}{.9}
+\usepackage[svgnames]{xcolor}
 
 %%%%\renewcommand{\descfont}{\normalfont}
 \newcommand\Lpack[1]{\textsf{#1}}
@@ -1160,13 +1161,13 @@
 \CutLine{6}%  Dotted line with scissors
 
 \AddToBackground{5}{%  Background of a small page
-  \put(0,0){\textcolor{Cerulean}{\rule{\paperwidth}{\paperheight}}}}
+  \put(0,0){\textcolor{LightSkyBlue}{\rule{\paperwidth}{\paperheight}}}}
 
 \AddToBackground*{2}{% Background of a large page
-  \put(\LenToUnit{.5\paperwidth},\LenToUnit{.5\paperheight}){%
+  \put(.5\paperwidth,.5\paperheight){%
     \makebox(0,0)[c]{%
       \resizebox{.9\paperwidth}{!}{\rotatebox{35.26}{%
-        \textsf{\textbf{\textcolor{LIGHTGRAY}{BACKGROUND}}}}}}}}
+        \textsf{\textbf{\textcolor{LightGray}{BACKGROUND}}}}}}}}
 
 \begin{document}
 
@@ -1208,10 +1209,6 @@
 \end{itemize}
 (Some other drivers supported by standard \LaTeX{} work as well.)
 
-The non-standard macro package \Lpack{everyshi} \cite{cit:everyshi} is
-used by the \Lclass{leaflet} class.
-
-
 \section{Features}
 
 Basically the \Lclass{leaflet} class provides the same features as the
@@ -1401,9 +1398,6 @@
 \bibitem{cit:latex-man}
   \textsc{L.\,Lamport}: \LaTeX. A Document Preparation System.
   \textit{User's Guide And Reference Manual.} Second Edition. 1994.
-\bibitem{cit:everyshi}
-  \textsc{M.\,Schr\"oder}: The \Lpack{everyshi} package. 2001.
-  CTAN: \url{macros/latex/contrib/ms/everyshi.dtx}
 \end{thebibliography}
 
 \loggingall

Modified: trunk/Master/texmf-dist/tex/latex/leaflet/leaflet.cls
===================================================================
--- trunk/Master/texmf-dist/tex/latex/leaflet/leaflet.cls	2020-10-14 21:46:12 UTC (rev 56665)
+++ trunk/Master/texmf-dist/tex/latex/leaflet/leaflet.cls	2020-10-14 21:46:43 UTC (rev 56666)
@@ -20,11 +20,18 @@
 %% 
 %% This work has the LPPL maintenance status "author-maintained".
 %% 
-\NeedsTeXFormat{LaTeX2e}[1999/12/01]
+\NeedsTeXFormat{LaTeX2e}[2020-10-01]
 \ProvidesClass{leaflet}
-  [2015/12/27 v1.1a LaTeX document class (JS,WaS,RN,HjG)]
-\let\LL at shipout\shipout \let\LL at outputpage\@outputpage
-\let\LL at begindvi\@begindvi \let\LL@@end\@@end
+  [2020/10/14 v2.0b LaTeX document class (JS,WaS,RN,HjG)]
+\@ifundefined{DiscardShipoutBox}{%
+  \ClassError{leaflet}{%
+    LaTeX version equal to or newer \MessageBreak
+    than '2020-10-01' is required%
+  }{%
+    Renew your TeX installation.%
+  }%
+}{}
+\let\LL at begindvi\@begindvi
 \@ifundefined{iflandscape}{\newif\iflandscape}{}%
 \@ifundefined{iftumble}{\newif\iftumble}{}%
 \@ifundefined{iftwopart}{\newif\iftwopart}{}%
@@ -65,10 +72,10 @@
 \DeclareOption{foldmark}{%
   \def\LL at foldmark{%
     \begingroup
-      \linethickness{\LenToUnit{\foldmarkrule}}%
+      \linethickness{\foldmarkrule}%
       \@tempdima=\dimexpr\paperheight-\LL at tmargin
-      \put(0,\LenToUnit{\@tempdima}){%
-        \line(0,-1){\LenToUnit{\foldmarklength}}}%
+      \put(0,\@tempdima){%
+        \line(0,-1){\foldmarklength}}%
     \endgroup}%
 }
 \DeclareOption{nofoldmark}{\def\LL at foldmark{}}%
@@ -181,41 +188,41 @@
   \global\advance\c@@@total at outs\@ne%
   \marks\@@@out at mark{\the\c@@@total at outs}%
   \g at addto@macro\@@@pending at outs{\@@@immediate\@@@closeout\number#1,}}%
-    \newcommand*\@@@exec at outs{%
-      \begingroup
-        \@tempcntb\c@@@total at outs\advance\@tempcntb-\c@@@last at exec%
-        \edef\reserved at a{\botmarks\@@@out at mark}%
-        \ifx\reserved at a\@empty\@tempcnta\z@\else\@tempcnta\reserved at a\fi%
-        \LL at debug@info{PENDING-OUTS:\the\@tempcntb\space\space
-                       TOTAL-OUTS:\the\c@@@total at outs\space\space
-                       LAST-EXEC:\the\c@@@last at exec\space\space
-                       TOPMARK:\topmarks\@@@out at mark\space\space
-                       FIRSTMARK:\firstmarks\@@@out at mark\space\space
-                       BOTMARK:\botmarks\@@@out at mark}%
-        \advance\@tempcnta-\c@@@total at outs \advance\@tempcntb\@tempcnta
-        \@tempcnta-\@tempcnta%
-        \ifnum\@tempcnta>\z@
-          \LL at debug@info{%
-            >>> resave \the\@tempcnta\space output command(s).
-                Too early to execute! <<<}%
+\newcommand*\@@@exec at outs{%
+  \begingroup
+    \@tempcntb\c@@@total at outs\advance\@tempcntb-\c@@@last at exec%
+    \edef\reserved at a{\botmarks\@@@out at mark}%
+    \ifx\reserved at a\@empty\@tempcnta\z@\else\@tempcnta\reserved at a\fi%
+    \LL at debug@info{PENDING-OUTS:\the\@tempcntb\space\space
+                   TOTAL-OUTS:\the\c@@@total at outs\space\space
+                   LAST-EXEC:\the\c@@@last at exec\space\space
+                   TOPMARK:\topmarks\@@@out at mark\space\space
+                   FIRSTMARK:\firstmarks\@@@out at mark\space\space
+                   BOTMARK:\botmarks\@@@out at mark}%
+    \advance\@tempcnta-\c@@@total at outs \advance\@tempcntb\@tempcnta
+    \@tempcnta-\@tempcnta%
+    \ifnum\@tempcnta>\z@
+      \LL at debug@info{%
+        >>> resave \the\@tempcnta\space output command(s).
+            Too early to execute! <<<}%
+    \fi
+    \@tempcnta\z@ \def\reserved at b{}%
+    \@for\reserved at a :=\@@@pending at outs\do{%
+      \ifx\reserved at a\@empty\else
+        \ifnum\@tempcnta<\@tempcntb%
+          \reserved at a%  execute output's related to the current page box.
+          \global\advance\c@@@last at exec\@ne
+          \LL at debug@info{>>> execute output command number
+                   \the\c@@@last at exec\space<<<}%
+        \else
+          \expandafter\g at addto@macro\expandafter\reserved at b\expandafter{%
+            \reserved at a,}%
         \fi
-        \@tempcnta\z@ \def\reserved at b{}%
-        \@for\reserved at a :=\@@@pending at outs\do{%
-          \ifx\reserved at a\@empty\else
-            \ifnum\@tempcnta<\@tempcntb%
-              \reserved at a%  execute output's related to the current page box.
-              \global\advance\c@@@last at exec\@ne
-              \LL at debug@info{>>> execute output command number
-                       \the\c@@@last at exec\space<<<}%
-            \else
-              \expandafter\g at addto@macro\expandafter\reserved at b\expandafter{%
-                \reserved at a,}%
-            \fi
-            \advance\@tempcnta\@ne%
-          \fi}%
-        \expandafter\@temptokena\expandafter{\reserved at b}%
-        \xdef\@@@pending at outs{\the\@temptokena}%
-      \endgroup}%
+        \advance\@tempcnta\@ne%
+      \fi}%
+    \expandafter\@temptokena\expandafter{\reserved at b}%
+    \xdef\@@@pending at outs{\the\@temptokena}%
+  \endgroup}%
   \fi% end of eTeX test.
   \long\def\protected at write#1#2#3{%
     \begingroup
@@ -226,11 +233,10 @@
        \reserved at a%
     \endgroup
     \if at nobreak\ifvmode\nobreak\fi\fi}%
-  \def\shipout{\deadcycles\z@\setbox\@tempboxa=}
   \let\@begindvi\@empty
 \fi% end of \ifLL at combine
 \LoadClass{article}
-\RequirePackage{everyshi,graphicx}
+\RequirePackage{graphicx}
 \newcommand*\LL at pagesize@specials[2]{}
 \@ifundefined{Gin at driver}{}{%
   \ifx\Gin at driver\@empty\else%
@@ -242,7 +248,7 @@
     \if at tempswa
       \ClassInfo{leaflet}{Generating code for dvips}%
       \def\LL at pagesize@specials#1#2{%
-        \@tempdima=#1\@tempdimb=#2%
+        \@tempdima=#1\@tempdimb=#2 %
         \AtBeginDvi{\special{papersize=\the\@tempdima,\the\@tempdimb}}}%
     \fi
     \def\reserved at a{pdftex}%
@@ -249,20 +255,20 @@
     \ifx\filename at base\reserved at a
       \ClassInfo{leaflet}{Generating code for pdfTeX}%
       \def\LL at pagesize@specials#1#2{%
-        \@tempdima=#1\@tempdimb=#2%
+        \@tempdima=#1\@tempdimb=#2 %
         \pdfpagewidth\@tempdima\pdfpageheight\@tempdimb}%
     \fi
     \def\reserved at a{luatex}%
     \ifx\filename at base\reserved at a
       \ClassInfo{leaflet}{Generating code for LuaTeX}%
-      \ifx\pdfvariable\@undefined
+      \ifx\pdfpagewidth\@undefined
         \def\LL at pagesize@specials#1#2{%
-          \@tempdima=#1\@tempdimb=#2%
-          \pdfpagewidth\@tempdima\pdfpageheight\@tempdimb}%
+          \@tempdima=#1\@tempdimb=#2 %
+          \pagewidth\@tempdima\pageheight\@tempdimb}%
       \else
         \def\LL at pagesize@specials#1#2{%
-          \@tempdima=#1\@tempdimb=#2%
-          \pagewidth\@tempdima\pageheight\@tempdimb}%
+          \@tempdima=#1\@tempdimb=#2 %
+          \pdfpagewidth\@tempdima\pdfpageheight\@tempdimb}%
       \fi
     \fi
     \def\reserved at a{xetex}%
@@ -411,7 +417,6 @@
   \if at tempswa\def\@tempa{LL at largePic}\else\def\@tempa{LL at smallPic}\fi
   \expandafter\providecommand\csname\@tempa\@Roman{#1}\endcsname{}%
   \expandafter\g at addto@macro\csname\@tempa\@Roman{#1}\endcsname{#2}}
-\providecommand\LenToUnit[1]{#1\@gobble}
 \newcommand*\CutLine{%
   \@ifstar{\@tempswatrue\LL at CutLine}{\@tempswafalse\LL at CutLine}}
 \@onlypreamble\CutLine
@@ -421,13 +426,13 @@
     \if at tempswa
       \AddToBackground{#1}{%
         \put(0,0){%
-          \rotatebox{90}{\makebox(\LenToUnit{\paperheight},0){%
+          \rotatebox{90}{\makebox(\paperheight,0){%
             \normalsize
             \dotfill}}}}%
     \else
       \AddToBackground{#1}{%
         \put(0,0){%
-          \rotatebox{90}{\makebox(\LenToUnit{\paperheight},0){%
+          \rotatebox{90}{\makebox(\paperheight,0){%
             \normalsize
             \dotfill\Scissors\dotfill\dotfill\Scissors\dotfill}}}}%
     \fi
@@ -438,10 +443,11 @@
   {\newcommand*\Scissors{}}
 \AddToBackground{3}{\LL at foldmark}
 \providecommand*\vb at xt@{\vbox to}
-\AtBeginDocument{\EveryShipout{\LL at savePage}}
+\AtBeginDocument{\AddToHook{shipout/before}{\LL at processPage}}
 \newcounter{LL at page}\setcounter{LL at page}{1}
 \newcommand\LL at tempa{}
-\newcommand*\LL at savePage{%
+\newcommand*\LL at processPage{%
+  \ifLL at combine\DiscardShipoutBox\fi
   \ifnum\c at LL@page<7\relax
     \LL at tempdima=\paperwidth
     \ifLL at combine
@@ -457,15 +463,16 @@
         \if at tempswa\LL at tempdima=0.9797979798\paperwidth
         \else\LL at tempdima=1.0101010101\paperwidth \fi
       \fi
-      \@@@exec at outs
+      %%%\@@@exec at outs
       \expandafter\newsavebox\csname LL at box\Roman{LL at page}\endcsname%
-      \setbox\@cclv=\vbox{\vskip1in\unvbox\@cclv}%
-      \setbox\@cclv=\vbox{\moveright1in\box\@cclv}%
-      \setbox\@cclv=\hb at xt@\paperwidth{\box\@cclv\hss}%
-      \iffoldcorr\setbox\@cclv=\hb at xt@\LL at tempdima{\hss\box\@cclv\hss}\fi
-      \setbox\@cclv=\vb at xt@\paperheight{%
+      \setbox\ShipoutBox=\vbox{\vskip1in\unvbox\ShipoutBox}%
+      \setbox\ShipoutBox=\vbox{\moveright1in\box\ShipoutBox}%
+      \setbox\ShipoutBox=\hb at xt@\paperwidth{\box\ShipoutBox\hss}%
+      \iffoldcorr
+        \setbox\ShipoutBox=\hb at xt@\LL at tempdima{\hss\box\ShipoutBox\hss}\fi
+      \setbox\ShipoutBox=\vb at xt@\paperheight{%
         \vbox{%
-          \pictur@(0,0)(0,\LenToUnit{\paperheight})%
+          \pictur@(0,0)(0,\paperheight)%
             \begingroup
               \set at typeset@protect
               \paperwidth=\LL at tempdima
@@ -473,16 +480,16 @@
             \endgroup
           \endpicture
         }%
-        \nointerlineskip\box\@cclv\vss
+        \nointerlineskip\box\ShipoutBox\vss
       }%
       \global\expandafter\setbox
-        \csname LL at box\Roman{LL at page}\endcsname=\box\@cclv
+        \csname LL at box\Roman{LL at page}\endcsname=\box\ShipoutBox
       \typeout{\@spaces[\the\c at LL@page] ==> [\Roman{LL at page}]}%
     \else
-      \setbox\@cclv\vbox{%
+      \setbox\ShipoutBox\vbox{%
         \vbox{\@tempdima=1in\relax
           \@tempdimb=\paperheight\advance\@tempdimb-\@tempdima
-          \pictur@(0,0)(\LenToUnit{\@tempdima},\LenToUnit{\@tempdimb})%
+          \pictur@(0,0)(\@tempdima,\@tempdimb)%
             \begingroup
               \set at typeset@protect
               \@nameuse{LL at smallPic\Roman{LL at page}}%
@@ -489,7 +496,7 @@
             \endgroup
           \endpicture
         }%
-        \nointerlineskip\box\@cclv
+        \nointerlineskip\box\ShipoutBox
       }%
     \fi
   \fi
@@ -503,58 +510,60 @@
     \endgroup
   \fi
   \stepcounter{LL at page}}
+\newcommand*\LL at add@empty at pages{%
+   \clearpage\pagestyle{empty}%
+   \loop\ifnum\c at LL@page<7\relax
+     \ClassInfo{leaflet}{Generating empty page \the\c at page}%
+     \null\newpage
+   \repeat
+}
+\newcommand*\LL at shipout@combined at pages{%
+  \RemoveFromHook{shipout/foreground}[*]
+  \RemoveFromHook{shipout/background}[*]
+  \RemoveFromHook{shipout/firstpage}[*]
+  \RemoveFromHook{shipout/lastpage}[*]
+  \RemoveFromHook{shipout/before}[*]
+  \AddToHook{shipout/before}{\LL at processPage}
+  \LL at add@empty at pages
+  \RemoveFromHook{shipout/before}[*]
+  \let\@begindvi\LL at begindvi
+  \paperwidth=3\paperwidth
+  \iflandscape
+    \LL at pagesize@specials{\paperwidth}{\paperheight}%
+  \else
+    \LL at pagesize@specials{\paperheight}{\paperwidth}%
+  \fi
+  \newcommand*\LL at shipoutPage[1]{%
+    \let \protect \noexpand
+    \shipout\vb at xt@\paperheight{%
+      \set at typeset@protect
+      \vskip-1in%
+      \@begindvi\hb at xt@\paperwidth{\hskip-1in##1\hss}\vss}}%
+  \newcommand*\LL at preparePages[3]{%
+    \typeout{[\@Roman{##1}\space\@Roman{##2}\space\@Roman{##3}] ==>}%
+    \pictur@(0,0)\@nameuse{LL at largePic\Roman{page}}\endpicture%
+    \LL at preparePage{##1}\LL at preparePage{##2}\LL at preparePage{##3}}%
+  \newcommand*\LL at preparePage[1]{%
+    \expandafter\box\csname LL at box\@Roman{##1}\endcsname}%
+  \LL at selectOutput
+  \iftwopart
+    {\setcounter{page}{1}%
+     \LL at shipoutPage{\LL at rotate@I{\LL at preparePages{6}{4}{1}}}}%
+    {\setcounter{page}{2}%
+     \LL at shipoutPage{\LL at rotate@II{\LL at preparePages{2}{3}{5}}}}%
+  \else
+    {\setcounter{page}{1}%
+     \LL at shipoutPage{\LL at rotate@I{\LL at preparePages{5}{6}{1}}}}%
+    {\setcounter{page}{2}%
+     \LL at shipoutPage{\LL at rotate@II{\LL at preparePages{2}{3}{4}}}}%
+  \fi
+}%
 \ifLL at combine
-  \def\@@end{%
-    \clearpage\pagestyle{empty}%
-    \let\@outputpage\LL at outputpage
-    \def\@EveryShipout at Hook{}%
-    \def\@EveryShipout at AtNextHook{}%
-    \EveryShipout{\LL at savePage}%
-    \loop\ifnum\c at LL@page<7\relax
-      \ClassInfo{leaflet}{Generating empty page \the\c at page}%
-      \null\newpage
-    \repeat
-    \let\shipout\LL at shipout \let\@begindvi\LL at begindvi
-    \paperwidth=3\paperwidth
-    \iflandscape
-      \LL at pagesize@specials{\paperwidth}{\paperheight}%
-    \else
-      \LL at pagesize@specials{\paperheight}{\paperwidth}%
-    \fi
-    \newcommand*\LL at shipoutPage[1]{%
-      \let \protect \noexpand
-      \shipout\vb at xt@\paperheight{%
-        \set at typeset@protect
-        \vskip-1in%
-        \@begindvi\hb at xt@\paperwidth{\hskip-1in##1\hss}\vss}}%
-    \newcommand*\LL at preparePages[3]{%
-      \typeout{[\@Roman{##1}\space\@Roman{##2}\space\@Roman{##3}] ==>}%
-      \pictur@(0,0)\@nameuse{LL at largePic\Roman{page}}\endpicture%
-      \LL at preparePage{##1}\LL at preparePage{##2}\LL at preparePage{##3}}%
-    \newcommand*\LL at preparePage[1]{%
-      \expandafter\box\csname LL at box\@Roman{##1}\endcsname}%
-      \LL at selectOutput
-    \iftwopart
-        {\setcounter{page}{1}%
-         \LL at shipoutPage{\LL at rotate@I{\LL at preparePages{6}{4}{1}}}}%
-        {\setcounter{page}{2}%
-         \LL at shipoutPage{\LL at rotate@II{\LL at preparePages{2}{3}{5}}}}%
-    \else
-        {\setcounter{page}{1}%
-         \LL at shipoutPage{\LL at rotate@I{\LL at preparePages{5}{6}{1}}}}%
-        {\setcounter{page}{2}%
-         \LL at shipoutPage{\LL at rotate@II{\LL at preparePages{2}{3}{4}}}}%
-    \fi
-      \LL@@end
-  }%
+  \AddToHook{enddocument/end}{\LL at shipout@combined at pages}
 \else
   \LL at pagesize@specials{\paperwidth}{\paperheight}%
   \AtEndDocument{%
-    \clearpage\pagestyle{empty}%
-    \loop\ifnum\c at LL@page<7\relax
-      \ClassInfo{leaflet}{Generating empty page \the\c at page}%
-      \null\newpage
-    \repeat
+    \LL at add@empty at pages
   }
 \fi
 \endinput



More information about the tex-live-commits mailing list.