summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/generic
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2007-04-22 17:14:12 +0000
committerKarl Berry <karl@freefriends.org>2007-04-22 17:14:12 +0000
commit3a0595042f7a56658ecc4a51fe68f2ab4312bc49 (patch)
tree4a9226c3e5b6e27b47ca17b9afc98b5d1d1d7601 /Master/texmf-dist/tex/generic
parent64e0b27d1ebe077904838f130fc85b3b1981df2b (diff)
atbegshi 1.2 (oberdiek 20apr07)
git-svn-id: svn://tug.org/texlive/trunk@4170 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/generic')
-rw-r--r--Master/texmf-dist/tex/generic/oberdiek/atbegshi.sty575
1 files changed, 575 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/generic/oberdiek/atbegshi.sty b/Master/texmf-dist/tex/generic/oberdiek/atbegshi.sty
new file mode 100644
index 00000000000..854e6e0cd59
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/oberdiek/atbegshi.sty
@@ -0,0 +1,575 @@
+%%
+%% 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-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'.