The Eso-Pic Package
The Eso-Pic Package
The Eso-Pic Package
Rolf Niepraschk
Rolf.Niepraschk@gmx.de
1 Introduction
This package makes it easy to add some picture commands to every page at ab-
solute positions.
2 Usage
See also the example LATEX documents (eso-*.tex).
1
\AtPageUpperLeft Helper macros for easier positioning on the page.
\AtPageLowerLeft
\AtPageCenter 2.2 Package options
\AtTextUpperLeft
\AtTextLowerLeft Option Value Comments
\AtTextCenter pscoord empty or true, false The zero point of the coordinate system
\AtStockUpperLeft is the lower left corner of the page (the
\AtStockLowerLeft default).
\AtStockCenter 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.
gridBG empty or true, false Put the grid in the background; 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{atbegshi}
\LenToUnit
2 \providecommand*\LenToUnit[1]{\strip@pt\dimexpr#1*\p@/\unitlength}
\AtPageUpperLeft
5\newcommand\AtPageUpperLeft[1]{%
6 \put(0,\LenToUnit{-\ESO@yoffsetI}){#1}%
7}
\AtPageLowerLeft
8 \newcommand\AtPageLowerLeft[1]{\AtPageUpperLeft{%
9 \put(0,\LenToUnit{-\paperheight}){#1}}}
\AtPageCenter
10 \newcommand\AtPageCenter[1]{\AtPageUpperLeft{%
2
11 \put(\LenToUnit{.5\paperwidth},\LenToUnit{-.5\paperheight}){#1}}%
12 }
\AtStockLowerLeft
13 \newcommand\AtStockLowerLeft{}
14 \ESO@isMEMOIR{%
15 \renewcommand\AtStockLowerLeft[1]{%
16 \begingroup
17 \@tempdima=-\stockwidth
18 \advance\@tempdima\trimedge
19 \advance\@tempdima\paperwidth
20 \if@twoside\ifodd\c@page\else
21 \@tempdima=-\trimedge
22 \fi\fi
23 \@tempdimb=-\stockheight
24 \advance\@tempdimb\paperheight
25 \advance\@tempdimb\trimtop
26 \AtPageLowerLeft{%
27 \put(\LenToUnit{\@tempdima},\LenToUnit{\@tempdimb}){#1}%
28 }%
29 \endgroup
30 }
31 }{%
32 \let\AtStockLowerLeft=\AtPageLowerLeft
33 }
\AtStockUpperLeft
34 \newcommand\AtStockUpperLeft{}
35 \ESO@isMEMOIR{%
36 \renewcommand\AtStockUpperLeft[1]{%
37 \AtStockLowerLeft{%
38 \put(0,\LenToUnit{\stockheight}){#1}%
39 }%
40 }%
41 }{%
42 \let\AtStockUpperLeft=\AtPageUpperLeft
43 }
\AtStockCenter
44 \newcommand\AtStockCenter{}
45 \ESO@isMEMOIR{%
46 \renewcommand\AtStockCenter[1]{%
47 \AtStockLowerLeft{%
48 \put(\LenToUnit{.5\stockwidth},\LenToUnit{.5\stockheight}){#1}%
49 }%
50 }%
51 }{%
52 \let\AtStockCenter=\AtPageCenter
53 }
\AtTextUpperLeft
54 \ESO@isMEMOIR{%
55 \newcommand\AtTextUpperLeft[1]{%
56 \begingroup
3
57 \ifodd\c@page
58 \@tempdima=\spinemargin
59 \else
60 \@tempdima=\paperwidth
61 \advance\@tempdima-\textwidth
62 \advance\@tempdima-\spinemargin
63 \fi
64 \@tempdimb=-\uppermargin
65 \AtPageUpperLeft{%
66 \put(\LenToUnit{\@tempdima},\LenToUnit{\@tempdimb}){#1}%
67 }%
68 \endgroup
69 }
70 }{%
71 \newcommand\AtTextUpperLeft[1]{%
72 \begingroup
73 \@tempdima=1in\relax
74 \if@twoside
75 \ifodd\c@page
76 \advance\@tempdima\oddsidemargin
77 \else
78 \advance\@tempdima\evensidemargin
79 \fi
80 \else
81 \advance\@tempdima\oddsidemargin
82 \fi
83 \@tempdimb=-1in\relax
84 \advance\@tempdimb-\topmargin
85 \advance\@tempdimb-\headheight
86 \advance\@tempdimb-\headsep
87 \AtPageUpperLeft{%
88 \put(\LenToUnit{\@tempdima},\LenToUnit{\@tempdimb}){#1}%
89 }%
90 \endgroup
91 }
92 }
\AtTextLowerLeft
93 \newcommand\AtTextLowerLeft[1]{\AtTextUpperLeft{%
94 \put(0,\LenToUnit{-\textheight}){#1}}}
\AtTextCenter
95 \newcommand\AtTextCenter[1]{\AtTextUpperLeft{%
96 \put(\LenToUnit{.5\textwidth},\LenToUnit{-.5\textheight}){#1}}}
\ESO@HookIBG
\ESO@HookIIBG 97 \newcommand{\ESO@HookIBG}{}
\ESO@HookIIIBG 98 \newcommand{\ESO@HookIIBG}{}
\ESO@HookIFG 99 \newcommand{\ESO@HookIIIBG}{}
\ESO@HookIIFG 100 \newcommand{\ESO@HookIFG}{}
\ESO@HookIIIFG 101 \newcommand{\ESO@HookIIFG}{}
102 \newcommand{\ESO@HookIIIFG}{}
103 \newcommand{\ESO@HookI}{}
104 \newcommand{\ESO@HookII}{}
4
105 \newcommand{\ESO@HookIII}{}
106 \let\ESO@HookI=\ESO@HookIBG
107 \let\ESO@HookII=\ESO@HookIIBG
108 \let\ESO@HookIII=\ESO@HookIIIBG
\AddToShipoutPictureBG
\AddToShipoutPictureFG 109 \newcommand{\AddToShipoutPictureBG}{%
110 \@ifstar{\g@addto@macro\ESO@HookIIBG}{\g@addto@macro\ESO@HookIBG}}
111 \newcommand{\AddToShipoutPicture}{}
112 \let\AddToShipoutPicture=\AddToShipoutPictureBG
\AddToShipoutPictureFG
113 \newcommand{\AddToShipoutPictureFG}{%
114 \@ifstar{\g@addto@macro\ESO@HookIIFG}{\g@addto@macro\ESO@HookIFG}}
\ClearShipoutPictureBG
\ClearShipoutPicture 115 \newcommand{\ClearShipoutPictureBG}{\global\let\ESO@HookIBG\@empty}
\ClearShipoutPictureFG 116 \newcommand{\ClearShipoutPicture}{}
117 \let\ClearShipoutPicture=\ClearShipoutPictureBG
118 \newcommand{\ClearShipoutPictureFG}{\global\let\ESO@HookIFG\@empty}
5
151 \global\let\ESO@HookIIBG\@empty
152 }%
153 }%
154 \AtBeginShipoutUpperLeftForeground{%
155 \put(0,\LenToUnit{\ESO@yoffsetI}){%
156 \ESO@HookIFG\ESO@HookIIFG\ESO@HookIIIFG
157 \global\let\ESO@HookIIFG\@empty
158 }%
159 }%
160 }
161 }
\gridSetup
188 \newcommand\gridSetup[6][]{%
189 \edef\ESO@gridunitname{#1}\edef\ESO@gridunit{#2}
190 \edef\ESO@labelfactor{#3}\edef\ESO@griddelta{#4}
191 \edef\ESO@gridDelta{#5}\edef\ESO@gap{#6}}
6
197 \setkeys{ESO}{gridcolor=black,subgridcolor=black}}
198 \define@key{ESO}{gridBG}[true]{\csname ESO@gridBG#1\endcsname}
199 \define@key{ESO}{colorgrid}[true]{\csname ESO@grid#1\endcsname
200 \setkeys{ESO}{gridcolor=red,subgridcolor=green}}
201 \define@key{ESO}{gridcolor}{\def\ESO@gridcolor{#1}}
202 \define@key{ESO}{subgridcolor}{\def\ESO@subgridcolor{#1}}
203 \define@key{ESO}{subgridstyle}{\def\ESO@subgridstyle{#1}}%
204 \define@key{ESO}{gridunit}{%
205 \def\@tempa{#1}
206 \def\@tempb{bp}
207 \ifx\@tempa\@tempb
208 \gridSetup[\@tempa]{1bp}{1}{10}{50}{2}
209 \else
210 \def\@tempb{pt}
211 \ifx\@tempa\@tempb
212 \gridSetup[\@tempa]{\p@}{1}{10}{50}{2}
213 \else
214 \def\@tempb{in}
215 \ifx\@tempa\@tempb
216 \gridSetup[\@tempa]{.1in}{.1}{2}{10}{.5}
217 \else
218 \gridSetup[mm]{1mm}{1}{5}{20}{1}
219 \fi
220 \fi
221 \fi
222 }
223 \setkeys{ESO}{subgridstyle=solid,pscoord=true,gridunit=mm}
224 \providecommand*\@classoptionslist{}
\ProcessOptionsWithKV This macro can process package options using ‘key=value’ syntax.
225 \def\ProcessOptionsWithKV#1{%
226 \let\@tempc\@empty
227 \@for\CurrentOption:=\@classoptionslist\do{%
228 \@ifundefined{KV@#1@\CurrentOption}%
229 {}{\edef\@tempc{\@tempc,\CurrentOption,}}}%
230 \edef\@tempc{%
231 \noexpand\setkeys{#1}{\@tempc\@ptionlist{\@currname.\@currext}}}%
232 \@tempc
233 \AtEndOfPackage{\let\@unprocessedoptions\relax}}%
234 \ProcessOptionsWithKV{ESO}%
239 \@ifundefined{colorbox}{%
240 \IfFileExists{xcolor.sty}{\RequirePackage{xcolor}}%
241 {\RequirePackage{color}}%
242 }{}%
243 \let\ESO@color=\color
7
244 \renewcommand\ESO@colorbox[2]{%
245 \begingroup
246 \fboxsep=.4ex %
247 \colorbox{#1}{#2}%
248 \endgroup
249 }
250 \renewcommand\ESO@fcolorbox[3]{%
251 \begingroup
252 \fboxsep=.5ex %
253 \fcolorbox{#1}{#2}{#3}%
254 \endgroup
255 }
256 \AtBeginDocument{%
257 \ESO@dvipsfalse
258 \@ifundefined{Gin@driver}{}%
259 {%
260 \ifx\Gin@driver\@empty\else%
261 \filename@parse{\Gin@driver}\def\reserved@a{dvips}%
262 \ifx\filename@base\reserved@a\ESO@dvipstrue\fi
263 \fi
264 }%
265 \ifESO@dvips\def\@tempb{eepic}\else\def\@tempb{epic}\fi
266 \def\@tempa{dotted}%\def\ESO@gap{\LenToUnit{6\@wholewidth}}%
267 \ifx\@tempa\ESO@subgridstyle
268 \IfFileExists{\@tempb.sty}%
269 {%
270 \RequirePackage{\@tempb}
271 \renewcommand*\ESO@hline[1]{\ESO@subgridlines\dottedline{\ESO@gap}%
272 (0,0)(##1,0)}
273 \renewcommand*\ESO@vline[1]{\ESO@subgridlines\dottedline{\ESO@gap}%
274 (0,0)(0,##1)}
275 }{}
276 \else
277 \ifx\ESO@gridcolor\ESO@subgridcolor
278 \renewcommand*\ESO@gridlines{\thicklines}
279 \fi
280 \fi
281 }
282 \ifESO@texcoord
283 \def\ESO@yoffsetI{\z@}\def\ESO@yoffsetII{-\paperheight}
284 \edef\ESO@griddeltaY{-\ESO@griddelta}\edef\ESO@gridDeltaY{-\ESO@gridDelta}
285 \else
286 \def\ESO@yoffsetI{-\paperheight}\def\ESO@yoffsetII{\z@}
287 \edef\ESO@griddeltaY{\ESO@griddelta}\edef\ESO@gridDeltaY{\ESO@gridDelta}
288 \fi
\ESO@gridpicture
289 \newcommand\ESO@gridpicture{%
290 \begingroup
291 \setlength\unitlength{\ESO@gridunit}%
292 \ESO@color{\ESO@subgridcolor}%
— horizontal subgrid lines —
293 \ESO@div{\paperheight}{\ESO@griddelta}%
8
294 \multiput(0,0)(0,\ESO@griddeltaY){\@tempcnta}%
295 {\ESO@hline{\LenToUnit{\paperwidth}}}%
— vertical subgrid lines —
296 \ESO@div{\paperwidth}{\ESO@griddelta}%
297 \multiput(0,\LenToUnit{\ESO@yoffsetII})(\ESO@griddelta,0){\@tempcnta}%
298 {\ESO@vline{\LenToUnit{\paperheight}}}%
299 \ESO@color{\ESO@gridcolor}%
— horizontal grid lines —
300 \ESO@div{\paperheight}{\ESO@gridDelta}%
301 \multiput(0,0)(0,\ESO@gridDeltaY){\@tempcnta}%
302 {\ESO@Hline{\LenToUnit{\paperwidth}}}%
— vertical grid lines —
303 \ESO@div{\paperwidth}{\ESO@gridDelta}%
304 \multiput(0,\LenToUnit{\ESO@yoffsetII})(\ESO@gridDelta,0){\@tempcnta}%
305 {\ESO@Vline{\LenToUnit{\paperheight}}}%
— horizontal numbers —
306 \fontsize{10}{12}\normalfont%
307 \ESO@div{\paperwidth}{\ESO@gridDelta}%
308 \multiput(0,\ESO@gridDeltaY)(\ESO@gridDelta,0){\@tempcnta}{%
309 \@tempcntb=\@tempcnta\advance\@tempcntb-\@multicnt
310 \ifnum\@tempcntb>1\relax
311 \multiply\@tempcntb by \ESO@gridDelta\relax
312 \@tempdima=\@tempcntb sp\@tempdima=\ESO@labelfactor\@tempdima
313 \@tempcntb=\@tempdima%
314 \makebox(0,0)[c]{\ESO@colorbox{white}{\the\@tempcntb}}%
315 \fi}%
— vertical numbers —
316 \ifx\ESO@gridunitname\@empty\def\@tempa{0}\else\def\@tempa{1}\fi
317 \ESO@div{\paperheight}{\ESO@gridDelta}%
318 \multiput(\ESO@gridDelta,0)(0,\ESO@gridDeltaY){\@tempcnta}{%
319 \@tempcntb=\@tempcnta\advance\@tempcntb-\@multicnt%
320 \ifnum\@tempcntb>\@tempa\relax
321 \multiply\@tempcntb by \ESO@gridDelta\relax%
322 \@tempdima=\@tempcntb sp\@tempdima=\ESO@labelfactor\@tempdima
323 \@tempcntb=\@tempdima
324 \makebox(0,0)[c]{\ESO@colorbox{white}{\the\@tempcntb}}%
325 \fi
326 }%
— the unit label —
327 \ifx\ESO@gridunitname\@empty\else
328 \thicklines\fboxrule=\@wholewidth
329 \put(\ESO@gridDelta,\ESO@gridDeltaY){\makebox(0,0)[c]{%
330 \ESO@fcolorbox{\ESO@gridcolor}{white}{%
331 \textbf{\ESO@gridunitname}}}}%
332 \fi
333 \normalcolor%
334 \endgroup
335 }
9
Add the grid to the shipout picture (\ESO@HookIIIFG or \ESO@HookIIIBG)
is independed from the user commands \AddToShipoutPictureBG and
\AddToShipoutPictureBG*).
336 \ifESO@grid
337 \ifESO@gridBG
338 \g@addto@macro\ESO@HookIIIBG{\ESO@gridpicture}%
339 \else
340 \g@addto@macro\ESO@HookIIIFG{\ESO@gridpicture}%
341 \fi
342 \fi
Change History
v0.4 added. . . . . . . . . . . . . . . . . . . 9
General: Initial version . . . . . . . . 1 v1.1b
v0.5 General: New command
General: Some bug corrections . . . 1 \AtPageLowerLeft . . . . . . . . . 1
v0.6 New package options ”texcoord”
General: Some corrections for and ”pscoord” . . . . . . . . . . . . 1
compatibility with the html v1.1c
package suggested by Ross General: Remove the
Moore and a licence note . . . . . 1 disadvantageous check of
v0.7 ‘pdfTeX’. Now using with
General: New command XeLATEX should be possible. . . 7
\AddToShipoutPicture* . . . . . 1 v2.0a
v1.0 \AtStockCenter: New . . . . . . . . . 3
General: New commands \AtStockLowerLeft: New . . . . . . . 3
\LenToUnit, \AtStockUpperLeft: New . . . . . . . 3
\AtPageUpperLeft,
\AtTextUpperLeft: Works now for
\AtPageCenter,
class memoir . . . . . . . . . . . . . . 3
\AtTextUpperLeft, and
General: Better test of color/xcolor 7
\AtTextCenter. . . . . . . . . . . . 1
v2.0b
v1.0a
\ClearShipoutPictureFG: \AddToShipoutPictureFG: New
Changed \let to \global\let command
(suggested by Alberto Lusiani). 5 \AddToShipoutPictureFG . . . . 5
v1.0c v2.0c
General: New command \AtBeginShipoutUpperLeftForeground:
\AtTextLowerLeft and bugfix for memoir class
corrections to (reported by YI Hoze) . . . . . . . 5
\AtTextUpperLeft. . . . . . . . . . 1 v2.0d
v1.0d General: grid should be in
\LenToUnit: Using foreground . . . . . . . . . . . . . . 10
\providecommand instead of Improved color commands . . . . 7
\newcommand for \LenToUnit . . 2 v2.0e
v1.1 \AtTextUpperLeft: Wrong
General: New commands and horizontal position in
package options for background one-column mode . . . . . . . . . . 3
grids. . . . . . . . . . . . . . . . . . . . 1 v2.0f
v1.1a \LenToUnit: Changed definition
\ESO@gridpicture: Font setting for better compatibility with
10
package curve2e suggested by New macro \ESO@HookIIIFG for
Claudio Beccari. . . . . . . . . . . . 2 foreground grid. . . . . . . . . . . . 4
v2.0g New option ‘gridBG’. . . . . . . . . 6
General: Foreground/background
grid. . . . . . . . . . . . . . . . . . . . 10 v2.0h
New \ifESO@gridBG for General: \@classoptionslist must
foreground/background grid. . . 6 not be \relax . . . . . . . . . . . . . 7
Index
Numbers written in italic refer to the page where the corresponding entry is de-
scribed; numbers underlined refer to the code line of the definition; numbers in
roman refer to the code lines where the entry is used.
11
209, 213, 217, \ESO@HookIIBG . . . . . \gridSetup . . 1, 188,
260, 265, 276, 4, 98, 107, 110, 208, 212, 216, 218
285, 316, 327, 339 134, 135, 150, 151
\endcsname 192, 193, \ESO@HookIIFG . . . . . H
195, 196, 198, 199 . . . 4, 101, 114, \headheight . . . . . . . 85
\endgroup 29, 68, 90, 140, 141, 156, 157 \headsep . . . . . . . . . 86
186, 248, 254, 334 \ESO@HookIII . . 105, 108
\ESO@color . . . . . . . \ESO@HookIIIBG 4, 99, I
. 182, 243, 292, 299 108, 134, 150, 338 \if@tempswa . . . . . . . 194
\ESO@colorbox . . . . . \ESO@HookIIIFG . . 4, \if@twoside . 20, 74, 124
. 183, 244, 314, 324 102, 140, 156, 340 \ifESO@dvips . . 163, 265
\ESO@div 235, 293, 296, \ESO@isMEMOIR . . . 3, \ifESO@grid . . . 163, 336
300, 303, 307, 317 14, 35, 45, 54, 119 \ifESO@gridBG . 164, 337
\ESO@dvipsfalse 163, 257 \ESO@labelfactor . . \ifESO@texcoord 164, 282
\ESO@dvipstrue . . . . 262 . 167, 190, 312, 322 \IfFileExists . 240, 268
\ESO@fcolorbox . . . . \ESO@subgridcolor . \ifnum . . . . . . . 310, 320
. . . . 181, 250, 330 . 171, 202, 277, 292 \ifodd . . . 20, 57, 75, 124
\ESO@gap . . . . . 173, \ESO@subgridlines . \ifx . . . . . . 207, 211,
191, 266, 271, 273 . 176–178, 271, 273 215, 260, 262,
\ESO@gridBGfalse . . 164 \ESO@subgridstyle . 267, 277, 316, 327
\ESO@gridcolor 170, . . . . 172, 203, 267
L
201, 277, 299, 330 \ESO@texcoordfalse .
\LenToUnit . . . . . . .
\ESO@gridDelta 169, . . . . . . . . 164, 194
. 1, 2, 6, 9, 11,
191, 284, 287, \ESO@texcoordtrue . 194
27, 38, 48, 66,
300, 303, 304, \ESO@Vline . . . 180, 305
88, 94, 96, 133,
307, 308, 311, \ESO@vline 178, 273, 298
139, 149, 155,
317, 318, 321, 329 \ESO@yoffsetI . . . . .
266, 295, 297,
\ESO@griddelta . . . . . . . 6, 129, 149,
298, 302, 304, 305
. 168, 190, 284, 155, 174, 283, 286
\let . . . . . 32, 42, 52,
287, 293, 296, 297 \ESO@yoffsetII 174,
106–108, 112,
\ESO@gridDeltaY . . . 283, 286, 297, 304
115, 117, 118,
. 169, 284, 287, \evensidemargin . . . 78
135, 141, 151,
301, 308, 318, 329
157, 226, 233, 243
\ESO@griddeltaY . . . F
\line . . . . . . . . 177–180
. 168, 284, 287, 294 \fbox . . . . . . . . 181, 185
\ESO@gridfalse . . . . 163 \fboxrule . . . . 185, 328 M
\ESO@gridlines . . . . \fboxsep . . . . . 246, 252 \makebox . . 314, 324, 329
. 175, 179, 180, 278 \fcolorbox . . . . . . . 253 \multiply . . . . 311, 321
\ESO@gridpicture . . \fi . . 22, 63, 79, 82, \multiput . 294, 297,
. . . . 289, 338, 340 128, 194, 219– 301, 304, 308, 318
\ESO@gridunit . . . . . 221, 262, 263,
. 166, 189, 236, 291 265, 279, 280, N
\ESO@gridunitname . 288, 315, 316, \newif . . . . . . . 163, 164
. . . . . . . . 165, 325, 332, 341, 342 \noexpand . . . . . . . . 231
189, 316, 327, 331 \filename@base . . . . 262 \nointerlineskip . .
\ESO@Hline . . . 179, 302 \filename@parse . . . 261 . . . . . . . . 131, 147
\ESO@hline 177, 271, 295 \fontsize . . . . . . . . 306 \normalcolor . . . . . . 333
\ESO@HookI . . . 103, 106 \normalfont . . . . . . . 306
\ESO@HookIBG . . . . . . G
. . . 4, 97, 106, \g@addto@macro . . . . O
110, 115, 134, 150 . 110, 114, 338, 340 \oddsidemargin . . 76, 81
\ESO@HookIFG . 4, 100, \Gin@driver . . . 260, 261
114, 118, 140, 156 \global . . . 115, 118, P
\ESO@HookII . . . 104, 107 135, 141, 151, 157 \p@ . . . . . . . . . . . 2, 212
12
\paperheight 9, 11, 24, \renewcommand . . . 4, T
283, 286, 293, 15, 36, 46, 244, \textbf . . . . . . . . . . 331
298, 300, 305, 317 250, 271, 273, 278 \textheight . . . . . 94, 96
\paperwidth 11, 19, 60, \RequirePackage . 1, \textwidth . . . . . 61, 96
122, 126, 295, 162, 240, 241, 270 \the . . . . . . . . . 314, 324
296, 302, 303, 307 \reserved@a . . . 261, 262 \thicklines . . . 278, 328
\ProcessOptionsWithKV \thinlines . . . 175, 176
. . . . . . . . 225, 234 S \topmargin . . . . . . . 84
\providecommand . 2, 224 \trimedge 18, 21, 121, 125
\setkeys . . . . . . . . .
\put . . . . . . . 6, 9, 11, \trimtop . . . . . . 25, 130
. 197, 200, 223, 231
27, 38, 48, 66,
\setlength . . . . . . . 291
88, 94, 96, 133, U
139, 149, 155, 329 \spinemargin . . . . 58, 62 \unitlength . . . . . 2, 291
\stockheight . 23, 38, 48 \uppermargin . . . . . . 64
R \stockwidth . . . . . . .
\relax 73, 83, 233, 236, . . 17, 48, 123, 127 Z
310, 311, 320, 321 \strip@pt . . . . . . . . . 2 \z@ . . . . . . 185, 283, 286
13