1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
|
% Copyright (C) 1989, 1996 Aladdin Enterprises. All rights reserved.
%
% This program is free software; you can redistribute it and/or modify it
% under the terms of the GNU General Public License as published by the
% Free Software Foundation; either version 2 of the License, or (at your
% option) any later version.
%
% This program is distributed in the hope that it will be useful, but
% WITHOUT ANY WARRANTY; without even the implied warranty of
% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
% Public License for more details.
%
% You should have received a copy of the GNU General Public License along
% with this program; if not, write to the Free Software Foundation, Inc.,
% 59 Temple Place, Suite 330, Boston, MA, 02111-1307.
% $Id: align.ps,v 1.2.6.1.2.1 2003/04/12 14:02:38 giles Exp $
% Print a page that indicates the proper settings of Margins and HWMargins
% for a given device. Requires a Level 2 system.
% Reset the offset and margins.
<<
/PageOffset [0 0]
/Margins [0 0]
/.HWMargins [0 0 0 0]
>>
setpagedevice
<<
/ImagingBBox null
>>
setpagedevice
% Determine the actual page size.
clippath pathbbox newpath
/y1 exch def /x1 exch def pop pop
% Draw lines that should be exactly 1" in from each edge,
% and should extend precisely to the edge of the paper.
1 setlinewidth
0 setgray
72 0 moveto 0 y1 rlineto stroke
0 72 moveto x1 0 rlineto stroke
% Print the text in the middle of the page.
/S 80 string def
108 480 moveto
/Helvetica 12 selectfont
{ currentfile S readline pop dup (%END) eq { pop exit } if
gsave show grestore 0 -15 rmoveto
} loop
Let the distance in inches from the left edge of the page to
the vertical line be H, and from the bottom edge to the
horizontal line be V; let the lengths of the gaps at the top
and bottom of the vertical line be T and B respectively, and
the gaps at the left and right of the horizontal line be L
and R. For correct alignment of pages, put the following line
in a file named (for example) margins.ps, and then mention
margins.ps on the gs command line when printing any of your
own files:
<< /.HWMargins [ml mb mr mt] /Margins [x y] >> setpagedevice
where
ml = L * 72, mb = B * 72, mr = R * 72, mt = T * 72,
%END
/res currentpagedevice /.MarginsHWResolution get def
( x = (1 - H) * ) show res 0 get =string cvs show
(, y = (V - 1) * ) show res 1 get =string cvs show
showpage
|