5 There are some new user variables and subgroups for customizing the page
8 *** Headers & Footers (subgroup)
10 Some printer systems print a header page and force the first page to be printed
11 on the back of the header page when using duplex. If your printer system has
12 this behavior, set variable `ps-banner-page-when-duplexing' to t.
14 If variable `ps-banner-page-when-duplexing' is non-nil, it prints a blank page
15 as the very first printed page. So, it behaves as if the very first character
16 of buffer (or region) were a formfeed ^L (\014).
18 The variable `ps-spool-config' specifies who is responsible for setting duplex
19 and page size. Valid values are:
21 lpr-switches duplex and page size are configured by `ps-lpr-switches'.
22 Don't forget to set `ps-lpr-switches' to select duplex
23 printing for your printer.
25 setpagedevice duplex and page size are configured by ps-print using the
26 setpagedevice PostScript operator.
28 nil duplex and page size are configured by ps-print *not* using
29 the setpagedevice PostScript operator.
31 The variable `ps-spool-tumble' specifies how the page images on opposite sides
32 of a sheet are oriented with respect to each other. If `ps-spool-tumble' is
33 nil, produces output suitable for binding on the left or right. If
34 `ps-spool-tumble' is non-nil, produces output suitable for binding at the top
35 or bottom. This variable takes effect only if `ps-spool-duplex' is non-nil.
36 The default value is nil.
38 The variable `ps-header-frame-alist' specifies header frame properties alist.
39 Valid frame properties are:
41 fore-color Specify the foreground frame color.
42 It should be a float number between 0.0 (black color) and 1.0
43 (white color), a string which is a color name, or a list of 3
44 float numbers which corresponds to the Red Green Blue color
45 scale, each float number between 0.0 (dark color) and 1.0
46 (bright color). The default is 0.0 ("black").
48 back-color Specify the background frame color (similar to fore-color).
49 The default is 0.9 ("gray90").
51 shadow-color Specify the shadow color (similar to fore-color).
52 The default is 0.0 ("black").
54 border-color Specify the border color (similar to fore-color).
55 The default is 0.0 ("black").
57 border-width Specify the border width.
60 Any other property is ignored.
62 Don't change this alist directly; instead use Custom, or the `ps-value',
63 `ps-get', `ps-put' and `ps-del' functions (see there for documentation).
65 ps-print also print footers. The footer variables are:
66 `ps-print-footer', `ps-footer-offset', `ps-print-footer-frame',
67 `ps-footer-font-family', `ps-footer-font-size', `ps-footer-line-pad',
68 `ps-footer-lines', `ps-left-footer', `ps-right-footer' and
69 `ps-footer-frame-alist'. These variables are similar to those controlling
72 *** Color managing (subgroup)
74 If `ps-print-color-p' is non-nil, the buffer's text will be printed in color.
76 *** Faces managing (subgroup)
78 If you need to print without worrying about face background colors, set the
79 variable `ps-use-face-background' which specifies if face background should be
80 used. Valid values are:
82 t always use face background color.
83 nil never use face background color.
84 (face...) list of faces whose background color will be used.
86 *** N-up printing (subgroup)
88 The variable `ps-n-up-printing' specifies the number of pages per sheet of
91 The variable `ps-n-up-margin' specifies the margin in points (pt) between the
92 sheet border and the n-up printing.
94 If variable `ps-n-up-border-p' is non-nil a border is drawn around each page.
96 The variable `ps-n-up-filling' specifies how the page matrix is filled on each
97 sheet of paper. Following are the valid values for `ps-n-up-filling' with a
98 filling example using a 3x4 page matrix:
100 `left-top' 1 2 3 4 `left-bottom' 9 10 11 12
104 `right-top' 4 3 2 1 `right-bottom' 12 11 10 9
108 `top-left' 1 4 7 10 `bottom-left' 3 6 9 12
112 `top-right' 10 7 4 1 `bottom-right' 12 9 6 3
116 Any other value is treated as `left-top'.
118 *** Zebra stripes (subgroup)
120 The variable `ps-zebra-color' controls the zebra stripes gray scale or RGB
123 The variable `ps-zebra-stripe-follow' specifies how zebra stripes continue on
124 next page. Visually, valid values are (the character `+' to the right of each
125 column indicates that a line is printed):
127 `nil' `follow' `full' `full-follow'
128 Current Page -------- ----------- --------- ----------------
129 1 XXXXX + 1 XXXXXXXX + 1 XXXXXX + 1 XXXXXXXXXXXXX +
130 2 XXXXX + 2 XXXXXXXX + 2 XXXXXX + 2 XXXXXXXXXXXXX +
131 3 XXXXX + 3 XXXXXXXX + 3 XXXXXX + 3 XXXXXXXXXXXXX +
135 7 XXXXX + 7 XXXXXXXX + 7 XXXXXX + 7 XXXXXXXXXXXXX +
136 8 XXXXX + 8 XXXXXXXX + 8 XXXXXX + 8 XXXXXXXXXXXXX +
137 9 XXXXX + 9 XXXXXXXX + 9 XXXXXX + 9 XXXXXXXXXXXXX +
140 -------- ----------- --------- ----------------
141 Next Page -------- ----------- --------- ----------------
142 12 XXXXX + 12 + 10 XXXXXX + 10 +
143 13 XXXXX + 13 XXXXXXXX + 11 XXXXXX + 11 +
144 14 XXXXX + 14 XXXXXXXX + 12 XXXXXX + 12 +
145 15 + 15 XXXXXXXX + 13 + 13 XXXXXXXXXXXXX +
146 16 + 16 + 14 + 14 XXXXXXXXXXXXX +
147 17 + 17 + 15 + 15 XXXXXXXXXXXXX +
148 18 XXXXX + 18 + 16 XXXXXX + 16 +
149 19 XXXXX + 19 XXXXXXXX + 17 XXXXXX + 17 +
150 20 XXXXX + 20 XXXXXXXX + 18 XXXXXX + 18 +
153 -------- ----------- --------- ----------------
155 Any other value is treated as `nil'.
157 *** Printer managing (subgroup)
159 The variable `ps-printer-name-option' determines the option used by some
160 utilities to indicate the printer name; it's used only when `ps-printer-name'
161 is a non-empty string. If you're using lpr utility to print, for example,
162 `ps-printer-name-option' should be set to "-P".
164 The variable `ps-manual-feed' indicates if the printer requires manual paper
165 feeding. If it's nil, automatic feeding takes place. If it's non-nil, manual
168 The variable `ps-end-with-control-d' specifies whether C-d (\x04) should be
169 inserted at end of the generated PostScript. Non-nil means do so.
171 *** Page settings (subgroup)
173 If variable `ps-warn-paper-type' is nil, it's *not* treated as an error if the
174 PostScript printer doesn't have a paper with the size indicated by
175 `ps-paper-type'; the default paper size will be used instead. If
176 `ps-warn-paper-type' is non-nil, an error is signaled if the PostScript printer
177 doesn't support a paper with the size indicated by `ps-paper-type'. This is
178 used when `ps-spool-config' is set to `setpagedevice'.
180 The variable `ps-print-upside-down' determines the orientation for printing
181 page: nil means `normal' printing, non-nil means `upside-down' printing (that
182 is, the page is rotated by 180 degrees).
184 The variable `ps-selected-pages' specifies which pages to print. If it's nil,
185 all pages are printed. If it's a list, the list element may be integers
186 specifying a single page to print, or cons cell (FROM . TO) specifying to print
187 from page FROM to TO. Invalid list elements, that is integers smaller than
188 one, or elements whose FROM is greater than its TO, are ignored.
190 The variable `ps-even-or-odd-pages' specifies how to print even/odd pages.
195 `even-page' print only even pages.
197 `odd-page' print only odd pages.
199 `even-sheet' print only even sheets.
200 That is, if `ps-n-up-printing' is 1, it behaves like
201 `even-page', but for values greater than 1, it'll print only
202 the even sheet of paper.
204 `odd-sheet' print only odd sheets.
205 That is, if `ps-n-up-printing' is 1, it behaves like
206 `odd-page', but for values greater than 1, it'll print only the
209 Any other value is treated as nil.
211 If you set `ps-selected-pages' (see there for documentation), the pages are
212 filtered by `ps-selected-pages', and then by `ps-even-or-odd-pages'. For
215 (setq ps-selected-pages '(1 4 (6 . 10) (12 . 16) 20))
217 and we combine this with `ps-even-or-odd-pages' and `ps-n-up-printing', we get:
219 `ps-n-up-printing' = 1:
220 `ps-even-or-odd-pages' PAGES PRINTED
221 nil 1, 4, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 20
222 even-page 4, 6, 8, 10, 12, 14, 16, 20
223 odd-page 1, 7, 9, 13, 15
224 even-sheet 4, 6, 8, 10, 12, 14, 16, 20
225 odd-sheet 1, 7, 9, 13, 15
227 `ps-n-up-printing' = 2:
228 `ps-even-or-odd-pages' PAGES PRINTED
229 nil 1/4, 6/7, 8/9, 10/12, 13/14, 15/16, 20
230 even-page 4/6, 8/10, 12/14, 16/20
231 odd-page 1/7, 9/13, 15
232 even-sheet 6/7, 10/12, 15/16
233 odd-sheet 1/4, 8/9, 13/14, 20
235 *** Miscellany (subgroup)
237 The variable `ps-error-handler-message' specifies where the error handler
238 messages should be sent.
240 It is also possible to add an user defined PostScript prologue code in front of
241 all generated prologue code by setting the variable `ps-user-defined-prologue'.
243 The variable `ps-line-number-font' specifies the font for line numbers.
245 The variable `ps-line-number-font-size' specifies the font size in points for
248 The variable `ps-line-number-color' specifies the color for line numbers. See
249 `ps-zebra-color' for documentation.
251 The variable `ps-line-number-step' specifies the interval in which line numbers
252 are printed. For example, if `ps-line-number-step' is set to 2, the printing
265 integer an integer specifying the interval in which line numbers are
266 printed. If it's smaller than or equal to zero, 1 is used.
268 `zebra' specifies that only the line number of the first line in a
269 zebra stripe is to be printed.
271 Any other value is treated as `zebra'.
273 The variable `ps-line-number-start' specifies the starting point in the
274 interval given by `ps-line-number-step'. For example, if `ps-line-number-step'
275 is set to 3 and `ps-line-number-start' is set to 3, the output will look like:
289 The variable `ps-postscript-code-directory' specifies the directory where the
290 PostScript prologue file used by ps-print is found.
292 The variable `ps-line-spacing' determines the line spacing, in points, for
293 ordinary text, when generating PostScript (similar to `ps-font-size').
295 The variable `ps-paragraph-spacing' determines the paragraph spacing, in
296 points, for ordinary text, when generating PostScript (similar to
299 The variable `ps-paragraph-regexp' specifies the paragraph delimiter.
301 The variable `ps-begin-cut-regexp' and `ps-end-cut-regexp' specify the start
302 and end of a region to cut out when printing.
307 paragraph-separate: "[
\f]*$"