%% %% 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 %% %% 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-test1.tex, atbegshi-test2.tex. %% \expandafter\edef\csname AtBegShi@End\endcsname{% \catcode40 \the\catcode40\relax % ( \catcode41 \the\catcode41\relax % ) \catcode44 \the\catcode44\relax % , \catcode45 \the\catcode45\relax % - \catcode46 \the\catcode46\relax % . \catcode58 \the\catcode58\relax % : \catcode61 \the\catcode61\relax % = \catcode64 \the\catcode64\relax % @ \catcode94 \the\catcode94\relax % ^ \catcode96 \the\catcode96\relax % ` \noexpand\endinput } \catcode40 12 % ( \catcode41 12 % ) \catcode44 12 % , \catcode45 12 % - \catcode46 12 % . \catcode58 12 % : \catcode61 12 % = \catcode64 11 % @ \catcode94 7 % ^ \catcode96 12 % ` \begingroup \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 \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 \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/04/19 v1.2 At begin shipout hook (HO)] \begingroup\expandafter\expandafter\expandafter\endgroup \expandafter\ifx\csname PackageWarning\endcsname\relax \def\AtBegShi@Warning#1{% \begingroup \newlinechar=10 % \def\@spaces{\space\space\space\space}% \def\MessageBreak{% ^^J(atbegshi)\@spaces\@spaces\@spaces\@spaces }% \immediate\write16{% ^^JPackage atbegshi Warning: #1 % on input line \the\inputlineno.^^J% }% \endgroup }% \else \def\AtBegShi@Warning{% \PackageWarning{atbegshi}% }% \fi \begingroup\expandafter\expandafter\expandafter\endgroup \expandafter\ifx\csname PackageInfo\endcsname\relax \def\AtBegShi@Info#1{% \begingroup \newlinechar=10 % \def\@spaces{\space\space\space\space}% \def\MessageBreak{% ^^J(atbegshi) \@spaces\@spaces\@spaces }% \immediate\write-1{% ^^JPackage atbegshi Info: #1.^^J% }% \endgroup }% \else \def\AtBegShi@Info#1{% \begingroup \def\on@line{}% \PackageInfo{atbegshi}{#1}% \endgroup }% \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@ X \aftergroup\egroup X \aftergroup\endgroup X \expandafter\aftergroup X \else X \egroup X \endgroup E \ifnum\AtBegShi@GroupLevel=\currentgrouplevel E \else E \expandafter\aftergroup \fi \AtBegShi@Output } \catcode`\X=11 % \catcode`\E=11 % \def\AtBegShi@Output{% \ifvoid\AtBeginShipoutBox \AtBegShi@Warning{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 \AtBegShi@Info{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 } \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{% \AtBegShi@Warning{% 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 \AtBegShi@Warning{% 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 \def\AtBegShi@AbortIfUndefined#1{% \begingroup\expandafter\expandafter\expandafter\endgroup \expandafter\ifx\csname#1\endcsname\relax \expandafter\AtBegShi@End \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 }% \AtBegShi@Info{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 }% \AtBegShi@Info{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 }% \AtBegShi@Info{Class `memoir' patched}% \begingroup \fi \fi \fi \endgroup \let\AtBegShi@PatchMemoir\relax } \@ifclassloaded{memoir}{% \AtBegShi@PatchMemoir }{% \AtBeginDocument{\AtBegShi@PatchMemoir}% } \AtBegShi@End \endinput %% %% End of file `atbegshi.sty'.