The eso-pic package^{∗}

Rolf Niepraschk

                    niepraschk@ptb.de

Abstract

This package makes it easy to add some picture commands to every page.

1 Introduction

This package is an extension to Martin Schröder’s everyshi package. Using everyshi’s \EveryShipout command eso-pic adds one or more userdefined picture commands to L^{A}TEX’s shipout routine.

2 Usage

2.1 Basic commands for adding L^{A}TEX stuff to the page background

\AddToShipoutPicture All the picture commands which are parameters of an \AddToShipoutPicture command will be added to the internal macro \ESO@HookI. This macro is part of a zero-length picture environment with basepoint at the lower left corner of the page (default) or at the upper left corner (package option ”texcoord”). The picture environment will be shipped out at every new page.

\ClearShipoutPicture  A call of \ClearShipoutPicture clears the contents of \ESO@HookI.
\AddToShipoutPicture*      \AddToShipoutPicture* works like \AddToShipoutPicture but only for the

current page. It used the internal macro \ESO@HookII which contents will be removed automatically.

\LenToUnit Allows a length as parameter to a picture command. \gridSetup \gridSetup[⟨gridunitname⟩]{⟨gridunit⟩}{⟨labelfactor⟩}{⟨griddelta⟩}

{⟨gridDelta⟩}{⟨gap⟩}. For details see the implementation section.

\AtPageUpperLeft Helper macros for easier positioning on the page.

\AtPageLowerLeft
\AtPageCenter
\AtTextUpperLeft
\AtTextLowerLeft
\AtTextCenter

∗This document corresponds to eso-pic v1.1b, dated 2002/11/16.

2.2 Package options

Option  Value  Comments

pscoord empty or true, false The zero point of the coordinate system is the lower left corner of the page (the default).

texcoord empty or true, false The zero point of the coordinate system

is the upper left corner of the page.

grid  empty or true, false A grid is drawing; default: false.

gridunit mm, in, bp, pt Distance between gridlines are multiples

of gridunit. default: mm.

gridcolor a valid color name Color of the main gridlines; default:

black

subgridcolor a valid color name Color of the subgridlines; default: black.
subgridstyle solid or dotted  ‘dotted’ is very slow! default: solid.

colorgrid empty or true, false Shortcut for ‘grid=true’, ‘gridcolor=red’

and ‘subgridcolor=green’; default: false.

dvips empty or true, false Is also true if the package option dvips is used by color or graphics. If true package eepic is loaded for better performance of dotted lines.

3 Implementation

3.1 The main functionality

1 \RequirePackage{everyshi}
\LenToUnit
2 \newcommand\LenToUnit[1]{#1\@gobble}
\AtPageUpperLeft
3 \newcommand\AtPageUpperLeft[1]{%
4 \begingroup
5  \@tempdima=0pt\relax\@tempdimb=\ESO@yoffsetI\relax
6  \put(\LenToUnit{\@tempdima},\LenToUnit{\@tempdimb}){#1}%
7 \endgroup
8 }
\AtPageLowerLeft
9 \newcommand\AtPageLowerLeft[1]{\AtPageUpperLeft{%
10 \put(0,\LenToUnit{-\paperheight}){#1}}}
\AtPageCenter
11 \newcommand\AtPageCenter[1]{\AtPageUpperLeft{%
12 \put(\LenToUnit{.5\paperwidth},\LenToUnit{-.5\paperheight}){#1}}%

13 }

\AtTextUpperLeft
14 \newcommand\AtTextUpperLeft[1]{%
15 \begingroup

16  \setlength\@tempdima{1in}%
17  \ifodd\c@page%
18  \advance\@tempdima\oddsidemargin%
19  \else%
20  \advance\@tempdima\evensidemargin%
21  \fi%
22  \@tempdimb=\ESO@yoffsetI\relax\advance\@tempdimb-1in\relax%
23  \advance\@tempdimb-\topmargin%
24  \advance\@tempdimb-\headheight\advance\@tempdimb-\headsep%
25  \put(\LenToUnit{\@tempdima},\LenToUnit{\@tempdimb}){#1}%
26 \endgroup

27 }

\AtTextLowerLeft
28 \newcommand\AtTextLowerLeft[1]{\AtTextUpperLeft{%
29 \put(0,\LenToUnit{-\textheight}){#1}}}
\AtTextCenter
30 \newcommand\AtTextCenter[1]{\AtTextUpperLeft{%
31 \put(\LenToUnit{.5\textwidth},\LenToUnit{-.5\textheight}){#1}}}
\ESO@HookI
\ESO@HookII
\ESO@HookIII

32 \newcommand{\ESO@HookI}{} \newcommand{\ESO@HookII}{}
33 \newcommand{\ESO@HookIII}{}
\AddToShipoutPicture
34 \newcommand{\AddToShipoutPicture}{%
35 \@ifstar{\g@addto@macro\ESO@HookII}{\g@addto@macro\ESO@HookI}}
\ClearShipoutPicture
36 \newcommand{\ClearShipoutPicture}{\global\let\ESO@HookI\@empty}

\ESO@isMEMOIR Support for the memoir class.

37 \newcommand\ESO@isMEMOIR[1]{}
38 \@ifclassloaded{memoir}{\renewcommand\ESO@isMEMOIR[1]{#1}}{}
\@ShipoutPicture
39 \newcommand{\@ShipoutPicture}{%
40 \bgroup
41  \@tempswafalse%
42  \ifx\ESO@HookI\@empty\else\@tempswatrue\fi%
43  \ifx\ESO@HookII\@empty\else\@tempswatrue\fi%
44  \ifx\ESO@HookIII\@empty\else\@tempswatrue\fi%
45  \if@tempswa%
46  \@tempdima=1in\@tempdimb=-\@tempdima%
47  \advance\@tempdimb\ESO@yoffsetI%
48  \ESO@isMEMOIR{%
49  \advance\@tempdima\trimedge%
50  \advance\@tempdima\paperwidth%
51  \advance\@tempdima-\stockwidth%
52  \if@twoside\ifodd\c@page\else%
53  \advance\@tempdima-2\trimedge%
54  \advance\@tempdima-\paperwidth%

55  \advance\@tempdima\stockwidth%
56  \fi\fi%
57  \advance\@tempdimb\trimtop}%
58  \unitlength=1pt%
59  \global\setbox\@cclv\vbox{%
60  \vbox{\let\protect\relax
61  \pictur@(0,0)(\strip@pt\@tempdima,\strip@pt\@tempdimb)%
62  \ESO@HookIII\ESO@HookI\ESO@HookII%
63  \global\let\ESO@HookII\@empty%
64  \endpicture}%
65  \nointerlineskip%
66  \box\@cclv}%
67  \fi
68 \egroup

69 }

70 \EveryShipout{\@ShipoutPicture}

3.2 The background grid

71 \RequirePackage{keyval}

Initialising some macros

72 \newif\ifESO@dvips\ESO@dvipsfalse \newif\ifESO@grid\ESO@gridfalse
73 \newif\ifESO@texcoord\ESO@texcoordfalse
74 \newcommand*\ESO@gridunitname{}
75 \newcommand*\ESO@gridunit{}
76 \newcommand*\ESO@labelfactor{}
77 \newcommand*\ESO@griddelta{}\newcommand*\ESO@griddeltaY{}
78 \newcommand*\ESO@gridDelta{}\newcommand*\ESO@gridDeltaY{}
79 \newcommand*\ESO@gridcolor{}
80 \newcommand*\ESO@subgridcolor{}
81 \newcommand*\ESO@subgridstyle{dotted}% ???
82 \newcommand*\ESO@gap{}
83 \newcommand*\ESO@yoffsetI{}\newcommand*\ESO@yoffsetII{}
84 \newcommand*\ESO@gridlines{\thinlines}
85 \newcommand*\ESO@subgridlines{\thinlines}
86 \newcommand*\ESO@hline[1]{\ESO@subgridlines\line(1,0){#1}}
87 \newcommand*\ESO@vline[1]{\ESO@subgridlines\line(0,1){#1}}
88 \newcommand*\ESO@Hline[1]{\ESO@gridlines\line(1,0){#1}}
89 \newcommand*\ESO@Vline[1]{\ESO@gridlines\line(0,1){#1}}
90 \newcommand\ESO@fcolorbox[4][]{\fbox{#4}}
91 \newcommand\ESO@color[1]{}
92 \newcommand\ESO@colorbox[3][]{%
93 \begingroup
94  \fboxrule=0pt\fbox{#3}%
95 \endgroup

96 }

\gridSetup
97 \newcommand\gridSetup[6][]{%
98 \edef\ESO@gridunitname{#1}\edef\ESO@gridunit{#2}
99 \edef\ESO@labelfactor{#3}\edef\ESO@griddelta{#4}
100 \edef\ESO@gridDelta{#5}\edef\ESO@gap{#6}}

All the key-value options

101 \define@key{ESO}{texcoord}[true]{\csname ESO@texcoord#1\endcsname}
102 \define@key{ESO}{pscoord}[true]{\csname @tempswa#1\endcsname
103 \if@tempswa\ESO@texcoordfalse\else\ESO@texcoordtrue\fi}
104 \define@key{ESO}{dvips}[true]{\csname ESO@dvips#1\endcsname}
105 \define@key{ESO}{grid}[true]{\csname ESO@grid#1\endcsname
106 \setkeys{ESO}{gridcolor=black,subgridcolor=black}}
107 \define@key{ESO}{colorgrid}[true]{\csname ESO@grid#1\endcsname
108 \setkeys{ESO}{gridcolor=red,subgridcolor=green}}
109 \define@key{ESO}{gridcolor}{\def\ESO@gridcolor{#1}}
110 \define@key{ESO}{subgridcolor}{\def\ESO@subgridcolor{#1}}
111 \define@key{ESO}{subgridstyle}{\def\ESO@subgridstyle{#1}}%
112 \define@key{ESO}{gridunit}{%
113 \def\@tempa{#1}
114 \def\@tempb{bp}
115 \ifx\@tempa\@tempb
116  \gridSetup[\@tempa]{1bp}{1}{10}{50}{2}
117 \else
118  \def\@tempb{pt}
119  \ifx\@tempa\@tempb
120  \gridSetup[\@tempa]{1pt}{1}{10}{50}{2}
121  \else
122  \def\@tempb{in}
123  \ifx\@tempa\@tempb
124  \gridSetup[\@tempa]{.1in}{.1}{2}{10}{.5}
125  \else
126  \gridSetup[mm]{1mm}{1}{5}{20}{1}
127  \fi
128  \fi
129 \fi

130 }

131 \setkeys{ESO}{subgridstyle=solid,pscoord=true,gridunit=mm}

\ProcessOptionsWithKV This macro can process package options using ‘key=value’ syntax.

132 \def\ProcessOptionsWithKV#1{%
133 \let\@tempc\@empty
134 \@for\CurrentOption:=\@classoptionslist\do{%
135  \@ifundefined{KV@#1@\CurrentOption}%
136  {}{\edef\@tempc{\@tempc,\CurrentOption,}}}%
137 \edef\@tempc{%
138  \noexpand\setkeys{#1}{\@tempc\@ptionlist{\@currname.\@currext}}}%
139 \@tempc
140 \AtEndOfPackage{\let\@unprocessedoptions\relax}}%
141 \ProcessOptionsWithKV{ESO}%

\ESO@div Divides length #1 by #2 × \ESO@gridunit and adds one. Result is in \@tempcnta.

142 \newcommand\ESO@div[2]{%
143 \@tempdima=#1\relax\@tempdimb=\ESO@gridunit\relax
144 \@tempdimb=#2\@tempdimb\divide\@tempdima by \@tempdimb%
145 \@tempcnta\@tempdima\advance\@tempcnta\@ne}
146 \AtBeginDocument{%
147 \IfFileExists{color.sty}

148 {%

149  \RequirePackage{color}
150  \let\ESO@color=\color\let\ESO@colorbox=\colorbox
151  \let\ESO@fcolorbox=\fcolorbox
152 }{}
153 \@ifundefined{Gin@driver}{}%

154 {%

155  \ifx\Gin@driver\@empty\else%
156  \filename@parse{\Gin@driver}\def\reserved@a{dvips}%
157  \ifx\filename@base\reserved@a\ESO@dvipstrue\fi%
158  \fi

159 }%

160 \ifx\pdfoutput\undefined\else
161  \ifx\pdfoutput\relax\else
162  \ifcase\pdfoutput\else
163  \ESO@dvipsfalse%
164  \fi
165  \fi
166 \fi
167 \ifESO@dvips\def\@tempb{eepic}\else\def\@tempb{epic}\fi
168 \def\@tempa{dotted}%\def\ESO@gap{\LenToUnit{6\@wholewidth}}%
169 \ifx\@tempa\ESO@subgridstyle
170  \IfFileExists{\@tempb.sty}%

171 {%

172  \RequirePackage{\@tempb}
173  \renewcommand*\ESO@hline[1]{\ESO@subgridlines\dottedline{\ESO@gap}%
174  (0,0)(##1,0)}
175  \renewcommand*\ESO@vline[1]{\ESO@subgridlines\dottedline{\ESO@gap}%
176  (0,0)(0,##1)}
177  }{}
178 \else
179  \ifx\ESO@gridcolor\ESO@subgridcolor%
180  \renewcommand*\ESO@gridlines{\thicklines}
181  \fi
182 \fi

183 }

184 \ifESO@texcoord
185 \def\ESO@yoffsetI{0pt}\def\ESO@yoffsetII{-\paperheight}
186 \edef\ESO@griddeltaY{-\ESO@griddelta}\edef\ESO@gridDeltaY{-\ESO@gridDelta}
187 \else
188 \def\ESO@yoffsetI{\paperheight}\def\ESO@yoffsetII{0pt}
189 \edef\ESO@griddeltaY{\ESO@griddelta}\edef\ESO@gridDeltaY{\ESO@gridDelta}
190 \fi
\ESO@gridpicture
191 \newcommand\ESO@gridpicture{%
192 \begingroup
193  \setlength\unitlength{\ESO@gridunit}%
194  \ESO@color{\ESO@subgridcolor}%

— horizontal subgrid lines —

195  \ESO@div{\paperheight}{\ESO@griddelta}%
196  \multiput(0,0)(0,\ESO@griddeltaY){\@tempcnta}%
197  {\ESO@hline{\LenToUnit{\paperwidth}}}%

— vertical subgrid lines —

198  \ESO@div{\paperwidth}{\ESO@griddelta}%
199  \multiput(0,\LenToUnit{\ESO@yoffsetII})(\ESO@griddelta,0){\@tempcnta}%
200  {\ESO@vline{\LenToUnit{\paperheight}}}%
201  \ESO@color{\ESO@gridcolor}%

— horizontal grid lines —

202  \ESO@div{\paperheight}{\ESO@gridDelta}%
203  \multiput(0,0)(0,\ESO@gridDeltaY){\@tempcnta}%
204  {\ESO@Hline{\LenToUnit{\paperwidth}}}%

— vertical grid lines —

205  \ESO@div{\paperwidth}{\ESO@gridDelta}%
206  \multiput(0,\LenToUnit{\ESO@yoffsetII})(\ESO@gridDelta,0){\@tempcnta}%
207  {\ESO@Vline{\LenToUnit{\paperheight}}}%

— horizontal numbers —

208  \fontsize{10}{12}\normalfont%
209  \ESO@div{\paperwidth}{\ESO@gridDelta}%
210  \multiput(0,\ESO@gridDeltaY)(\ESO@gridDelta,0){\@tempcnta}{%
211  \@tempcntb=\@tempcnta\advance\@tempcntb-\@multicnt%
212  \ifnum\@tempcntb>1\relax
213  \multiply\@tempcntb by \ESO@gridDelta\relax%
214  \@tempdima=\@tempcntb sp\@tempdima=\ESO@labelfactor\@tempdima%
215  \@tempcntb=\@tempdima%
216  \makebox(0,0)[c]{\ESO@colorbox{white}{\the\@tempcntb}}%
217  \fi}%

— vertical numbers —

218  \ifx\ESO@gridunitname\@empty\def\@tempa{0}\else\def\@tempa{1}\fi%
219  \ESO@div{\paperheight}{\ESO@gridDelta}%
220  \multiput(\ESO@gridDelta,0)(0,\ESO@gridDeltaY){\@tempcnta}{%
221  \@tempcntb=\@tempcnta\advance\@tempcntb-\@multicnt%
222  \ifnum\@tempcntb>\@tempa\relax
223  \multiply\@tempcntb by \ESO@gridDelta\relax%
224  \@tempdima=\@tempcntb sp\@tempdima=\ESO@labelfactor\@tempdima%
225  \@tempcntb=\@tempdima%
226  \makebox(0,0)[c]{\ESO@colorbox{white}{\the\@tempcntb}}%
227  \fi

228 }%

— the unit label —

229  \ifx\ESO@gridunitname\@empty\else%
230  \thicklines\fboxrule=\@wholewidth%
231  \put(\ESO@gridDelta,\ESO@gridDeltaY){\makebox(0,0)[c]{%
232  \ESO@fcolorbox{\ESO@gridcolor}{white}{%
233  \textbf{\ESO@gridunitname}}}}%
234  \fi
235  \normalcolor%
236 \endgroup

237 }

Add the grid to the shipout picture (\ESO@HookIII is independed from the user

 commands \AddToShipoutPicture and \AddToShipoutPicture*).
238 \ifESO@grid\g@addto@macro\ESO@HookIII{\ESO@gridpicture}\fi

Change History

v0.4

General: Initial version . . . . . . . . 1 v0.5

General: Some bug corrections … 1 v0.6

General: Some corrections for compatibility with the html package suggested by Ross Moore and a licence note . . . . . . . . . . . . . . 1

v0.7

General:  New  command

      \AddToShipoutPicture* . . . . . 1

v0.8

   \@ShipoutPicture: Compatibility

with the memoir class (suggested by Andreas Matthias). . 3

v0.9

   \@ShipoutPicture: \nointerlineskip

prevents a small vertical misplacement (suggested by Stephan Lehmke) . . . . . . . . . . 3 Compatibility with the crop package (better test of memoir). . . . . . . . . . . . . . . . . . . . . 3

v1.0

General:  New  commands

      \LenToUnit, \AtPageUpperLeft,

                                             \AtPageCenter, \AtTextUpperLeft,
                                             and \AtTextCenter. . . . . . . . . 1

v1.0a

                                          \ClearShipoutPicture: Changed
                                             \let to \global\let (sug-

gested by Alberto Lusiani)…. 3 v1.0b

                                          \@ShipoutPicture: A new hook

\ESO@HookIII for special purpose (suggested by D. P. Story). . . . . . . . . . . . . . . . . . . 3

v1.0c

General:  New  command

                                             \AtTextLowerLeft and correc-
                                             tions to \AtTextUpperLeft. . . . 1

v1.1

General: New commands and package options for background grids. . . . . . . . . . . . . . . . . . . . 1

v1.1a

                                          \ESO@gridpicture: Font setting

added. . . . . . . . . . . . . . . . . . . 7 v1.1b

General:  New  command

                                             \AtPageLowerLeft . . . . . . . . . 1

New package options ”texcoord” and ”pscoord” . . . . . . . . . . . . 1

Index

Numbers written in italic refer to the page where the corresponding entry is described; numbers underlined refer to the code line of the definition; numbers in roman refer to the code lines where the entry is used.

Symbols

\@ShipoutPicture   \underline{39}, 70

\@cclv . . . . . . . . . 59, 66

\@classoptionslist . 134

\@currext . . . . . . . . 138

\@currname . . . . . . . 138

\@empty 36, 42–44, 63,

133, 155, 218, 229 \@for . . . . . . . . . . . . 134 \@gobble . . . . . . . . . . 2

\@ifclassloaded . . . 38

\@ifstar . . . . . . . . . 35

\@ifundefined . 135, 153
\@multicnt . . . 211, 221

\@ne . . . . . . . . . . . . . 145

                          \@ptionlist . . . . . . . 138

\@tempa . . . . . . 113, 115, 116, 119, 120, 123, 124, 168, 169, 218, 222

\@tempb … 114, 115, 118, 119, 122, 123, 167, 170, 172

\@tempc … 133, 136–139

                          \@tempcnta 145, 196,

199, 203, 206, 210, 211, 220, 221

                          \@tempcntb . . . . . . .

. 211–216, 221–226

                          \@tempdima . . . . . 5,

6, 16, 18, 20, 25, 46, 49–51, 53– 55, 61, 143–145, 214, 215, 224, 225

                                                   \@tempdimb . . . . . . .

5, 6, 22–25, 46, 47, 57, 61, 143, 144

                                                   \@tempswafalse . . . . 41
                                                   \@tempswatrue . . . 42–44
                                                   \@unprocessedoptions

. . . . . . . . . . . 140

                                                   \@wholewidth . . 168, 230

A

                                                   \AddToShipoutPicture

. . . . . . . . . . 1, \underline{34}

\AddToShipoutPicture*

. . . . . . . . . . . . . 1 \advance 18, 20, 22–24,

47, 49–51, 53– 55, 57, 145, 211, 221

\AtBeginDocument . . 146
\AtEndOfPackage . . . 140
\AtPageCenter . . . . 1, \underline{11}
\AtPageLowerLeft . 1, \underline{9}
\AtPageUpperLeft . .

. . . . . . 1, \underline{3}, 9, 11

\AtTextCenter . . . . 1, \underline{30}
\AtTextLowerLeft . 1, \underline{28}
\AtTextUpperLeft . .

. . . . . 1, \underline{14}, 28, 30

B

\begingroup 4, 15, 93, 192

\bgroup . . . . . . . . . . 40 \box . . . . . . . . . . . . . 66

C

\c@page . . . . . . . . 17, 52

\ClearShipoutPicture

. . . . . . . . . . 1, \underline{36} \color . . . . . . . . . . . 150 \colorbox . . . . . . . . 150 \csname . . . . . . 101,

102, 104, 105, 107

\CurrentOption 134–136

D

\def … 109–111, 113, 114, 118, 122, 132, 156, 167, 168, 185, 188, 218

\define@key . . . . . . .

. 101, 102, 104, 105, 107, 109–112

\divide . . . . . . . . . . 144 \do . . . . . . . . . . . . . 134

\dottedline . . . 173, 175

E

\edef . . . . . . 98–100,

136, 137, 186, 189 \egroup . . . . . . . . . . 68 \else . . . . . . 19, 42–

44, 52, 103, 117, 121, 125, 155, 160–162, 167, 178, 187, 218, 229

\endcsname . . . 101,

102, 104, 105, 107 \endgroup 7, 26, 95, 236

\endpicture . . . . . . . 64
\ESO@color . . . . . . .

. 91, 150, 194, 201

\ESO@colorbox . . . . .

. 92, 150, 216, 226 \ESO@div \underline{142}, 195, 198,

202, 205, 209, 219

\ESO@dvipsfalse 72, 163
\ESO@dvipstrue . . . . 157
\ESO@fcolorbox . . . .

. . . . . 90, 151, 232 \ESO@gap . . . . . . 82,

100, 168, 173, 175

\ESO@gridcolor . 79,

109, 179, 201, 232

\ESO@gridDelta . 78,

100, 186, 189, 202, 205, 206, 209, 210, 213, 219, 220, 223, 231

\ESO@griddelta . . . .

… 77, 99, 186, 189, 195, 198, 199

\ESO@gridDeltaY . . .

. . 78, 186, 189, 203, 210, 220, 231

\ESO@griddeltaY . . .

. 77, 186, 189, 196

\ESO@gridfalse . . . . 72
\ESO@gridlines . . . .

… 84, 88, 89, 180

\ESO@gridpicture . .

. . . . . . . . \underline{191}, 238

\ESO@gridunit . . . . .

. . 75, 98, 143, 193

\ESO@gridunitname .

74, 98, 218, 229, 233

\ESO@Hline . . . . 88, 204
\ESO@hline 86, 173, 197
\ESO@HookI . . . . . 3,

32, 35, 36, 42, 62

\ESO@HookII . . . . . 3,

32, 35, 43, 62, 63

\ESO@HookIII . . . . . .

. 3, 33, 44, 62, 238

\ESO@isMEMOIR . . . \underline{37}, 48
\ESO@labelfactor . .

. . 76, 99, 214, 224

\ESO@subgridcolor .

. 80, 110, 179, 194

\ESO@subgridlines .

. . 85–87, 173, 175

\ESO@subgridstyle .

. . . . . 81, 111, 169

\ESO@texcoordfalse .

. . . . . . . . 73, 103

\ESO@texcoordtrue . 103
\ESO@Vline . . . . 89, 207
\ESO@vline 87, 175, 200
\ESO@yoffsetI . . . 5,

22, 47, 83, 185, 188

\ESO@yoffsetII . 83,

185, 188, 199, 206

\evensidemargin . . . 20
\EveryShipout . . . . . 70

F

\fbox . . . . . . . . . . 90, 94 \fboxrule . . . . . 94, 230

\fcolorbox . . . . . . . 151

\fi . . . . . 21, 42–44, 56, 67, 103, 127– 129, 157, 158, 164–167, 181, 182, 190, 217, 218, 227, 234, 238

\filename@base . . . . 157
\filename@parse . . . 156

\fontsize . . . . . . . . 208

G

\g@addto@macro . 35, 238
\Gin@driver . . . 155, 156

\global . . . . . 36, 59, 63

\gridSetup . . 1, \underline{97},

116, 120, 124, 126

H

\headheight . . . . . . . 24

\headsep . . . . . . . . . 24

I

\if@tempswa . . . . 45, 103
\if@twoside . . . . . . . 52

\ifcase . . . . . . . . . . 162

\ifESO@dvips . . . 72, 167
\ifESO@grid . . . . 72, 238
\ifESO@texcoord 73, 184
\IfFileExists . 147, 170

\ifnum . . . . . . . 212, 222 \ifodd . . . . . . . . . 17, 52 \ifx …. 42–44, 115,

119, 123, 155, 157, 160, 161, 169, 179, 218, 229

L

\LenToUnit 1, \underline{2}, 6, 10,

12, 25, 29, 31, 168, 197, 199, 200, 204, 206, 207

\let . . . . . 36, 60, 63,

133, 140, 150, 151 \line . . . . . . . . . . 86–89

M

\makebox . . 216, 226, 231 \multiply …. 213, 223

\multiput . 196, 199,

203, 206, 210, 220

N

\newif . . . . . . . . . 72, 73 \noexpand . . . . . . . . 138

\nointerlineskip . . 65
\normalcolor . . . . . . 235
\normalfont . . . . . . . 208

O

\oddsidemargin . . . . 18

P

\paperheight . 10, 12,

185, 188, 195, 200, 202, 207, 219

\paperwidth . . . . . . .

12, 50, 54, 197, 198, 204, 205, 209

\pdfoutput . . . 160–162

\pictur@ . . . . . . . . . 61

\ProcessOptionsWithKV

. . . . . . . . \underline{132}, 141 \protect . . . . . . . . . 60 \put . . . . . . . . 6, 10,

12, 25, 29, 31, 231

R

\relax …. 5, 22, 60, 140, 143, 161, 212, 213, 222, 223

\renewcommand . . . . .

. 38, 173, 175, 180

\RequirePackage . . .

… 1, 71, 149, 172

\reserved@a . . . 156, 157

S

\setbox . . . . . . . . . . 59 \setkeys . . . . . . . . .

. 106, 108, 131, 138

\setlength . . . . 16, 193
\stockwidth . . . . . 51, 55

\strip@pt . . . . . . . . 61

T

\textbf . . . . . . . . . . 233

\textheight . . . . . 29, 31
\textwidth . . . . . . . 31

\the . . . . . . . . . 216, 226

\thicklines . . . 180, 230
\thinlines . . . . . 84, 85
\topmargin . . . . . . . 23

\trimedge . . . . . . 49, 53 \trimtop . . . . . . . . . 57

U

\undefined . . . . . . . 160
\unitlength . . . . 58, 193

V

\vbox . . . . . . . . . . 59, 60