%%
%% This is file `crop.sty',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% crop.dtx  (with options: `package')
%% 
%% IMPORTANT NOTICE:
%% 
%% For the copyright see the source file.
%% 
%% Any modified versions of this file must be renamed
%% with new filenames distinct from crop.sty.
%% 
%% For distribution of the original source see the terms
%% for copying and modification in the file crop.dtx.
%% 
%% This generated file may be distributed as long as the
%% original source files, as listed above, are part of the
%% same distribution. (The sources need not necessarily be
%% in the same archive or directory.)
%% File: crop.dtx Copyright (C) 1998,1999,2000,2001,2002 Melchior FRANZ
%% $Id: crop.dtx,v 1.33 2002/05/14 14:50:52 m Exp $
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{crop}[2002/05/14 v1.7 cropmarks  (mf)]
\ifx\stockwidth\@undefined  \newdimen\stockwidth  \stockwidth\z@\fi
\ifx\stockheight\@undefined \newdimen\stockheight \stockheight\z@\fi
\newcount\CROP@index  \CROP@index\z@
\newcommand*\CROP@driver{}
\IfFileExists{graphics.sty}{%
    \RequirePackage{graphics}%
    \let\CROP@Ginclude@graphics\Ginclude@graphics
    \ifx\Gin@driver\@empty\else
        \filename@parse{\Gin@driver}%
        \edef\CROP@driver{\filename@base}%
    \fi
}{}
\newcommand*\CROP@font{}
\newcommand*\CROP@size[2]{\stockwidth#1 \stockheight#2 }
\DeclareOption{landscape}{%
    \def\CROP@size#1#2{\stockheight#1 \stockwidth#2 }
}
\DeclareOption{a0}{\CROP@size{841truemm}{1189truemm}}
\DeclareOption{a1}{\CROP@size{595truemm}{841truemm}}
\DeclareOption{a2}{\CROP@size{420truemm}{595truemm}}
\DeclareOption{a3}{\CROP@size{297truemm}{420truemm}}
\DeclareOption{a4}{\CROP@size{210truemm}{297truemm}}
\DeclareOption{a5}{\CROP@size{149truemm}{210truemm}}
\DeclareOption{a6}{\CROP@size{105truemm}{149truemm}}
\DeclareOption{b0}{\CROP@size{1000truemm}{1414truemm}}
\DeclareOption{b1}{\CROP@size{707truemm}{1000truemm}}
\DeclareOption{b2}{\CROP@size{500truemm}{707truemm}}
\DeclareOption{b3}{\CROP@size{353truemm}{500truemm}}
\DeclareOption{b4}{\CROP@size{250truemm}{353truemm}}
\DeclareOption{b5}{\CROP@size{176truemm}{250truemm}}
\DeclareOption{b6}{\CROP@size{125truemm}{176truemm}}
\DeclareOption{letter}{\CROP@size{8.5truein}{11truein}}
\DeclareOption{legal}{\CROP@size{8.5truein}{14truein}}
\DeclareOption{executive}{\CROP@size{7.25truein}{10.5truein}}
\newcommand\CROP@opt@width{\stockwidth\CROP@@}
\newcommand\CROP@opt@height{\stockheight\CROP@@}
\DeclareOption{center}{\AtEndOfPackage{\CROP@center}}
\newcommand*\CROP@center{%
    \ifdim\stockwidth=\z@
        \PackageError{crop}{%
            No printing paper size selected%
        }{%
            You have to select a paper size like `a4' or
            `height=20truecm,width=...' to be able to use the
            `center' option.%
        }%
    \else
        \voffset\stockheight
        \advance\voffset-\paperheight
        \voffset.5\voffset
        \hoffset\stockwidth
        \advance\hoffset-\paperwidth
        \hoffset.5\hoffset
    \fi
}
\DeclareOption*{\CROP@execopt\CurrentOption}
\newcommand*\crop[1][cam,noaxes]{%
    \@for\CROP@@:=#1\do{\CROP@execopt\CROP@@}%
}
\newcommand*\CROP@execopt[1]{%
    \def\CROP@##1=##2=##3\@nil{\def\CROP@{##1}\def\CROP@@{##2}}%
    \expandafter\CROP@#1==\@nil%
    \@ifundefined{CROP@opt@\CROP@}{%
        \PackageError{crop}{%
            Requested option `#1' not provided
        }{%
            Note that the `*center' options are obsolete. You have to
            request\MessageBreak e.g. [a4,center] instead of
            [a4center].
        }%
    }{%
        \@nameuse{CROP@opt@\CROP@}%
    }%
}
\newcommand*\cropdef[6][\CROP@@info]{%
    \@namedef{CROP@opt@#6}{%
        \CROP@on
        \def\CROP@info{#1}%
        \let\CROP@ulc#2
        \let\CROP@urc#3
        \let\CROP@llc#4
        \let\CROP@lrc#5
    }%
}
\newcommand*\CROP@@vaxis{%
    \hfil
    \setbox\z@\hbox{%
        \vtop{%
            \hrule\@height12\p@\@depth-2\p@\@width.4\p@
            \vskip\paperheight
            \vskip4\p@
            \hrule\@height\z@\@depth10\p@\@width.4\p@
        }%
    }%
    \ht\z@\z@
    \dp\z@\z@
    \box\z@
    \hfil
}
\newcommand*\CROP@@haxis{%
    \vfil
    \hb@xt@\paperwidth{%
        \llap{%
            \vrule\@height.2\p@\@depth.2\p@\@width10\p@\hskip2\p@
        }%
        \hfil
        \rlap{%
            \hskip2\p@\vrule\@height.2\p@\@depth.2\p@\@width10\p@
        }%
    }%
    \vfil
}
\newcommand*\CROP@time{}
\bgroup
    \count@\time
    \divide\time60
    \count\@ne\time
    \multiply\time60
    \advance\count@-\time
    \xdef\CROP@time{\the\count\@ne:\two@digits{\count@}}
\egroup
\newcommand*\CROP@@info{{%
    \global\advance\CROP@index\@ne
    \def\x{\discretionary{}{}{\hbox{\kern.5em---\kern.5em}}}%
    \hskip10\p@
    \advance\paperwidth-20\p@
    \raise10\p@\vbox to\z@{%
        \centering
        \hsize\paperwidth
        \vss
        \normalfont
        \let\protect\relax
        \CROP@font{%
            ``\jobname''\x
            \the\year/\the\month/\the\day\x
            \CROP@time\x
            page\kern.5em\thepage\x
            \#\the\CROP@index
            \strut
        }%
    }%
}}
\newcommand*\CROP@opt@font{\let\CROP@font\CROP@@}
\newcommand*\CROP@@ulc{%
    \begin{picture}(0,0)
        \unitlength\p@\thinlines
        \put(-30,0){\circle{10}}
        \put(-30,-5){\line(0,1){10}}
        \put(-35,0){\line(1,0){30}}
        \put(0,30){\circle{10}}
        \put(-5,30){\line(1,0){10}}
        \put(0,35){\line(0,-1){30}}
    \end{picture}%
}
\newcommand*\CROP@@urc{%
    \begin{picture}(0,0)
        \unitlength\p@\thinlines
        \put(30,0){\circle{10}}
        \put(30,-5){\line(0,1){10}}
        \put(35,0){\line(-1,0){30}}
        \put(0,30){\circle{10}}
        \put(-5,30){\line(1,0){10}}
        \put(0,35){\line(0,-1){30}}
    \end{picture}%
}
\newcommand*\CROP@@llc{%
    \begin{picture}(0,0)
        \unitlength\p@\thinlines
        \put(-30,0){\circle{10}}
        \put(-30,-5){\line(0,1){10}}
        \put(-35,0){\line(1,0){30}}
        \put(0,-30){\circle{10}}
        \put(-5,-30){\line(1,0){10}}
        \put(0,-35){\line(0,1){30}}
    \end{picture}%
}
\newcommand*\CROP@@lrc{%
    \begin{picture}(0,0)
        \unitlength\p@\thinlines
        \put(30,0){\circle{10}}
        \put(30,-5){\line(0,1){10}}
        \put(35,0){\line(-1,0){30}}
        \put(0,-30){\circle{10}}
        \put(-5,-30){\line(1,0){10}}
        \put(0,-35){\line(0,1){30}}
    \end{picture}%
}
\cropdef\CROP@@ulc\CROP@@urc\CROP@@llc\CROP@@lrc{cam}
\newcommand*\CROP@@cross{%
    \begin{picture}(0,0)
        \unitlength2cm\thinlines
        \put(-1,0){\line(1,0){2}}
        \put(0,-1){\line(0,1){2}}
    \end{picture}%
}
\cropdef\CROP@@cross\CROP@@cross\CROP@@cross\CROP@@cross{cross}
\newcommand*\CROP@@frame{%
    \begin{picture}(0,0)
        \unitlength\p@\thinlines
        \put(0,0){\line(1,0){\strip@pt\paperwidth}}
        \put(0,0){\line(0,-1){\strip@pt\paperheight}}
        \put(\strip@pt\paperwidth,0){\line(0,-1){\strip@pt\paperheight}}
        \put(0,-\strip@pt\paperheight){\line(1,0){\strip@pt\paperwidth}}
    \end{picture}%
}
\cropdef\CROP@@frame\relax\relax\relax{frame}
\let\CROP@shipout\shipout
\renewcommand*\shipout{
    \afterassignment\CROP@ship
    \setbox\@cclv=%
}
\newcommand*\CROP@ship{%
    \ifvoid\@cclv
        \expandafter\aftergroup
    \fi
    \CROP@@ship
}
\newcommand*\CROP@shiplist{%
    \CROP@@@ship\box\@cclv
}
\newcommand*\CROP@@ship{%
    \CROP@shipout\vbox{\CROP@shiplist}%
}
\newcommand*\CROP@shipadd[1]{%
    \bgroup
        \toks@\expandafter{\expandafter#1\expandafter{\CROP@shiplist}}%
        \xdef\CROP@shiplist{\the\toks@}%
    \egroup
}
\newcommand*\CROP@kernel{%
    \color@setgroup
    \vbox to\z@{%
        \vskip\CROP@vorigin
        \hb@xt@\z@{%
            \hskip\CROP@horigin
            \CROP@every
            \vbox to\paperheight{%
                \hb@xt@\paperwidth{%
                    \setbox\z@\hbox{\normalfont\CROP@@@info}%
                    \ht\z@\z@
                    \dp\z@\z@
                    \wd\z@\z@
                    \box\z@
                    \CROP@ulc
                    \CROP@uedge
                    \CROP@urc
                }%
                \CROP@ledge
                \hb@xt@\paperwidth{%
                    \CROP@llc
                    \hfil
                    \CROP@lrc
                }%
            }%
            \hss
        }%
        \vss
    }%
    \color@endgroup
}
\newcommand*\CROP@opt@horigin{\let\CROP@horigin\CROP@@}
\newcommand*\CROP@opt@vorigin{\let\CROP@vorigin\CROP@@}
\newcommand*\CROP@@@ship{}
\newcommand*\CROP@on{\let\CROP@@@ship\CROP@kernel}
\newcommand*\CROP@opt@off{\let\CROP@@@ship\relax}
\newcommand*\CROP@opt@odd{%
    \def\CROP@@@ship{\ifodd\c@page\CROP@kernel\fi}%
}
\newcommand*\CROP@opt@even{%
    \def\CROP@@@ship{\ifodd\c@page\else\CROP@kernel\fi}%
}
\newcommand*\CROP@@@info{}
\newcommand*\CROP@opt@info{\def\CROP@@@info{\CROP@info}}
\newcommand*\CROP@opt@noinfo{\let\CROP@@@info\relax}
\newcommand*\CROP@opt@axes{%
    \let\CROP@uedge\CROP@@vaxis
    \let\CROP@ledge\CROP@@haxis
}
\newcommand*\CROP@opt@noaxes{%
    \let\CROP@uedge\hfil
    \let\CROP@ledge\vfil
}
\expandafter\newcommand\expandafter*\csname CROP@opt@mount1\endcsname{%
    \let\CROP@every\relax
}
\newcount\CROP@offset
\expandafter\newcommand\expandafter*\csname CROP@opt@mount2\endcsname{%
    \CROP@offset=\ifx\CROP@@\empty\z@\else\CROP@@\fi
    \def\CROP@every{%
        \count@\c@page
        \advance\count@\CROP@offset
        \ifodd\count@
            \let\CROP@ulc\relax
            \let\CROP@llc\relax
        \else
            \let\CROP@urc\relax
            \let\CROP@lrc\relax
            \let\CROP@info\relax
        \fi
    }%
}
\DeclareOption{mirror}{%
    \AtBeginDocument{\CROP@shipadd\CROP@reflect\CROP@setps}
}
\newcommand*\CROP@reflect[1]{%
    \vbox to\z@{%
        \vskip\CROP@vorigin
        \hb@xt@\z@{
            \hskip\CROP@horigin
            \CROP@ps{gsave currentpoint}%
            \kern\paperwidth
            \CROP@ps{currentpoint}%
            \hss
        }%
        \vss
    }%
    \CROP@ps{translate -1 1 scale neg exch neg exch translate}%
    \vbox{#1}%
    \CROP@ps{grestore}%
}
\DeclareOption{rotate}{%
    \AtBeginDocument{\CROP@shipadd\CROP@rotate\CROP@setps}
}
\newcommand*\CROP@rotate[1]{%
    \hb@xt@\z@{%
        \hskip\CROP@horigin
        \vbox to\z@{%
            \vskip\CROP@vorigin
            \CROP@ps{gsave currentpoint}%
            \kern\paperheight
            \hb@xt@\z@{%
                \kern\paperwidth
                \CROP@ps{currentpoint}%
                \hss
            }%
            \vss
        }%
        \hss
    }%
    \CROP@ps{translate 180 rotate neg exch neg exch translate}%
    \vbox{#1}%
    \CROP@ps{grestore}%
}
\newcommand*\CROP@setps{%
    \ifx\Gin@PS@raw\@undefined
        \PackageWarning{crop}{internal PostScript interface used}%
        \newcommand*\CROP@ps[1]{\special{ps: ##1}}%
    \else
        \PackageInfo{crop}{graphics/color PostScript interface used}{}%
        \let\CROP@ps\Gin@PS@raw
    \fi
    \let\CROP@setps\relax
}
\DeclareOption{invert}{%
    \AtEndOfPackage{\RequirePackage{color}}
    \AtBeginDocument{\CROP@invert{black}}
}
\newcommand*\CROP@invert[1]{%
    \ifx\color\@undefined
        \PackageWarning{crop}{%
            The `color' package could not be loaded, so I'm\MessageBreak
            ignoring the `invert' and `notext' option
        }%
    \else
        \pagecolor{#1}%
        \color{white}%
        \newcommand\CROP@@color[2][]{}%
        \DeclareRobustCommand\color{\CROP@@color}%
        \DeclareRobustCommand\pagecolor{\CROP@@color}%
        \DeclareRobustCommand\textcolor{\CROP@@color}%
        \let\normalcolor\relax
    \fi
    \let\CROP@invert\relax
}
\DeclareOption{notext}{%
    \AtEndOfPackage{\RequirePackage{color}}
    \AtBeginDocument{\CROP@invert{white}}
}
\newcommand*\CROP@opt@nographics{%
    \def\Ginclude@graphics##1{%
        \phantom{%
            \CROP@Ginclude@graphics{##1}%
        }%
    }%
}%
\newcommand*\CROP@opt@graphics{%
    \let\Ginclude@graphics\CROP@Ginclude@graphics
}
\DeclareOption{vtex}{\def\CROP@driver{vtex}}
\DeclareOption{pdftex}{\def\CROP@driver{pdftex}}
\DeclareOption{pdflatex}{\def\CROP@driver{pdftex}}
\DeclareOption{dvips}{\def\CROP@driver{dvips}}
\DeclareOption{nodriver}{\def\CROP@driver{}}
\newcommand*\CROP@init@dvips{%
    \PackageInfo{crop}{using dvips graphics driver}%
    \AtBeginDvi{%
        \ifdim\stockwidth=\z@
        \else
            \special{papersize=\the\stockwidth,\the\stockheight}%
        \fi
    }%
}
\newcommand*\CROP@init@pdftex{%
    \PackageInfo{crop}{using pdf(la)tex graphics driver}%
    \ifx\@undefined\pdfpagewidth
        \PackageWarning{crop}{implicit or explicit pdf(la)tex option
        ignored:^^JThis doesn't seem to be pdftex!}%
    \else
        \AtBeginDocument{%
            \ifdim\stockwidth=\z@
            \else
                \pdfpagewidth\stockwidth
                \pdfpageheight\stockheight
            \fi
        }%
    \fi
}
\newcommand*\CROP@init@vtex{%
    \PackageInfo{crop}{using vtex graphics driver}%
    \ifdim\stockwidth=\z@\else
        \ifx\@undefined\mediawidth
            \PackageWarning{crop}{implicit or explicit vtex option
            ignored:^^JThis doesn't seem to be vtex!}%
        \else
            \AtBeginDocument{%
                \mediawidth\stockwidth
                \mediaheight\stockheight
            }%
        \fi
    \fi
}
\newcommand*\CROP@compat{%
    \PackageWarning{crop}{%
        center options like `a4center' are obsolete and
        only\MessageBreak provided for compatibility reasons. They will
        be removed\MessageBreak in future releases. Use the new options
        `a4'\MessageBreak and `center' separately instead.
    }
}
\DeclareOption{landscapecenter}{%
    \CROP@compat\ExecuteOptions{landscape,center}
}
\DeclareOption{a4center}{%
    \CROP@compat\ExecuteOptions{a4,center}
}
\DeclareOption{a5center}{%
    \CROP@compat\ExecuteOptions{a5,center}
}
\DeclareOption{b5center}{%
    \CROP@compat\ExecuteOptions{b5,center}
}
\DeclareOption{lettercenter}{%
    \CROP@compat\ExecuteOptions{letter,center}
}
\DeclareOption{legalcenter}{%
    \CROP@compat\ExecuteOptions{legal,center}
}
\DeclareOption{executivecenter}{%
    \CROP@compat\ExecuteOptions{executive,center}
}
\newcommand*\CROP@horigin{-1truein}
\newcommand*\CROP@vorigin{-1truein}
\crop[off,noaxes,info,mount1]
\InputIfFileExists{crop.cfg}{%
    \PackageInfo{crop}{Local config file crop.cfg used}
}{}
\ProcessOptions
\AtEndOfPackage{\@nameuse{CROP@init@\CROP@driver}}
\endinput
%%
%% End of file `crop.sty'.
