%%
%% This is file `eso-pic.sty',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% eso-pic.dtx  (with options: `package')
%% 
%% This is a generated file.
%% 
%% Copyright (C) 1998-2009 by Rolf Niepraschk <Rolf.Niepraschk@gmx.de>
%% 
%% This file may be distributed and/or modified under the conditions of
%% the LaTeX Project Public License, either version 1.2 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.2 or later is part of all distributions of LaTeX version
%% 1999/12/01 or later.
%% 
\NeedsTeXFormat{LaTeX2e}[1999/12/01]
\ProvidesPackage{eso-pic}
   [2009/10/07 v2.0a eso-pic (RN)]
\RequirePackage{atbegshi}
\providecommand*\LenToUnit[1]{#1\@gobble}
\newcommand\ESO@isMEMOIR[2]{#2}
\@ifclassloaded{memoir}{\renewcommand\ESO@isMEMOIR[2]{#1}}{}
\newcommand\AtPageUpperLeft[1]{%
  \put(0,\LenToUnit{-\ESO@yoffsetI}){#1}%
}
\newcommand\AtPageLowerLeft[1]{\AtPageUpperLeft{%
  \put(0,\LenToUnit{-\paperheight}){#1}}}
\newcommand\AtPageCenter[1]{\AtPageUpperLeft{%
  \put(\LenToUnit{.5\paperwidth},\LenToUnit{-.5\paperheight}){#1}}%
}
\newcommand\AtStockLowerLeft{}
\ESO@isMEMOIR{%
  \renewcommand\AtStockLowerLeft[1]{%
    \begingroup
      \@tempdima=-\stockwidth
      \advance\@tempdima\trimedge
      \advance\@tempdima\paperwidth
      \if@twoside\ifodd\c@page\else
        \@tempdima=-\trimedge
      \fi\fi
      \@tempdimb=-\stockheight
      \advance\@tempdimb\paperheight
      \advance\@tempdimb\trimtop
      \AtPageLowerLeft{%
        \put(\LenToUnit{\@tempdima},\LenToUnit{\@tempdimb}){#1}%
      }%
    \endgroup
  }
}{%
  \let\AtStockLowerLeft=\AtPageLowerLeft
}
\newcommand\AtStockUpperLeft{}
\ESO@isMEMOIR{%
  \renewcommand\AtStockUpperLeft[1]{%
    \AtStockLowerLeft{%
      \put(0,\LenToUnit{\stockheight}){#1}%
    }%
  }%
}{%
  \let\AtStockUpperLeft=\AtPageUpperLeft
}
\newcommand\AtStockCenter{}
\ESO@isMEMOIR{%
  \renewcommand\AtStockCenter[1]{%
    \AtStockLowerLeft{%
      \put(\LenToUnit{.5\stockwidth},\LenToUnit{.5\stockheight}){#1}%
    }%
  }%
}{%
  \let\AtStockCenter=\AtPageCenter
}
\ESO@isMEMOIR{%
  \newcommand\AtTextUpperLeft[1]{%
    \begingroup
      \ifodd\c@page
        \@tempdima=\spinemargin
      \else
        \@tempdima=\paperwidth
        \advance\@tempdima-\textwidth
        \advance\@tempdima-\spinemargin
      \fi
      \@tempdimb=-\uppermargin
      \AtPageUpperLeft{%
        \put(\LenToUnit{\@tempdima},\LenToUnit{\@tempdimb}){#1}%
      }%
    \endgroup
  }
}{%
  \newcommand\AtTextUpperLeft[1]{%
    \begingroup
      \@tempdima=1in\relax
      \ifodd\c@page
        \advance\@tempdima\oddsidemargin
      \else
        \advance\@tempdima\evensidemargin
      \fi
      \@tempdimb=-1in\relax
      \advance\@tempdimb-\topmargin
      \advance\@tempdimb-\headheight
      \advance\@tempdimb-\headsep
      \AtPageUpperLeft{%
        \put(\LenToUnit{\@tempdima},\LenToUnit{\@tempdimb}){#1}%
      }%
    \endgroup
  }
}
\newcommand\AtTextLowerLeft[1]{\AtTextUpperLeft{%
  \put(0,\LenToUnit{-\textheight}){#1}}}
\newcommand\AtTextCenter[1]{\AtTextUpperLeft{%
  \put(\LenToUnit{.5\textwidth},\LenToUnit{-.5\textheight}){#1}}}
\newcommand{\ESO@HookI}{}
\newcommand{\ESO@HookII}{}
\newcommand{\ESO@HookIII}{}
\newcommand{\AddToShipoutPicture}{%
  \@ifstar{\g@addto@macro\ESO@HookII}{\g@addto@macro\ESO@HookI}}
\newcommand{\ClearShipoutPicture}{\global\let\ESO@HookI\@empty}
\ESO@isMEMOIR{%
  \AtBeginShipout{%
    \@tempdima=-\trimedge
    \advance\@tempdima-\paperwidth
    \advance\@tempdima\stockwidth
    \if@twoside\ifodd\c@page\else
      \advance\@tempdima2\trimedge
      \advance\@tempdima\paperwidth
      \advance\@tempdima-\stockwidth
    \fi\fi
    \@tempdimb=\ESO@yoffsetI
    \advance\@tempdimb-\trimtop
    \nointerlineskip
    \AtBeginShipoutUpperLeft{%
      \put(\LenToUnit{\@tempdima},\LenToUnit{\@tempdimb}){%
        \ESO@HookIII\ESO@HookI\ESO@HookII
        \global\let\ESO@HookII\@empty
      }%
    }%
  }
}{%
  \AtBeginShipout{%
    \nointerlineskip
    \AtBeginShipoutUpperLeft{%
      \put(0,\LenToUnit{\ESO@yoffsetI}){%
        \ESO@HookIII\ESO@HookI\ESO@HookII
        \global\let\ESO@HookII\@empty
      }%
    }%
  }
}
\RequirePackage{keyval}
\newif\ifESO@dvips\ESO@dvipsfalse \newif\ifESO@grid\ESO@gridfalse
\newif\ifESO@texcoord\ESO@texcoordfalse
\newcommand*\ESO@gridunitname{}
\newcommand*\ESO@gridunit{}
\newcommand*\ESO@labelfactor{}
\newcommand*\ESO@griddelta{}\newcommand*\ESO@griddeltaY{}
\newcommand*\ESO@gridDelta{}\newcommand*\ESO@gridDeltaY{}
\newcommand*\ESO@gridcolor{}
\newcommand*\ESO@subgridcolor{}
\newcommand*\ESO@subgridstyle{dotted}% ???
\newcommand*\ESO@gap{}
\newcommand*\ESO@yoffsetI{}\newcommand*\ESO@yoffsetII{}
\newcommand*\ESO@gridlines{\thinlines}
\newcommand*\ESO@subgridlines{\thinlines}
\newcommand*\ESO@hline[1]{\ESO@subgridlines\line(1,0){#1}}
\newcommand*\ESO@vline[1]{\ESO@subgridlines\line(0,1){#1}}
\newcommand*\ESO@Hline[1]{\ESO@gridlines\line(1,0){#1}}
\newcommand*\ESO@Vline[1]{\ESO@gridlines\line(0,1){#1}}
\newcommand\ESO@fcolorbox[4][]{\fbox{#4}}
\newcommand\ESO@color[1]{}
\newcommand\ESO@colorbox[3][]{%
  \begingroup
    \fboxrule=\z@\fbox{#3}%
  \endgroup
}
\newcommand\gridSetup[6][]{%
  \edef\ESO@gridunitname{#1}\edef\ESO@gridunit{#2}
  \edef\ESO@labelfactor{#3}\edef\ESO@griddelta{#4}
  \edef\ESO@gridDelta{#5}\edef\ESO@gap{#6}}
\define@key{ESO}{texcoord}[true]{\csname ESO@texcoord#1\endcsname}
\define@key{ESO}{pscoord}[true]{\csname @tempswa#1\endcsname
  \if@tempswa\ESO@texcoordfalse\else\ESO@texcoordtrue\fi}
\define@key{ESO}{dvips}[true]{\csname ESO@dvips#1\endcsname}
\define@key{ESO}{grid}[true]{\csname ESO@grid#1\endcsname
  \setkeys{ESO}{gridcolor=black,subgridcolor=black}}
\define@key{ESO}{colorgrid}[true]{\csname ESO@grid#1\endcsname
  \setkeys{ESO}{gridcolor=red,subgridcolor=green}}
\define@key{ESO}{gridcolor}{\def\ESO@gridcolor{#1}}
\define@key{ESO}{subgridcolor}{\def\ESO@subgridcolor{#1}}
\define@key{ESO}{subgridstyle}{\def\ESO@subgridstyle{#1}}%
\define@key{ESO}{gridunit}{%
  \def\@tempa{#1}
  \def\@tempb{bp}
  \ifx\@tempa\@tempb
    \gridSetup[\@tempa]{1bp}{1}{10}{50}{2}
  \else
    \def\@tempb{pt}
    \ifx\@tempa\@tempb
      \gridSetup[\@tempa]{\p@}{1}{10}{50}{2}
    \else
      \def\@tempb{in}
      \ifx\@tempa\@tempb
        \gridSetup[\@tempa]{.1in}{.1}{2}{10}{.5}
      \else
        \gridSetup[mm]{1mm}{1}{5}{20}{1}
      \fi
    \fi
  \fi
}
\setkeys{ESO}{subgridstyle=solid,pscoord=true,gridunit=mm}
\def\ProcessOptionsWithKV#1{%
  \let\@tempc\@empty
  \@for\CurrentOption:=\@classoptionslist\do{%
    \@ifundefined{KV@#1@\CurrentOption}%
    {}{\edef\@tempc{\@tempc,\CurrentOption,}}}%
  \edef\@tempc{%
    \noexpand\setkeys{#1}{\@tempc\@ptionlist{\@currname.\@currext}}}%
  \@tempc
  \AtEndOfPackage{\let\@unprocessedoptions\relax}}%
\ProcessOptionsWithKV{ESO}%
\newcommand\ESO@div[2]{%
  \@tempdima=#1\relax\@tempdimb=\ESO@gridunit\relax
  \@tempdimb=#2\@tempdimb\divide\@tempdima by \@tempdimb
  \@tempcnta\@tempdima\advance\@tempcnta\@ne}
\@ifundefined{colorbox}{%
  \IfFileExists{xcolor.sty}{\RequirePackage{xcolor}}%
    {\RequirePackage{color}}%
}{}%
\let\ESO@color=\color
\let\ESO@colorbox=\colorbox
\let\ESO@fcolorbox=\fcolorbox
\AtBeginDocument{%
  \ESO@dvipsfalse
  \@ifundefined{Gin@driver}{}%
  {%
    \ifx\Gin@driver\@empty\else%
      \filename@parse{\Gin@driver}\def\reserved@a{dvips}%
      \ifx\filename@base\reserved@a\ESO@dvipstrue\fi
    \fi
  }%
  \ifESO@dvips\def\@tempb{eepic}\else\def\@tempb{epic}\fi
  \def\@tempa{dotted}%\def\ESO@gap{\LenToUnit{6\@wholewidth}}%
  \ifx\@tempa\ESO@subgridstyle
    \IfFileExists{\@tempb.sty}%
    {%
      \RequirePackage{\@tempb}
      \renewcommand*\ESO@hline[1]{\ESO@subgridlines\dottedline{\ESO@gap}%
        (0,0)(##1,0)}
      \renewcommand*\ESO@vline[1]{\ESO@subgridlines\dottedline{\ESO@gap}%
        (0,0)(0,##1)}
    }{}
  \else
    \ifx\ESO@gridcolor\ESO@subgridcolor%
      \renewcommand*\ESO@gridlines{\thicklines}
    \fi
  \fi
}
\ifESO@texcoord
  \def\ESO@yoffsetI{\z@}\def\ESO@yoffsetII{-\paperheight}
  \edef\ESO@griddeltaY{-\ESO@griddelta}\edef\ESO@gridDeltaY{-\ESO@gridDelta}
\else
  \def\ESO@yoffsetI{-\paperheight}\def\ESO@yoffsetII{\z@}
  \edef\ESO@griddeltaY{\ESO@griddelta}\edef\ESO@gridDeltaY{\ESO@gridDelta}
\fi
\newcommand\ESO@gridpicture{%
  \begingroup
    \setlength\unitlength{\ESO@gridunit}%
    \ESO@color{\ESO@subgridcolor}%
    \ESO@div{\paperheight}{\ESO@griddelta}%
    \multiput(0,0)(0,\ESO@griddeltaY){\@tempcnta}%
      {\ESO@hline{\LenToUnit{\paperwidth}}}%
    \ESO@div{\paperwidth}{\ESO@griddelta}%
    \multiput(0,\LenToUnit{\ESO@yoffsetII})(\ESO@griddelta,0){\@tempcnta}%
      {\ESO@vline{\LenToUnit{\paperheight}}}%
    \ESO@color{\ESO@gridcolor}%
    \ESO@div{\paperheight}{\ESO@gridDelta}%
    \multiput(0,0)(0,\ESO@gridDeltaY){\@tempcnta}%
      {\ESO@Hline{\LenToUnit{\paperwidth}}}%
    \ESO@div{\paperwidth}{\ESO@gridDelta}%
    \multiput(0,\LenToUnit{\ESO@yoffsetII})(\ESO@gridDelta,0){\@tempcnta}%
      {\ESO@Vline{\LenToUnit{\paperheight}}}%
    \fontsize{10}{12}\normalfont%
    \ESO@div{\paperwidth}{\ESO@gridDelta}%
    \multiput(0,\ESO@gridDeltaY)(\ESO@gridDelta,0){\@tempcnta}{%
      \@tempcntb=\@tempcnta\advance\@tempcntb-\@multicnt
      \ifnum\@tempcntb>1\relax
        \multiply\@tempcntb by \ESO@gridDelta\relax
        \@tempdima=\@tempcntb sp\@tempdima=\ESO@labelfactor\@tempdima
        \@tempcntb=\@tempdima%
        \makebox(0,0)[c]{\ESO@colorbox{white}{\the\@tempcntb}}%
      \fi}%
    \ifx\ESO@gridunitname\@empty\def\@tempa{0}\else\def\@tempa{1}\fi
    \ESO@div{\paperheight}{\ESO@gridDelta}%
    \multiput(\ESO@gridDelta,0)(0,\ESO@gridDeltaY){\@tempcnta}{%
      \@tempcntb=\@tempcnta\advance\@tempcntb-\@multicnt%
      \ifnum\@tempcntb>\@tempa\relax
        \multiply\@tempcntb by \ESO@gridDelta\relax%
        \@tempdima=\@tempcntb sp\@tempdima=\ESO@labelfactor\@tempdima
        \@tempcntb=\@tempdima
        \makebox(0,0)[c]{\ESO@colorbox{white}{\the\@tempcntb}}%
      \fi
    }%
    \ifx\ESO@gridunitname\@empty\else
      \thicklines\fboxrule=\@wholewidth
      \put(\ESO@gridDelta,\ESO@gridDeltaY){\makebox(0,0)[c]{%
        \ESO@fcolorbox{\ESO@gridcolor}{white}{%
          \textbf{\ESO@gridunitname}}}}%
    \fi
    \normalcolor%
  \endgroup
}
\ifESO@grid\g@addto@macro\ESO@HookIII{\ESO@gridpicture}\fi
\endinput
%%
%% End of file `eso-pic.sty'.
