summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/oberdiek/atbegshi.dtx
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2012-05-02 21:50:45 +0000
committerKarl Berry <karl@freefriends.org>2012-05-02 21:50:45 +0000
commitaa1776c78dfdb456e2228fbceaa886e64e36174c (patch)
tree7967af7f0f2079a632809a813221918af16ba8cc /Master/texmf-dist/source/latex/oberdiek/atbegshi.dtx
parenta86d14742b305868a1c2b1f33f1263a6b7d0e03d (diff)
oberdiek (1may12)
git-svn-id: svn://tug.org/texlive/trunk@26177 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/oberdiek/atbegshi.dtx')
-rw-r--r--Master/texmf-dist/source/latex/oberdiek/atbegshi.dtx490
1 files changed, 389 insertions, 101 deletions
diff --git a/Master/texmf-dist/source/latex/oberdiek/atbegshi.dtx b/Master/texmf-dist/source/latex/oberdiek/atbegshi.dtx
index 28cf960e580..6d19ab58da6 100644
--- a/Master/texmf-dist/source/latex/oberdiek/atbegshi.dtx
+++ b/Master/texmf-dist/source/latex/oberdiek/atbegshi.dtx
@@ -1,11 +1,12 @@
% \iffalse meta-comment
-%
+%
% File: atbegshi.dtx
-% Version: 2011/01/30 v1.15
-%
+% Version: 2011/10/05 v1.16
+% Info: At begin shipout hook
+%
% Copyright (C) 2007-2011 by
% Heiko Oberdiek <heiko.oberdiek at googlemail.com>
-%
+%
% This work 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
@@ -15,24 +16,24 @@
% http://www.latex-project.org/lppl.txt
% and version 1.3 or later is part of all distributions of
% LaTeX version 2005/12/01 or later.
-%
+%
% This work has the LPPL maintenance status "maintained".
-%
+%
% This Current Maintainer of this work is Heiko Oberdiek.
-%
+%
% The Base Interpreter refers to any `TeX-Format',
% because some files are installed in TDS:tex/generic//.
-%
+%
% This work consists of the main source file atbegshi.dtx
% and the derived files
% atbegshi.sty, atbegshi.pdf, atbegshi.ins, atbegshi.drv,
% atbegshi-example1.tex, atbegshi-example2.tex,
% atbegshi-test1.tex, atbegshi-test2.tex, atbegshi-test3.tex.
-%
+%
% Distribution:
% CTAN:macros/latex/contrib/oberdiek/atbegshi.dtx
% CTAN:macros/latex/contrib/oberdiek/atbegshi.pdf
-%
+%
% Unpacking:
% (a) If atbegshi.ins is present:
% tex atbegshi.ins
@@ -41,7 +42,7 @@
% (c) If you insist on using LaTeX
% latex \let\install=y\input{atbegshi.dtx}
% (quote the arguments according to the demands of your shell)
-%
+%
% Documentation:
% (a) If atbegshi.drv is present:
% latex atbegshi.drv
@@ -51,14 +52,14 @@
% if available. Here you can specify further options, e.g.
% use A4 as paper format:
% \PassOptionsToClass{a4paper}{article}
-%
+%
% Programm calls to get the documentation (example):
% pdflatex atbegshi.dtx
% makeindex -s gind.ist atbegshi.idx
% pdflatex atbegshi.dtx
% makeindex -s gind.ist atbegshi.idx
% pdflatex atbegshi.dtx
-%
+%
% Installation:
% TDS:tex/generic/oberdiek/atbegshi.sty
% TDS:doc/latex/oberdiek/atbegshi.pdf
@@ -84,7 +85,7 @@
\input docstrip.tex
\Msg{************************************************************************}
\Msg{* Installation}
-\Msg{* Package: atbegshi 2011/01/30 v1.15 At begin shipout hook (HO)}
+\Msg{* Package: atbegshi 2011/10/05 v1.16 At begin shipout hook (HO)}
\Msg{************************************************************************}
\keepsilent
@@ -96,7 +97,7 @@
This is a generated file.
Project: atbegshi
-Version: 2011/01/30 v1.15
+Version: 2011/10/05 v1.16
Copyright (C) 2007-2011 by
Heiko Oberdiek <heiko.oberdiek at googlemail.com>
@@ -139,6 +140,10 @@ and the derived files
\file{atbegshi-test1.tex}{\from{atbegshi.dtx}{test1}}%
\file{atbegshi-test2.tex}{\from{atbegshi.dtx}{test2}}%
\file{atbegshi-test3.tex}{\from{atbegshi.dtx}{test3}}%
+ \nopreamble
+ \nopostamble
+ \usedir{source/latex/oberdiek/catalogue}%
+ \file{atbegshi.xml}{\from{atbegshi.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -165,16 +170,16 @@ and the derived files
%<*driver>
\NeedsTeXFormat{LaTeX2e}
\ProvidesFile{atbegshi.drv}%
- [2011/01/30 v1.15 At begin shipout hook (HO)]%
+ [2011/10/05 v1.16 At begin shipout hook (HO)]%
\documentclass{ltxdoc}
-\usepackage{holtxdoc}[2011/02/04]
+\usepackage{holtxdoc}[2011/11/22]
\begin{document}
\DocInput{atbegshi.dtx}%
\end{document}
%</driver>
% \fi
%
-% \CheckSum{1524}
+% \CheckSum{1889}
%
% \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
@@ -195,7 +200,7 @@ and the derived files
% \GetFileInfo{atbegshi.drv}
%
% \title{The \xpackage{atbegshi} package}
-% \date{2011/01/30 v1.15}
+% \date{2011/10/05 v1.16}
% \author{Heiko Oberdiek\\\xemail{heiko.oberdiek at googlemail.com}}
%
% \maketitle
@@ -225,7 +230,8 @@ and the derived files
% The hooks are executed in this order. The following three macros
% provide the user interface for adding code to these hooks:
%
-% \begin{declcs}{AtBeginShipout} \M{code}
+% \begin{declcs}{AtBeginShipout} \M{code}\\
+% \cs{AtBeginShipoutBox}
% \end{declcs}
% Execute the \meta{code} for every page.
% The page contents is held in box register \cs{AtBeginShipoutBox}
@@ -290,6 +296,26 @@ and the derived files
% \cs{AtBeginShipoutInit} forces the immediate redefinition
% of \cs{shipout}.
%
+% \begin{declcs}{AtBeginShipoutAddToBox} \M{stuff}\\
+% \cs{AtBeginShipoutAddToBoxForeground} \M{stuff}
+% \end{declcs}
+% A quite common use case is the addition of \cs{special}
+% or other whatsits to the page output box. Macro
+% \cs{AtBeginShipoutAddToBox} puts \meta{stuff} in a
+% box with zeroed dimensions. The box with the \meta{stuff}
+% is put in the upper left corner of the shipout box
+% \cs{AtBeginShipoutBox}. Macro \cs{AtBeginShipoutAddToBox}
+% puts the \meta{stuff} in the background, the other macro
+% \cs{AtBeginShipoutAddToBoxForeground} in the foreground
+% after the original shipout box contents is set.
+%
+% A void shipout box (that means a discarded page)
+% remains void that means \meta{stuff} is ignored in this case.
+% The box type of \cs{AtBeginShipoutBox} is preserved.
+% Also the box nesting level for the original contents
+% of \cs{AtBeginShipoutBox} remains, for example, to avoid trouble
+% with links across pages in case of \hologo{pdfTeX}.
+%
% \begin{declcs}{AtBeginShipoutUpperLeft} \M{background material}
% \end{declcs}
% This is a macro that puts material in the background of
@@ -318,11 +344,27 @@ and the derived files
% See \cs{AtBeginShipoutUpperLeft}. The difference is that the material
% is put in the foreground.
%
-% \begin{declcs}{AtBeginShipoutOriginalShipout} \M{box}
+% \begin{declcs}{AtBeginShipoutOriginalShipout} \meta{box}
% \end{declcs}
% It stores the meaning of \cs{shipout} at the time this package
% is loaded.
%
+% \begin{declcs}{AtBeginShipoutBoxWidth}\\
+% \cs{AtBeginShipoutBoxHeight}\\
+% \cs{AtBeginShipoutBoxDepth}\\
+% \end{declcs}
+% These macros store the dimensions of the output box \cs{AtBeginShipoutBox}
+% before the original shipout is called. If \cs{shipout} is not
+% redefined before the package loading or the box dimensions
+% are not changed by the redefined \cs{shipout}, these macros
+% contain the dimensions of the shipout box. These values can be
+% remembered by \cs{label} and \cs{ref}. For example, this is done
+% by the package module \xpackage{zref-pagelayout} of project \xpackage{zref}.
+% The dimensions of the shipout page can be used in some \hologo{TeX}
+% engines (\hologo{pdfTeX} in PDF mode, \hologo{XeTeX}) to calculate
+% the media size of the shipout page if \cs{pdfpagewidth} and
+% \cs{pdfpageheight} are not set.
+%
% \subsection{Examples}
%
% \subsubsection{Example: circle in background}
@@ -877,7 +919,7 @@ The last page.
\fi
\expandafter\x\csname ver@atbegshi.sty\endcsname
\ProvidesPackage{atbegshi}%
- [2011/01/30 v1.15 At begin shipout hook (HO)]%
+ [2011/10/05 v1.16 At begin shipout hook (HO)]%
% \end{macrocode}
%
% \subsection{Catcodes}
@@ -975,9 +1017,11 @@ The last page.
% \end{macrocode}
% \end{macro}
%
+% \begin{macro}{\ifAtBegShi@Discarded}
% \begin{macrocode}
\ltx@newif\ifAtBegShi@Discarded
% \end{macrocode}
+% \end{macro}
% \begin{macro}{\AtBeginShipoutDiscard}
% \begin{macrocode}
\AtBegShi@CheckDefinable\AtBeginShipoutDiscard
@@ -1050,6 +1094,11 @@ X \endgroup
\else
\AtBegShi@First
\let\protect\AtBegShi@OrgProtect
+ \AtBegShi@GetBoxSize\AtBeginShipoutBox
+ \ltx@ifundefined{AtNextShipout}{%
+ }{%
+ \AtNextShipout{\AtBegShi@GetBoxSize\@cclv}%
+ }%
\AtBeginShipoutOriginalShipout\box\AtBeginShipoutBox
\fi
\fi
@@ -1057,6 +1106,31 @@ X \endgroup
% \end{macrocode}
% \end{macro}
%
+% \begin{macro}{\AtBegShi@GetBoxSize}
+% \begin{macrocode}
+\def\AtBegShi@GetBoxSize#1{%
+ \xdef\AtBeginShipoutBoxWidth{\the\wd#1}%
+ \xdef\AtBeginShipoutBoxHeight{\the\ht#1}%
+ \xdef\AtBeginShipoutBoxDepth{\the\dp#1}%
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\AtBeginShipoutBoxWidth}
+% \begin{macrocode}
+\def\AtBeginShipoutBoxWidth{0pt}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\AtBeginShipoutBoxHeight}
+% \begin{macrocode}
+\def\AtBeginShipoutBoxHeight{0pt}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\AtBeginShipoutBoxDepth}
+% \begin{macrocode}
+\def\AtBeginShipoutBoxDepth{0pt}
+% \end{macrocode}
+% \end{macro}
+%
% \begin{macrocode}
\catcode`\X=11 %
\catcode`\E=11 %
@@ -1065,29 +1139,12 @@ X \endgroup
% \begin{macro}{\AtBegShi@First}
% \begin{macrocode}
\def\AtBegShi@First{%
- \begingroup
- \def\@empty{}%
- \ifx\AtBegShi@HookFirst\@empty
- \else
- \setbox\ltx@zero=\vbox{%
- \begingroup
- \AtBegShi@HookFirst
- \endgroup
- }%
- \wd\ltx@zero=0pt %
- \ht\ltx@zero=0pt %
- \dp\ltx@zero=0pt %
- \global\setbox\AtBeginShipoutBox=\vbox{%
- \baselineskip 0pt\relax
- \lineskip 0pt\relax
- \lineskiplimit 0pt\relax
- \copy\ltx@zero
- \copy\AtBeginShipoutBox
- }%
- \fi
- \global\let\AtBegShi@First\@empty
- \global\let\AtBeginShipoutFirst\AtBegShi@FirstDisabled
- \endgroup
+ \ifx\AtBegShi@HookFirst\ltx@empty
+ \else
+ \AtBeginShipoutAddToBox{\AtBegShi@HookFirst}%
+ \fi
+ \global\let\AtBegShi@First\ltx@empty
+ \global\let\AtBeginShipoutFirst\AtBegShi@FirstDisabled
}
% \end{macrocode}
% \end{macro}
@@ -1215,14 +1272,153 @@ X \endgroup
\fi
% \end{macrocode}
%
+% \subsection{Additions to the shipout box}
+%
+% \begin{macro}{\AtBeginShipoutAddToBox}
+% \begin{macrocode}
+\def\AtBeginShipoutAddToBox#1{%
+ \ifhbox\AtBeginShipoutBox
+ \edef\AtBegShi@restore{%
+ \hfuzz=\the\hfuzz\relax
+ \hbadness=\the\hbadness\relax
+ }%
+ \hfuzz=1073741823sp\relax
+ \hbadness=2147483647\relax
+ \setbox\AtBeginShipoutBox=\hbox to \wd\AtBeginShipoutBox{%
+ \setbox\ltx@zero=\hbox{%
+ \begingroup
+ \AtBegShi@restore
+ #1%
+ \endgroup
+ }%
+ \wd\ltx@zero=0pt\relax
+ \ht\ltx@zero=0pt\relax
+ \dp\ltx@zero=0pt\relax
+ \raise\ht\AtBeginShipoutBox\copy\ltx@zero
+ \unhcopy\AtBeginShipoutBox
+ }%
+ \AtBegShi@restore
+ \else
+ \ifvbox\AtBeginShipoutBox
+ \edef\AtBegShi@restore{%
+ \vfuzz=\the\vfuzz\relax
+ \vbadness=\the\vbadness\relax
+ \dimen\ltx@zero=\the\dimen\ltx@zero\relax
+ }%
+ \edef\AtBegShi@restorebox{%
+ \ht\AtBeginShipoutBox=\the\ht\AtBeginShipoutBox\relax
+ \dp\AtBeginShipoutBox=\the\dp\AtBeginShipoutBox\relax
+ }%
+ \vfuzz=1073741823sp\relax
+ \vbadness=2147483647\relax
+ \dimen\ltx@zero=\ht\AtBeginShipoutBox
+ \advance\dimen\ltx@zero by \dp\AtBeginShipoutBox
+ \setbox\AtBeginShipoutBox=\vbox to \dimen\ltx@zero{%
+ \setbox\ltx@zero=\hbox{%
+ \begingroup
+ \AtBegShi@restore
+ #1%
+ \endgroup
+ }%
+ \wd\ltx@zero=0pt\relax
+ \ht\ltx@zero=0pt\relax
+ \dp\ltx@zero=0pt\relax
+ \baselineskip=0pt\relax
+ \lineskip=0pt\relax
+ \lineskiplimit=0pt\relax
+ \copy\ltx@zero
+ \unvbox\AtBeginShipoutBox
+ \kern0pt%
+ }%
+ \AtBegShi@restore
+ \AtBegShi@restorebox
+ \fi
+ \fi
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\AtBeginShipoutAddToBoxForeground}
+% \begin{macrocode}
+\def\AtBeginShipoutAddToBoxForeground#1{%
+ \ifhbox\AtBeginShipoutBox
+ \edef\AtBegShi@restore{%
+ \hfuzz=\the\hfuzz\relax
+ \hbadness=\the\hbadness\relax
+ }%
+ \hfuzz=1073741823sp\relax
+ \hbadness=2147483647\relax
+ \setbox\AtBeginShipoutBox=\hbox to \wd\AtBeginShipoutBox{%
+ \unhcopy\AtBeginShipoutBox
+ \kern-\wd\AtBeginShipoutBox
+ \setbox\ltx@zero=\hbox{%
+ \begingroup
+ \AtBegShi@restore
+ #1%
+ \endgroup
+ }%
+ \wd\ltx@zero=0pt\relax
+ \ht\ltx@zero=0pt\relax
+ \dp\ltx@zero=0pt\relax
+ \raise\ht\AtBeginShipoutBox\copy\ltx@zero
+ \kern\wd\AtBeginShipoutBox
+ }%
+ \AtBegShi@restore
+ \else
+ \ifvbox\AtBeginShipoutBox
+ \edef\AtBegShi@restore{%
+ \vfuzz=\the\vfuzz\relax
+ \vbadness=\the\vbadness\relax
+ \dimen\ltx@zero=\the\dimen\ltx@zero\relax
+ }%
+ \edef\AtBegShi@restorebox{%
+ \ht\AtBeginShipoutBox=\the\ht\AtBeginShipoutBox\relax
+ \dp\AtBeginShipoutBox=\the\dp\AtBeginShipoutBox\relax
+ }%
+ \vfuzz=1073741823sp\relax
+ \vbadness=2147483647\relax
+ \dimen\ltx@zero=\ht\AtBeginShipoutBox
+ \advance\dimen\ltx@zero by \dp\AtBeginShipoutBox
+ \setbox\AtBeginShipoutBox=\vbox to \dimen\ltx@zero{%
+ \setbox\ltx@zero=\hbox{%
+ \begingroup
+ \AtBegShi@restore
+ #1%
+ \endgroup
+ }%
+ \wd\ltx@zero=0pt\relax
+ \ht\ltx@zero=0pt\relax
+ \dp\ltx@zero=0pt\relax
+ \baselineskip=0pt\relax
+ \lineskip=0pt\relax
+ \lineskiplimit=0pt\relax
+ \unvbox\AtBeginShipoutBox
+ \kern-\dimen\ltx@zero
+ \copy\ltx@zero
+ \kern\dimen\ltx@zero
+ }%
+ \AtBegShi@restore
+ \AtBegShi@restorebox
+ \fi
+ \fi
+}
+% \end{macrocode}
+% \end{macro}
+%
% \subsection{Positioning}
%
% \begin{macrocode}
\begingroup\expandafter\expandafter\expandafter\endgroup
\expandafter\ifx\csname RequirePackage\endcsname\relax
- \input ifpdf.sty\relax
+ \def\TMP@RequirePackage#1[#2]{%
+ \begingroup\expandafter\expandafter\expandafter\endgroup
+ \expandafter\ifx\csname ver@#1.sty\endcsname\relax
+ \input #1.sty\relax
+ \fi
+ }%
+ \TMP@RequirePackage{ifpdf}[2011/01/30]%
\else
- \RequirePackage{ifpdf}\relax
+ \RequirePackage{ifpdf}[2011/01/30]%
\fi
% \end{macrocode}
%
@@ -1280,46 +1476,41 @@ X \endgroup
\fi
% \end{macrocode}
%
+% \begin{macro}{\AtBeginShipoutUpperLeft}
+% A surrounding \cs{rlap} is not necessary, because
+% the stuff is put in an \cs{hbox} with zero width.
% \begin{macrocode}
\def\AtBeginShipoutUpperLeft#1{%
- \global\setbox\AtBeginShipoutBox=\hbox{%
- \rlap{%
- \kern-\AtBegShi@horigin\relax
- \vbox to 0pt{%
- \kern-\AtBegShi@vorigin\relax
- \kern-\ht\AtBeginShipoutBox
- \AtBegShi@BeginPicture
- #1%
- \AtBegShi@EndPicture
- \vss
- }%
+ \AtBeginShipoutAddToBox{%
+ \kern-\AtBegShi@horigin\relax
+ \vbox to 0pt{%
+ \kern-\AtBegShi@vorigin\relax
+ \AtBegShi@BeginPicture
+ #1%
+ \AtBegShi@EndPicture
+ \vss
}%
- \box\AtBeginShipoutBox
}%
}
% \end{macrocode}
+% \end{macro}
%
+% \begin{macro}{\AtBeginShipoutUpperLeftForeground}
% \begin{macrocode}
\def\AtBeginShipoutUpperLeftForeground#1{%
- \global\setbox\AtBeginShipoutBox=\hbox to \wd\AtBeginShipoutBox{%
- \rlap{%
- \copy\AtBeginShipoutBox
- }%
- \rlap{%
- \kern-\AtBegShi@horigin\relax
- \vbox to 0pt{%
- \kern-\AtBegShi@vorigin\relax
- \kern-\ht\AtBeginShipoutBox
- \AtBegShi@BeginPicture
- #1%
- \AtBegShi@EndPicture
- \vss
- }%
+ \AtBeginShipoutAddToBoxForeground{%
+ \kern-\AtBegShi@horigin\relax
+ \vbox to 0pt{%
+ \kern-\AtBegShi@vorigin\relax
+ \AtBegShi@BeginPicture
+ #1%
+ \AtBegShi@EndPicture
+ \vss
}%
- \hss
}%
}
% \end{macrocode}
+% \end{macro}
%
% \subsection{Patches}
%
@@ -1412,6 +1603,7 @@ X \endgroup
\setbox\AtBeginShipoutBox=\vbox{%
\CROP@shiplist
}%
+ \AtBegShi@GetBoxSize\AtBeginShipoutBox
\expandafter\CROP@shipout
\expandafter\box
\expandafter\AtBeginShipoutBox
@@ -1540,16 +1732,81 @@ X \endgroup
}%
\fi
}%
+ \def\AtBegShi@Memoir@PatchAB{%
+ \ifvoid\AtBeginShipoutBox
+ \else
+ \setbox\AtBeginShipoutBox=\vbox{%
+ \trimmarks
+ \ifvbox\AtBeginShipoutBox
+ \unvbox\AtBeginShipoutBox
+ \else
+ \box\AtBeginShipoutBox
+ \fi
+ }%
+ \AtBegShi@GetBoxSize\AtBeginShipoutBox
+ \expandafter\mem@oldshipout
+ \expandafter\box
+ \expandafter\AtBeginShipoutBox
+ \fi
+ }%
+ \def\AtBegShi@Memoir@shipiiC{% 2008/08/07 v1.6180339a
+ \ifvoid\@cclv
+ \mem@oldshipout\box\@cclv
+ \else
+ \ifshowtrims
+ \mem@oldshipout\vbox{\trimmarks\unvbox\@cclv}%
+ \else
+ \mem@oldshipout\box\@cclv
+ \fi
+ \fi
+ }%
+ \def\AtBegShi@Memoir@shipiiD{% 2011/03/06 v3.6j
+ \ifvoid\@cclv
+ \mem@oldshipout\box\@cclv
+ \else
+ \ifshowtrims
+ \mem@oldshipout\vbox{%
+ \trimmarks
+ \nointerlineskip
+ \box\@cclv
+ }%
+ \else
+ \mem@oldshipout\box\@cclv
+ \fi
+ \fi
+ }%
+ \def\AtBegShi@Memoir@PatchCD{%
+ \ifvoid\AtBeginShipoutBox
+ \else
+ \ifshowtrims
+ \setbox\AtBeginShipoutBox=\vbox{%
+ \trimmarks
+ \nointerlineskip
+ \box\AtBeginShipoutBox
+ }%
+ \fi
+ \AtBegShi@GetBoxSize\AtBeginShipoutBox
+ \expandafter\mem@oldshipout
+ \expandafter\box
+ \expandafter\AtBeginShipoutBox
+ \fi
+ }%
\ifx\AtBegShi@Memoir@shipi\mem@shipi
- \ifcase\ifx\AtBegShi@Memoir@shipiiA\mem@shipii
- \ltx@zero
- \else
- \ifx\AtBegShi@Memoir@shipiiB\mem@shipii
- \ltx@zero
- \else
- \ltx@one
- \fi
- \fi
+ \let\AtBegShi@found\ltx@one
+ \ifx\AtBegShi@Memoir@shipiiA\mem@shipii
+ \let\AtBegShi@found\ltx@zero
+ \global\let\AtBegShi@Memoir@PatchX\AtBegShi@Memoir@PatchAB
+ \else\ifx\AtBegShi@Memoir@shipiiB\mem@shipii
+ \let\AtBegShi@found\ltx@zero
+ \global\let\AtBegShi@Memoir@PatchX\AtBegShi@Memoir@PatchAB
+ \else\ifx\AtBegShi@Memoir@shipiiC\mem@shipii
+ \let\AtBegShi@found\ltx@zero
+ \global\let\AtBegShi@Memoir@PatchX\AtBegShi@Memoir@PatchCD
+ \else\ifx\AtBegShi@Memoir@shipiiD\mem@shipii
+ \let\AtBegShi@found\ltx@zero
+ \global\let\AtBegShi@Memoir@PatchX\AtBegShi@Memoir@PatchCD
+ \fi\fi\fi\fi
+ \ifcase\AtBegShi@found
\let\AtBegShi@found\relax
\ifx\shipout\AtBegShi@Memoir@shipout
\def\AtBegShi@found{\shipout}%
@@ -1579,22 +1836,7 @@ X \endgroup
\fi
\mem@shipii
}%
- \def\mem@shipii{%
- \ifvoid\AtBeginShipoutBox
- \else
- \setbox\AtBeginShipoutBox=\vbox{%
- \trimmarks
- \ifvbox\AtBeginShipoutBox
- \unvbox\AtBeginShipoutBox
- \else
- \box\AtBeginShipoutBox
- \fi
- }%
- \expandafter\mem@oldshipout
- \expandafter\box
- \expandafter\AtBeginShipoutBox
- \fi
- }%
+ \let\mem@shipii\AtBegShi@Memoir@PatchX
\@PackageInfoNoLine{atbegshi}{Class `memoir' patched}%
\begingroup
\fi
@@ -1729,7 +1971,7 @@ X \endgroup
%<*test2>
\input atbegshi.sty\relax
\def\msg#{\immediate\write16}
-\msg{File: atbegshi-test2.tex 2011/01/30 v1.15 Test file for plain-TeX}
+\msg{File: atbegshi-test2.tex 2011/10/05 v1.16 Test file for plain-TeX}
\def\testmsg#1#2{%
\msg{}%
\msg{*** Test with box (#1), expected page output [#2]}% hash-ok
@@ -1826,7 +2068,7 @@ Hello World
% \begin{macrocode}
%<*test3>
\NeedsTeXFormat{LaTeX2e}
-\ProvidesFile{atbegshi-test3.tex}[2011/01/30 v1.15 Test file for LaTeX]
+\ProvidesFile{atbegshi-test3.tex}[2011/10/05 v1.16 Test file for LaTeX]
\RequirePackage{color}
\pagecolor{yellow}
\documentclass[a5paper,showtrims]{memoir}
@@ -2065,6 +2307,43 @@ Hello World
%\end{verbatim}
% \end{quote}
%
+% \section{Catalogue}
+%
+% The following XML file can be used as source for the
+% \href{http://mirror.ctan.org/help/Catalogue/catalogue.html}{\TeX\ Catalogue}.
+% The elements \texttt{caption} and \texttt{description} are imported
+% from the original XML file from the Catalogue.
+% The name of the XML file in the Catalogue is \xfile{atbegshi.xml}.
+% \begin{macrocode}
+%<*catalogue>
+<?xml version='1.0' encoding='us-ascii'?>
+<!DOCTYPE entry SYSTEM 'catalogue.dtd'>
+<entry datestamp='$Date$' modifier='$Author$' id='atbegshi'>
+ <name>atbegshi</name>
+ <caption>Execute stuff at \shipout time.</caption>
+ <authorref id='auth:oberdiek'/>
+ <copyright owner='Heiko Oberdiek' year='2007-2011'/>
+ <license type='lppl1.3'/>
+ <version number='1.16'/>
+ <description>
+ This package is a modern reimplementation of package
+ <xref refid='everyshi'>everyshi</xref>, providing various commands
+ to be executed before a <tt>\shipout</tt> command. It makes use of
+ e-TeX&#x2019;s facilities if they are available. The package may
+ be used either with LaTeX or with plain TeX.
+ <p/>
+ The package is part of the <xref refid='oberdiek'>oberdiek</xref> bundle.
+ </description>
+ <documentation details='Package documentation'
+ href='ctan:/macros/latex/contrib/oberdiek/atbegshi.pdf'/>
+ <ctan file='true' path='/macros/latex/contrib/oberdiek/atbegshi.dtx'/>
+ <miktex location='oberdiek'/>
+ <texlive location='oberdiek'/>
+ <install path='/macros/latex/contrib/oberdiek/oberdiek.tds.zip'/>
+</entry>
+%</catalogue>
+% \end{macrocode}
+%
% \begin{History}
% \begin{Version}{2007/04/17 v1.0}
% \item
@@ -2149,6 +2428,15 @@ Hello World
% \item
% Already loaded package files are not input in \hologo{plainTeX}.
% \end{Version}
+% \begin{Version}{2011/10/05 v1.16}
+% \item
+% \cs{AtBeginShipoutAddToBox}, \cs{AtBeginShipoutAddToBoxForeground} added.
+% \item
+% \cs{AtBeginShipoutBoxWidth}, \cs{AtBeginShipoutBoxHeight},
+% \cs{AtBeginShipoutBoxDepth} added.
+% \item
+% Updates for patches of class \xclass{memoir}.
+% \end{Version}
% \end{History}
%
% \PrintIndex