--- /dev/null
+%%
+%% This is file `atbegshi.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% atbegshi.dtx (with options: `package')
+%%
+%% This is a generated file.
+%%
+%% Copyright (C) 2007 by Heiko Oberdiek <oberdiek@uni-freiburg.de>
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either
+%% version 1.3 of this license or (at your option) any later
+%% version. The latest version of this license is in
+%% 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.
+%%
+%% This work consists of the main source file atbegshi.dtx
+%% and the derived files
+%% atbegshi.sty, atbegshi.pdf, atbegshi.ins, atbegshi.drv,
+%% atbegshi-example.tex, atbegshi-test1.tex,
+%% atbegshi-test2.tex, atbegshi-test3.tex.
+%%
+\begingroup
+ \catcode44 12 % ,
+ \catcode45 12 % -
+ \catcode46 12 % .
+ \catcode58 12 % :
+ \catcode64 11 % @
+ \expandafter\let\expandafter\x\csname ver@atbegshi.sty\endcsname
+ \ifcase 0%
+ \ifx\x\relax % plain
+ \else
+ \ifx\x\empty % LaTeX
+ \else
+ 1%
+ \fi
+ \fi
+ \else
+ \catcode35 6 % #
+ \catcode123 1 % {
+ \catcode125 2 % }
+ \expandafter\ifx\csname PackageInfo\endcsname\relax
+ \def\x#1#2{%
+ \immediate\write-1{Package #1 Info: #2.}%
+ }%
+ \else
+ \def\x#1#2{\PackageInfo{#1}{#2, stopped}}%
+ \fi
+ \x{atbegshi}{The package is already loaded}%
+ \endgroup
+ \expandafter\endinput
+ \fi
+\endgroup
+\begingroup
+ \catcode35 6 % #
+ \catcode40 12 % (
+ \catcode41 12 % )
+ \catcode44 12 % ,
+ \catcode45 12 % -
+ \catcode46 12 % .
+ \catcode47 12 % /
+ \catcode58 12 % :
+ \catcode64 11 % @
+ \catcode123 1 % {
+ \catcode125 2 % }
+ \expandafter\ifx\csname ProvidesPackage\endcsname\relax
+ \def\x#1#2#3[#4]{\endgroup
+ \immediate\write-1{Package: #3 #4}%
+ \xdef#1{#4}%
+ }%
+ \else
+ \def\x#1#2[#3]{\endgroup
+ #2[{#3}]%
+ \ifx#1\relax
+ \xdef#1{#3}%
+ \fi
+ }%
+ \fi
+\expandafter\x\csname ver@atbegshi.sty\endcsname
+\ProvidesPackage{atbegshi}%
+ [2007/09/09 v1.6 At begin shipout hook (HO)]
+\begingroup
+ \catcode123 1 % {
+ \catcode125 2 % }
+ \def\x{\endgroup
+ \expandafter\edef\csname AtBegShi@AtEnd\endcsname{%
+ \catcode35 \the\catcode35\relax
+ \catcode64 \the\catcode64\relax
+ \catcode123 \the\catcode123\relax
+ \catcode125 \the\catcode125\relax
+ }%
+ }%
+\x
+\catcode35 6 % #
+\catcode64 11 % @
+\catcode123 1 % {
+\catcode125 2 % }
+\def\TMP@EnsureCode#1#2{%
+ \edef\AtBegShi@AtEnd{%
+ \AtBegShi@AtEnd
+ \catcode#1 \the\catcode#1\relax
+ }%
+ \catcode#1 #2\relax
+}
+\TMP@EnsureCode{40}{12}% (
+\TMP@EnsureCode{41}{12}% )
+\TMP@EnsureCode{44}{12}% ,
+\TMP@EnsureCode{45}{12}% -
+\TMP@EnsureCode{47}{12}% /
+\TMP@EnsureCode{46}{12}% .
+\TMP@EnsureCode{58}{12}% :
+\TMP@EnsureCode{61}{12}% =
+\TMP@EnsureCode{94}{7}% ^(superscript)
+\TMP@EnsureCode{96}{12}% `
+\begingroup\expandafter\expandafter\expandafter\endgroup
+\expandafter\ifx\csname RequirePackage\endcsname\relax
+ \input infwarerr.sty\relax
+\else
+ \RequirePackage{infwarerr}[2007/09/09]%
+\fi
+\begingroup\expandafter\expandafter\expandafter\endgroup
+\expandafter\ifx\csname @ifdefinable\endcsname\relax
+ \def\AtBegShi@CheckDefinable#1{%
+ \ifcase\ifx#1\relax
+ \@ne
+ \else
+ \ifx#1\@undefined
+ \@ne
+ \else
+ \z@
+ \fi
+ \fi
+ \errmessage{%
+ Package atbegshi: \string#1\space
+ is already defined%
+ }%
+ \endgroup
+ \fi
+ }%
+\else
+ \def\AtBegShi@CheckDefinable#1{%
+ \@ifdefinable{#1}{}%
+ }%
+\fi
+\newif\ifAtBegShi@Discarded
+\AtBegShi@CheckDefinable\AtBeginShipoutDiscard
+\def\AtBeginShipoutDiscard{%
+ \deadcycles=\z@
+ \global\AtBegShi@Discardedtrue
+}
+\begingroup\expandafter\expandafter\expandafter\endgroup
+\expandafter\ifx\csname currentgrouplevel\endcsname\relax
+ \catcode`X=9 % ignore
+ \catcode`E=14 % comment
+\else
+ \catcode`X=14 % comment
+ \catcode`E=9 % ignore
+\fi
+\def\AtBegShi@Shipout{%
+X \begingroup
+X \setbox\AtBeginShipoutBox=\hbox\bgroup
+X \kern\p@
+E \edef\AtBegShi@GroupLevel{\number\currentgrouplevel}%
+ \afterassignment\AtBegShi@Test
+X \global
+ \setbox\AtBeginShipoutBox=%
+}
+\def\AtBegShi@Test{%
+X \ifdim\lastkern=\z@
+E \ifnum\AtBegShi@GroupLevel<\currentgrouplevel
+ \expandafter\aftergroup
+ \fi
+ \AtBegShi@Output
+}
+\def\AtBegShi@Output{%
+X \egroup
+X \endgroup
+ \ifvoid\AtBeginShipoutBox
+ \@PackageWarning{atbegshi}{Ignoring void shipout box}%
+ \else
+ \let\AtBegShi@OrgProtect\protect
+ \csname set@typeset@protect\endcsname
+ \global\AtBegShi@Discardedfalse
+ \AtBegShi@Hook
+ \AtBegShi@HookNext
+ \gdef\AtBegShi@HookNext{}%
+ \ifAtBegShi@Discarded
+ \@PackageInfoNoLine{atbegshi}{Shipout page discarded}%
+ \global\AtBegShi@Discardedfalse
+ \begingroup
+ \setbox\AtBeginShipoutBox\box\AtBeginShipoutBox
+ \endgroup
+ \let\protect\AtBegShi@OrgProtect
+ \else
+ \AtBegShi@First
+ \let\protect\AtBegShi@OrgProtect
+ \AtBegShi@OrgShipout\box\AtBeginShipoutBox
+ \fi
+ \fi
+}
+\catcode`\X=11 %
+\catcode`\E=11 %
+\def\AtBegShi@First{%
+ \begingroup
+ \def\@empty{}%
+ \ifx\AtBegShi@HookFirst\@empty
+ \else
+ \setbox\z@=\vbox{%
+ \begingroup
+ \AtBegShi@HookFirst
+ \endgroup
+ }%
+ \wd\z@=\z@
+ \ht\z@=\z@
+ \dp\z@=\z@
+ \global\setbox\AtBeginShipoutBox=\vbox{%
+ \baselineskip\z@skip
+ \lineskip\z@skip
+ \lineskiplimit\z@
+ \copy\z@
+ \copy\AtBeginShipoutBox
+ }%
+ \fi
+ \global\let\AtBegShi@First\@empty
+ \global\let\AtBeginShipoutFirst\AtBegShi@FirstDisabled
+ \endgroup
+}
+\gdef\AtBegShi@Hook{}
+\gdef\AtBegShi@HookNext{}
+\gdef\AtBegShi@HookFirst{}
+\AtBegShi@CheckDefinable\AtBeginShipout
+\def\AtBeginShipout{%
+ \AtBegShi@AddHook\AtBegShi@Hook
+}
+\AtBegShi@CheckDefinable\AtBeginShipoutNext
+\def\AtBeginShipoutNext{%
+ \AtBegShi@AddHook\AtBegShi@HookNext
+}
+\AtBegShi@CheckDefinable\AtBeginShipoutFirst
+\def\AtBeginShipoutFirst{%
+ \AtBegShi@AddTo\AtBegShi@HookFirst
+}
+\long\def\AtBegShi@FirstDisabled#1{%
+ \@PackageWarning{atbegshi}{%
+ First page is already shipped out, ignoring\MessageBreak
+ \string\AtBeginShipoutFirst
+ }%
+}
+\begingroup\expandafter\expandafter\expandafter\endgroup
+\expandafter\ifx\csname g@addto@macro\endcsname\relax
+ \long\def\AtBegShi@AddTo#1#2{%
+ \begingroup
+ \toks\z@\expandafter{#1#2}%
+ \xdef#1{\the\toks\z@}%
+ \endgroup
+ }%
+\else
+ \let\AtBegShi@AddTo\g@addto@macro
+\fi
+\long\def\AtBegShi@AddHook#1#2{%
+ \AtBegShi@AddTo#1{\AtBegShi@Item{#2}}%
+}
+\long\def\AtBegShi@Item#1{%
+ \ifAtBegShi@Discarded
+ \else
+ #1%
+ \ifvoid\AtBeginShipoutBox
+ \@PackageWarning{atbegshi}{%
+ Shipout box was voided by hook,\MessageBreak
+ ignoring shipout box%
+ }%
+ \AtBeginShipoutDiscard
+ \fi
+ \fi
+}
+\AtBegShi@CheckDefinable\AtBeginShipoutInit
+\def\AtBeginShipoutInit{%
+ \csname newbox\endcsname\AtBeginShipoutBox
+ \AtBegShi@CheckDefinable\AtBegShi@OrgShipout
+ \global\let\AtBegShi@OrgShipout\shipout
+ \global\let\shipout\AtBegShi@Shipout
+ \gdef\AtBeginShipoutInit{}%
+}
+\begingroup\expandafter\expandafter\expandafter\endgroup
+\expandafter\ifx\csname AtBeginDocument\endcsname\relax
+ \AtBeginShipoutInit
+\else
+ \AtBeginDocument{\AtBeginShipoutInit}%
+\fi
+\begingroup\expandafter\expandafter\expandafter\endgroup
+\expandafter\ifx\csname RequirePackage\endcsname\relax
+ \input ifpdf.sty\relax
+\else
+ \RequirePackage{ifpdf}\relax
+\fi
+\ifpdf
+ \def\AtBegShi@horigin{\pdfhorigin}%
+ \def\AtBegShi@vorigin{\pdfvorigin}%
+\else
+ \def\AtBegShi@horigin{72.27pt}%
+ \def\AtBegShi@vorigin{72.27pt}%
+\fi
+\begingroup
+\ifcase
+ \expandafter\ifx\csname picture\endcsname\relax
+ 1%
+ \else
+ \expandafter\ifx\csname endpicture\endcsname\relax
+ 1%
+ \else
+ 0%
+ \fi
+ \fi
+ \endgroup
+ \def\AtBegShi@BeginPicture{%
+ \begingroup
+ \picture(0,0)\relax
+ \begingroup\expandafter\expandafter\expandafter\endgroup
+ \expandafter\ifx\csname unitlength\endcsname\relax
+ \else
+ \unitlength=1pt\relax
+ \fi
+ \ignorespaces
+ }%
+ \def\AtBegShi@EndPicture{%
+ \endpicture
+ \endgroup
+ }%
+\else
+ \endgroup
+ \def\AtBegShi@BeginPicture{%
+ \setbox0=\hbox\bgroup
+ \begingroup
+ \ignorespaces
+ }%
+ \def\AtBegShi@EndPicture{%
+ \endgroup
+ \egroup
+ \ht0=0pt\relax
+ \dp0=0pt\relax
+ \copy0 %
+ }%
+\fi
+\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
+ }%
+ }%
+ \box\AtBeginShipoutBox
+ }%
+}
+\def\AtBegShi@AbortIfUndefined#1{%
+ \begingroup\expandafter\expandafter\expandafter\endgroup
+ \expandafter\ifx\csname#1\endcsname\relax
+ \AtBegShi@AtEnd
+ \expandafter\endinput
+ \fi
+}
+\AtBegShi@AbortIfUndefined{currentgrouplevel}
+\AtBegShi@AbortIfUndefined{AtBeginDocument}
+\AtBegShi@AbortIfUndefined{@ifpackageloaded}
+\AtBegShi@AbortIfUndefined{@ifclassloaded}
+\def\AtBegShi@PatchCrop{%
+ \begingroup
+ \def\AtBegShi@Crop@shipout{%
+ \afterassignment\CROP@ship
+ \setbox\@cclv=%
+ }%
+ \def\AtBegShi@Crop@ship{%
+ \ifvoid\@cclv
+ \expandafter\aftergroup
+ \fi
+ \CROP@@ship
+ }%
+ \def\AtBegShi@Crop@shiplist{%
+ \lineskip\z@
+ \lineskiplimit\z@
+ \baselineskip\z@
+ \CROP@kernel
+ \box\@cclv
+ }%
+ \def\AtBegShi@Crop@@ship{%
+ \CROP@shipout\vbox{%
+ \CROP@shiplist
+ }%
+ }%
+ \ifx\AtBegShi@Crop@ship\CROP@ship
+ \ifx\AtBegShi@Crop@shiplist\CROP@shiplist
+ \ifx\AtBegShi@Crop@@ship\CROP@@ship
+ \let\AtBegShi@found\relax
+ \ifx\shipout\AtBegShi@Crop@shipout
+ \def\AtBegShi@found{\shipout}%
+ \else\ifx\AtBegShi@OrgShipout\AtBegShi@Crop@shipout
+ \def\AtBegShi@found{\AtBegShi@OrgShipout}%
+ \else\ifx\@EveryShipout@Org@Shipout\AtBegShi@Crop@shipout
+ \def\AtBegShi@found{\@EveryShipout@Org@Shipout}%
+ \else\ifx\GPTorg@shipout\AtBegShi@Crop@shipout
+ \def\AtBegShi@found{\GPTorg@shipout}%
+ \else\ifx\THBorg@shipout\AtBegShi@Crop@shipout
+ \def\AtBegShi@found{\THBorg@shipout}%
+ \else\ifx\mem@oldshipout\AtBegShi@Crop@shipout
+ \def\AtBegShi@found{\mem@oldshipout}%
+ \fi\fi\fi\fi\fi\fi
+ \ifx\AtBegShi@found\relax
+ \else
+ \expandafter\endgroup
+ \expandafter\def\AtBegShi@found{%
+ \edef\AtBegShi@GroupLevel{\number\currentgrouplevel}%
+ \afterassignment\CROP@ship
+ \setbox\AtBeginShipoutBox=%
+ }%
+ \def\CROP@ship{%
+ \ifnum\AtBegShi@GroupLevel=\currentgrouplevel
+ \else
+ \expandafter\aftergroup
+ \fi
+ \CROP@@ship
+ }%
+ \def\CROP@shiplist{%
+ \lineskip\z@
+ \lineskiplimit\z@
+ \baselineskip\z@
+ \CROP@kernel
+ \box\AtBeginShipoutBox
+ }%
+ \def\CROP@@ship{%
+ \ifvoid\AtBeginShipoutBox
+ \else
+ \setbox\AtBeginShipoutBox=\vbox{%
+ \CROP@shiplist
+ }%
+ \expandafter\CROP@shipout
+ \expandafter\box
+ \expandafter\AtBeginShipoutBox
+ \fi
+ }%
+ \@PackageInfoNoLine{atbegshi}{Package `crop' patched}%
+ \begingroup
+ \fi
+ \fi
+ \fi
+ \fi
+ \endgroup
+ \let\AtBegShi@PatchCrop\relax
+}
+\@ifpackageloaded{crop}{%
+ \AtBegShi@PatchCrop
+}{%
+ \AtBeginDocument{\AtBegShi@PatchCrop}%
+}
+\def\AtBegShi@PatchEveryshi{%
+ \begingroup
+ \long\def\AtBegShi@Everyshi@shipout{%
+ \afterassignment\@EveryShipout@Test
+ \global\setbox\@cclv= %
+ }%
+ \long\def\AtBegShi@Everyshi@Test{%
+ \ifvoid\@cclv\relax
+ \aftergroup\@EveryShipout@Output
+ \else
+ \@EveryShipout@Output
+ \fi
+ }%
+ \ifx\AtBegShi@Everyshi@Test\@EveryShipout@Test
+ \let\AtBegShi@found\relax
+ \ifx\shipout\AtBegShi@Everyshi@shipout
+ \def\AtBegShi@found{\shipout}%
+ \else\ifx\AtBegShi@OrgShipout\AtBegShi@Everyshi@shipout
+ \def\AtBegShi@found{\AtBegShi@OrgShipout}%
+ \else\ifx\CROP@shipout\AtBegShi@Everyshi@shipout
+ \def\AtBegShi@found{\CROP@shipout}%
+ \else\ifx\GPTorg@shipout\AtBegShi@Everyshi@shipout
+ \def\AtBegShi@found{\GPTorg@shipout}%
+ \else\ifx\THBorg@shipout\AtBegShi@Everyshi@shipout
+ \def\AtBegShi@found{\THBorg@shipout}%
+ \else\ifx\mem@oldshipout\AtBegShi@Everyshi@shipout
+ \def\AtBegShi@found{\mem@oldshipout}%
+ \else
+ \expandafter\ifx\csname @EveryShipout@Org@Shipout\endcsname
+ \relax
+ \ifx\@EveryShipout@Shipout\AtBegShi@Everyshi@shipout
+ \def\AtBegShi@found{\@EveryShipout@Shipout}%
+ \fi
+ \fi
+ \fi\fi\fi\fi\fi\fi
+ \ifx\AtBegShi@found\relax
+ \else
+ \expandafter\endgroup
+ \expandafter\def\AtBegShi@found{%
+ \edef\AtBegShi@GroupLevel{\number\currentgrouplevel}%
+ \afterassignment\@EveryShipout@Test
+ \setbox\AtBeginShipoutBox=%
+ }%
+ \def\@EveryShipout@Test{%
+ \ifnum\AtBegShi@GroupLevel=\currentgrouplevel
+ \else
+ \expandafter\aftergroup
+ \fi
+ \AtBegShi@Everyshi@Output
+ }%
+ \def\AtBegShi@Everyshi@Output{%
+ \ifvoid\AtBeginShipoutBox
+ \else
+ \global\setbox\@cclv\box\AtBeginShipoutBox
+ \expandafter\@EveryShipout@Output
+ \fi
+ }%
+ \@PackageInfoNoLine{atbegshi}{Package `everyshi' patched}%
+ \begingroup
+ \fi
+ \fi
+ \endgroup
+ \let\AtBegShi@PatchEveryshi\relax
+}
+\@ifpackageloaded{everyshi}{%
+ \AtBegShi@PatchEveryshi
+}{%
+ \AtBeginDocument{\AtBegShi@PatchEveryshi}%
+}
+\def\AtBegShi@PatchMemoir{%
+ \begingroup
+ \def\AtBegShi@Memoir@shipout{%
+ \afterassignment\mem@shipi
+ \setbox\@cclv=%
+ }%
+ \def\AtBegShi@Memoir@shipi{%
+ \ifvoid\@cclv
+ \expandafter\aftergroup
+ \fi
+ \mem@shipii
+ }%
+ \def\AtBegShi@Memoir@shipiiA{%
+ \mem@oldshipout\vbox{%
+ \trimmarks
+ \unvbox\@cclv
+ }%
+ }%
+ \def\AtBegShi@Memoir@shipiiB{%
+ \ifvoid\@cclv
+ \mem@oldshipout\box\@cclv
+ \else
+ \mem@oldshipout\vbox{%
+ \trimmarks
+ \unvbox\@cclv
+ }%
+ \fi
+ }%
+ \ifx\AtBegShi@Memoir@shipi\mem@shipi
+ \ifcase\ifx\AtBegShi@Memoir@shipiiA\mem@shipii
+ \z@
+ \else
+ \ifx\AtBegShi@Memoir@shipiiB\mem@shipii
+ \z@
+ \else
+ \@ne
+ \fi
+ \fi
+ \let\AtBegShi@found\relax
+ \ifx\shipout\AtBegShi@Memoir@shipout
+ \def\AtBegShi@found{\shipout}%
+ \else\ifx\AtBegShi@OrgShipout\AtBegShi@Memoir@shipout
+ \def\AtBegShi@found{\AtBegShi@OrgShipout}%
+ \else\ifx\CROP@shipout\AtBegShi@Memoir@shipout
+ \def\AtBegShi@found{\CROP@shipout}%
+ \else\ifx\GPTorg@shipout\AtBegShi@Memoir@shipout
+ \def\AtBegShi@found{\GPTorg@shipout}%
+ \else\ifx\THBorg@shipout\AtBegShi@Memoir@shipout
+ \def\AtBegShi@found{\THBorg@shipout}%
+ \else\ifx\@EveryShipout@Org@Shipout\AtBegShi@Memoir@shipout
+ \def\AtBegShi@found{\@EveryShipout@Org@Shipout}%
+ \fi\fi\fi\fi\fi\fi
+ \ifx\AtBegShi@found\relax
+ \else
+ \expandafter\endgroup
+ \expandafter\def\AtBegShi@found{%
+ \edef\AtBegShi@GroupLevel{\number\currentgrouplevel}%
+ \afterassignment\mem@shipi
+ \setbox\AtBeginShipoutBox=%
+ }%
+ \def\mem@shipi{%
+ \ifnum\AtBegShi@GroupLevel=\currentgrouplevel
+ \else
+ \expandafter\aftergroup
+ \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
+ }%
+ \@PackageInfoNoLine{atbegshi}{Class `memoir' patched}%
+ \begingroup
+ \fi
+ \fi
+ \fi
+ \endgroup
+ \let\AtBegShi@PatchMemoir\relax
+}
+\@ifclassloaded{memoir}{%
+ \AtBegShi@PatchMemoir
+}{%
+ \AtBeginDocument{\AtBegShi@PatchMemoir}%
+}
+\AtBegShi@AtEnd
+\endinput
+%%
+%% End of file `atbegshi.sty'.