Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
tree: 872a54c996
Fetching contributors…

Cannot retrieve contributors at this time

350 lines (349 sloc) 12.915 kb
%%
%% 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 Melchior FRANZ
%% $Id: crop.dtx,v 1.21 2001/11/16 21:12:14 m Exp $
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{crop}[2001/11/16 v1.6 cropmarks (mf)]
\newdimen\CROP@width \CROP@width\z@
\newdimen\CROP@height \CROP@height\z@
\newcount\CROP@index \CROP@index\z@
\newcommand*\CROP@includegraphics{%
\PackageError{crop}%
{Package file `graphics.sty' not found.}{The options
`nographics' and `graphics' require the graphics package.}}
\newcommand*\CROP@driver{}
\IfFileExists{graphics.sty}{%
\RequirePackage{graphics}%
\let\CROP@includegraphics\includegraphics
\ifx\Gin@driver\@empty\else
\filename@parse{\Gin@driver}%
\edef\CROP@driver{\filename@base}%
\fi
}{}
\newcommand*\CROP@font{}
\newcommand*\CROP@size[2]{\CROP@width#1 \CROP@height#2 }
\DeclareOption{landscape}{%
\def\CROP@size#1#2{\CROP@height#1 \CROP@width#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}}
\DeclareOption{center}{\AtEndOfPackage{\CROP@center}}
\newcommand*\CROP@center{%
\ifdim\CROP@width=\z@
\PackageError{crop}{no printing paper size selected}{%
you have to select a paper size before you can use %
the `center' option
}%
\else
\voffset\CROP@height
\advance\voffset-\paperheight\voffset.5\voffset
\hoffset\CROP@width
\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{}
{\count@\time \divide\time60 \count\@ne\time
\multiply\time60 \advance\count@-\time
\xdef\CROP@time{\the\count\@ne:\two@digits{\count@}}}
\newcommand*\CROP@@info{{\global\advance\CROP@index\@ne
\def\x{\discretionary{}{}{\hbox{\kern.5em---\kern.5em}}}%
\hskip10\p@\advance\paperwidth-20\p@
\raise8\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)\unitlength1in\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]{\begingroup
\toks@\expandafter{\expandafter#1\expandafter{\CROP@shiplist}}%
\xdef\CROP@shiplist{\the\toks@}%
\endgroup}
\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@@@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@incgrph{}
\newcommand*\CROP@opt@nographics{%
\def\includegraphics##1##{\bgroup
\let\special\@gobble
\CROP@incgrph{##1}
}%
\def\CROP@incgrph##1##2{%
\CROP@includegraphics##1{##2}\egroup
}%
}
\newcommand*\CROP@opt@graphics{%
\let\includegraphics\CROP@includegraphics}
\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}}
\DeclareOption{vtex}{\renewcommand*\CROP@driver{vtex}}
\DeclareOption{pdftex}{\renewcommand*\CROP@driver{pdftex}}
\DeclareOption{pdflatex}{\renewcommand*\CROP@driver{pdftex}}
\DeclareOption{dvips}{\renewcommand*\CROP@driver{dvips}}
\newcommand*\CROP@init@dvips{%
\PackageInfo{crop}{using dvips graphics driver}%
\ifdim\CROP@width=\z@\else
\special{papersize=\the\CROP@width,\the\CROP@height}%
\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 isn't pdftex!}%
\else
\ifdim\CROP@width=\z@\else
\pdfpagewidth\CROP@width
\pdfpageheight\CROP@height
\fi
\renewcommand*\CROP@opt@nographics{%
\renewcommand\includegraphics[2][]{%
\phantom{\CROP@includegraphics[####1]{####2}}
}%
}%
\fi
}
\newcommand*\CROP@init@vtex{%
\PackageInfo{crop}{using vtex graphics driver}%
\ifdim\CROP@width=\z@\else
\ifx\@undefined\mediawidth
\PackageWarning{crop}{implicit or explicit vtex option
ignored:^^JThis isn't vtex!}%
\else
\mediawidth\CROP@width \mediaheight\CROP@height
\fi
\fi
}
\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'.
Jump to Line
Something went wrong with that request. Please try again.