Eso Pic
Eso Pic
Eso Pic
\newcommand\AtPageUpperLeft[1]{%
\begingroup
\@tempdima=0pt\relax\@tempdimb=\ESO@yoffsetI\relax
\put(\LenToUnit{\@tempdima},\LenToUnit{\@tempdimb}){#1}%
\endgroup
}
\newcommand\AtPageLowerLeft[1]{\AtPageUpperLeft{%
\put(0,\LenToUnit{-\paperheight}){#1}}}
\newcommand\AtPageCenter[1]{\AtPageUpperLeft{%
\put(\LenToUnit{.5\paperwidth},\LenToUnit{-.5\paperheight}){#1}}%
}
\newcommand\AtTextUpperLeft[1]{%
\begingroup
\setlength\@tempdima{1in}%
\ifodd\c@page%
\advance\@tempdima\oddsidemargin%
\else%
\advance\@tempdima\evensidemargin%
\fi%
\@tempdimb=\ESO@yoffsetI\relax\advance\@tempdimb-1in\relax%
\advance\@tempdimb-\topmargin%
\advance\@tempdimb-\headheight\advance\@tempdimb-\headsep%
\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}
\newcommand\ESO@isMEMOIR[1]{}
\@ifclassloaded{memoir}{\renewcommand\ESO@isMEMOIR[1]{#1}}{}
\newcommand{\@ShipoutPicture}{%
\bgroup
\@tempswafalse%
\ifx\ESO@HookI\@empty\else\@tempswatrue\fi%
\ifx\ESO@HookII\@empty\else\@tempswatrue\fi%
\ifx\ESO@HookIII\@empty\else\@tempswatrue\fi%
\if@tempswa%
\@tempdima=1in\@tempdimb=-\@tempdima%
\advance\@tempdimb\ESO@yoffsetI%
\ESO@isMEMOIR{%
\advance\@tempdima\trimedge%
\advance\@tempdima\paperwidth%
\advance\@tempdima-\stockwidth%
\if@twoside\ifodd\c@page\else%
\advance\@tempdima-2\trimedge%
\advance\@tempdima-\paperwidth%
\advance\@tempdima\stockwidth%
\fi\fi%
\advance\@tempdimb\trimtop}%
\unitlength=1pt%
\global\setbox\@cclv\vbox{%
\vbox{\let\protect\relax
\pictur@(0,0)(\strip@pt\@tempdima,\strip@pt\@tempdimb)%
\ESO@HookIII\ESO@HookI\ESO@HookII%
\global\let\ESO@HookII\@empty%
\endpicture}%
\nointerlineskip%
\box\@cclv}%
\fi
\egroup
}
\EveryShipout{\@ShipoutPicture}
\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=0pt\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]{1pt}{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}
\AtBeginDocument{%
\IfFileExists{color.sty}
{%
\RequirePackage{color}
\let\ESO@color=\color\let\ESO@colorbox=\colorbox
\let\ESO@fcolorbox=\fcolorbox
}{}
\@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
}%
\ifx\pdfoutput\undefined\else
\ifx\pdfoutput\relax\else
\ifcase\pdfoutput\else
\ESO@dvipsfalse%
\fi
\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{0pt}\def\ESO@yoffsetII{-\paperheight}
\edef\ESO@griddeltaY{-\ESO@griddelta}\edef\ESO@gridDeltaY{-\ESO@gridDelta}
\else
\def\ESO@yoffsetI{\paperheight}\def\ESO@yoffsetII{0pt}
\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'.