You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
371 lines
12 KiB
371 lines
12 KiB
%%
|
|
%% This is file `eso-pic.sty',
|
|
%% generated with the docstrip utility.
|
|
%%
|
|
%% The original source files were:
|
|
%%
|
|
%% eso-pic.dtx (with options: `package')
|
|
%%
|
|
%% Copyright (C) 1998-2015
|
|
%% 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.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 2003/12/01 or later.
|
|
%%
|
|
%% This work has the LPPL maintenance status "author-maintained".
|
|
%%
|
|
\NeedsTeXFormat{LaTeX2e}[1999/12/01]
|
|
\ProvidesPackage{eso-pic}
|
|
[2018/04/12 v2.0h eso-pic (RN)]
|
|
\RequirePackage{atbegshi}
|
|
\providecommand*\LenToUnit[1]{\strip@pt\dimexpr#1*\p@/\unitlength}
|
|
\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
|
|
\if@twoside
|
|
\ifodd\c@page
|
|
\advance\@tempdima\oddsidemargin
|
|
\else
|
|
\advance\@tempdima\evensidemargin
|
|
\fi
|
|
\else
|
|
\advance\@tempdima\oddsidemargin
|
|
\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@HookIBG}{}
|
|
\newcommand{\ESO@HookIIBG}{}
|
|
\newcommand{\ESO@HookIIIBG}{}
|
|
\newcommand{\ESO@HookIFG}{}
|
|
\newcommand{\ESO@HookIIFG}{}
|
|
\newcommand{\ESO@HookIIIFG}{}
|
|
\newcommand{\ESO@HookI}{}
|
|
\newcommand{\ESO@HookII}{}
|
|
\newcommand{\ESO@HookIII}{}
|
|
\let\ESO@HookI=\ESO@HookIBG
|
|
\let\ESO@HookII=\ESO@HookIIBG
|
|
\let\ESO@HookIII=\ESO@HookIIIBG
|
|
\newcommand{\AddToShipoutPictureBG}{%
|
|
\@ifstar{\g@addto@macro\ESO@HookIIBG}{\g@addto@macro\ESO@HookIBG}}
|
|
\newcommand{\AddToShipoutPicture}{}
|
|
\let\AddToShipoutPicture=\AddToShipoutPictureBG
|
|
\newcommand{\AddToShipoutPictureFG}{%
|
|
\@ifstar{\g@addto@macro\ESO@HookIIFG}{\g@addto@macro\ESO@HookIFG}}
|
|
\newcommand{\ClearShipoutPictureBG}{\global\let\ESO@HookIBG\@empty}
|
|
\newcommand{\ClearShipoutPicture}{}
|
|
\let\ClearShipoutPicture=\ClearShipoutPictureBG
|
|
\newcommand{\ClearShipoutPictureFG}{\global\let\ESO@HookIFG\@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@HookIIIBG\ESO@HookIBG\ESO@HookIIBG
|
|
\global\let\ESO@HookIIBG\@empty
|
|
}%
|
|
}%
|
|
\AtBeginShipoutUpperLeftForeground{%
|
|
\put(\LenToUnit{\@tempdima},\LenToUnit{\@tempdimb}){%
|
|
\ESO@HookIFG\ESO@HookIIFG\ESO@HookIIIFG
|
|
\global\let\ESO@HookIIFG\@empty
|
|
}%
|
|
}%
|
|
}
|
|
}{%
|
|
\AtBeginShipout{%
|
|
\nointerlineskip
|
|
\AtBeginShipoutUpperLeft{%
|
|
\put(0,\LenToUnit{\ESO@yoffsetI}){%
|
|
\ESO@HookIIIBG\ESO@HookIBG\ESO@HookIIBG
|
|
\global\let\ESO@HookIIBG\@empty
|
|
}%
|
|
}%
|
|
\AtBeginShipoutUpperLeftForeground{%
|
|
\put(0,\LenToUnit{\ESO@yoffsetI}){%
|
|
\ESO@HookIFG\ESO@HookIIFG\ESO@HookIIIFG
|
|
\global\let\ESO@HookIIFG\@empty
|
|
}%
|
|
}%
|
|
}
|
|
}
|
|
\RequirePackage{keyval}
|
|
\newif\ifESO@dvips\ESO@dvipsfalse \newif\ifESO@grid\ESO@gridfalse
|
|
\newif\ifESO@texcoord\ESO@texcoordfalse \newif\ifESO@gridBG\ESO@gridBGfalse
|
|
\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[3]{\fbox{#3}}
|
|
\newcommand\ESO@color[1]{}
|
|
\newcommand\ESO@colorbox[2]{%
|
|
\begingroup
|
|
\fboxrule=\z@\fbox{#2}%
|
|
\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}{gridBG}[true]{\csname ESO@gridBG#1\endcsname}
|
|
\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}
|
|
\providecommand*\@classoptionslist{}
|
|
\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
|
|
\renewcommand\ESO@colorbox[2]{%
|
|
\begingroup
|
|
\fboxsep=.4ex %
|
|
\colorbox{#1}{#2}%
|
|
\endgroup
|
|
}
|
|
\renewcommand\ESO@fcolorbox[3]{%
|
|
\begingroup
|
|
\fboxsep=.5ex %
|
|
\fcolorbox{#1}{#2}{#3}%
|
|
\endgroup
|
|
}
|
|
\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
|
|
\ifESO@gridBG
|
|
\g@addto@macro\ESO@HookIIIBG{\ESO@gridpicture}%
|
|
\else
|
|
\g@addto@macro\ESO@HookIIIFG{\ESO@gridpicture}%
|
|
\fi
|
|
\fi
|
|
\endinput
|
|
%%
|
|
%% End of file `eso-pic.sty'.
|
|
|