Current File : //usr/share/texlive/texmf-dist/tex/latex/eso-pic/eso-pic.sty |
%%
%% 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}[2020-10-01]
\ProvidesPackage{eso-pic}
[2020/10/14 v3.0a eso-pic (RN)]
\providecommand*\LenToUnit[1]{#1}
\newdimen\ESO@tempdima
\newdimen\ESO@tempdimb
\newcommand\ESO@isMEMOIR[2]{#2}
\@ifclassloaded{memoir}{\renewcommand\ESO@isMEMOIR[2]{#1}}{}
\newcommand\AtPageUpperLeft[1]{%
\put(0,-\ESO@yoffsetI){#1}%
}
\newcommand\AtPageLowerLeft[1]{\AtPageUpperLeft{%
\put(0,-\paperheight){#1}}}
\newcommand\AtPageCenter[1]{\AtPageUpperLeft{%
\put(.5\paperwidth,-.5\paperheight){#1}}%
}
\newcommand\AtStockLowerLeft{}
\ESO@isMEMOIR{%
\renewcommand\AtStockLowerLeft[1]{%
\begingroup
\ESO@tempdima=-\stockwidth
\advance\ESO@tempdima\trimedge
\advance\ESO@tempdima\paperwidth
\if@twoside\ifodd\c@page\else
\ESO@tempdima=-\trimedge
\fi\fi
\ESO@tempdimb=-\stockheight
\advance\ESO@tempdimb\paperheight
\advance\ESO@tempdimb\trimtop
\AtPageLowerLeft{%
\put(\ESO@tempdima,\ESO@tempdimb){#1}%
}%
\endgroup
}
}{%
\let\AtStockLowerLeft=\AtPageLowerLeft
}
\newcommand\AtStockUpperLeft{}
\ESO@isMEMOIR{%
\renewcommand\AtStockUpperLeft[1]{%
\AtStockLowerLeft{%
\put(0,\stockheight){#1}%
}%
}%
}{%
\let\AtStockUpperLeft=\AtPageUpperLeft
}
\newcommand\AtStockCenter{}
\ESO@isMEMOIR{%
\renewcommand\AtStockCenter[1]{%
\AtStockLowerLeft{%
\put(.5\stockwidth,.5\stockheight){#1}%
}%
}%
}{%
\let\AtStockCenter=\AtPageCenter
}
\ESO@isMEMOIR{%
\newcommand\AtTextUpperLeft[1]{%
\begingroup
\ifodd\c@page
\ESO@tempdima=\spinemargin
\else
\ESO@tempdima=\paperwidth
\advance\ESO@tempdima-\textwidth
\advance\ESO@tempdima-\spinemargin
\fi
\ESO@tempdimb=-\uppermargin
\AtPageUpperLeft{%
\put(\ESO@tempdima,\ESO@tempdimb){#1}%
}%
\endgroup
}
}{%
\newcommand\AtTextUpperLeft[1]{%
\begingroup
\ESO@tempdima=1in\relax
\if@twoside
\ifodd\c@page
\advance\ESO@tempdima\oddsidemargin
\else
\advance\ESO@tempdima\evensidemargin
\fi
\else
\advance\ESO@tempdima\oddsidemargin
\fi
\ESO@tempdimb=-1in\relax
\advance\ESO@tempdimb-\topmargin
\advance\ESO@tempdimb-\headheight
\advance\ESO@tempdimb-\headsep
\AtPageUpperLeft{%
\put(\ESO@tempdima,\ESO@tempdimb){#1}%
}%
\endgroup
}
}
\newcommand\AtTextLowerLeft[1]{\AtTextUpperLeft{%
\put(0,-\textheight){#1}}}
\newcommand\AtTextCenter[1]{\AtTextUpperLeft{%
\put(.5\textwidth,-.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{%
\newcommand*\ESO@MEMOIR@corr{%
\ESO@tempdima=-\trimedge
\advance\ESO@tempdima-\paperwidth
\advance\ESO@tempdima\stockwidth
\if@twoside\ifodd\c@page\else
\advance\ESO@tempdima2\trimedge
\advance\ESO@tempdima\paperwidth
\advance\ESO@tempdima-\stockwidth
\fi\fi
\ESO@tempdimb=\ESO@yoffsetI
\advance\ESO@tempdimb-\trimtop
}
\nointerlineskip
\AddToHook{shipout/background}{%
\ESO@MEMOIR@corr
\put(\ESO@tempdima,\ESO@tempdimb){%
\ESO@HookIIIBG\ESO@HookIBG\ESO@HookIIBG
\global\let\ESO@HookIIBG\@empty
}%
}%
\AddToHook{shipout/foreground}{%
\ESO@MEMOIR@corr
\put(\ESO@tempdima,\ESO@tempdimb){%
\ESO@HookIFG\ESO@HookIIFG\ESO@HookIIIFG
\global\let\ESO@HookIIFG\@empty
}%
}%
}{%
\nointerlineskip
\AddToHook{shipout/background}{%
\put(0,\ESO@yoffsetI){%
\ESO@HookIIIBG\ESO@HookIBG\ESO@HookIIBG
\global\let\ESO@HookIIBG\@empty
}%
}%
\AddToHook{shipout/foreground}{%
\put(0,\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]{%
\ESO@tempdima=#1\relax\ESO@tempdimb=\ESO@gridunit\relax
\ESO@tempdimb=#2\ESO@tempdimb\divide\ESO@tempdima by \ESO@tempdimb
\@tempcnta\ESO@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{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{\paperwidth}}%
\ESO@div{\paperwidth}{\ESO@griddelta}%
\multiput(0,\ESO@yoffsetII)(\ESO@griddelta,0){\@tempcnta}%
{\ESO@vline{\paperheight}}%
\ESO@color{\ESO@gridcolor}%
\ESO@div{\paperheight}{\ESO@gridDelta}%
\multiput(0,0)(0,\ESO@gridDeltaY){\@tempcnta}%
{\ESO@Hline{\paperwidth}}%
\ESO@div{\paperwidth}{\ESO@gridDelta}%
\multiput(0,\ESO@yoffsetII)(\ESO@gridDelta,0){\@tempcnta}%
{\ESO@Vline{\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
\ESO@tempdima=\@tempcntb sp\ESO@tempdima=\ESO@labelfactor\ESO@tempdima
\@tempcntb=\ESO@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%
\ESO@tempdima=\@tempcntb sp\ESO@tempdima=\ESO@labelfactor\ESO@tempdima
\@tempcntb=\ESO@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'.