/usr/share/texmf-texlive/dvips/dvipsconfig/README is in texlive-font-utils 2009-10ubuntu1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
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 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 | Release 1.6 11 May 2006 Added mmgrid and a4grid, millimetre grids.
Release 1.5 02 Aug 2000 Added addpsctrl, a filter program which can add
these control instructions to already existing
PostScript files.
Added US ledger paper.
Release 1.4 22 Mar 2000 Added tray selection.
Thanks to Steffen Klupsch for suggesting it.
Release 1.3.2 09 Mar 2000 License change only. Modified README.
Release 1.3, 19 Feb 1999
Release 1.2, 25 Jan 1998
Release 1.13, 21 Aug 1995
Release 1.12, 02 Mar 1995
Release 1.0, 20 Feb 1995
OVERVIEW
========
This is a set of PostScript header files which can be used to control the
printer, like simplex/duplex printing, or the printing, like screen frequencies
of images, or the addition of a grid underlay. These header files work with
dvips, and can also be inserted with the addpsctrl script into existing
PostScript files.
Put together by Volker Kuhlmann <VolkerKuhlmann@gmx.de>.
This collection of files is available under the name of "dvipsconfig" from
ftp://dante.ctan.org/tex-archive/dviware/dvipsconfig/
or from any other CTAN host under the same path.
Alternatively, from:
http://volker.dnsalias.net/soft/texmf/
This software is copyright (C) Volker Kuhlmann, and is freely distributable
under the terms of the GNU General Public License version 2.
Parts of the code in config.psgrid are derived from previous material and are
distributed with permission. See the file for details.
LIST OF FILES
=============
README This file.
addpsctrl Shell script which inserts these printer control files into
into already existing PostScript files (can also be used by
print filters)
config.* Configuration files *and* header files for dvips.
Special format where each file serves both purposes.
INSTALLATION
============
Copy addpsctrl into a directory which is searched for executable programs.
Copy README and all config.* into a directory which is searched by dvips both
for configuration files AND for header files. Each of these files have a dual
function (easier maintenance) and hence must be found under each category
(dvips config and dvips header).
For current installations of web2c respectively teTeX 1.x, consult the file
texmf.cnf for search paths. Currently configured search paths can be displayed
with
kpsewhich --show-path "dvips config"
kpsewhich --show-path "PostScript header"
To check up whether the place was any good, run (both!)
kpsewhich --format "dvips config" config.duplong
kpsewhich --format "PostScript header" config.duplong
and don't forget to run mktexlsr...
In case of problems, also check for any .dvipsrc files.
dvips(k) 5.78 kpathsea version 3.2, web2c 7.2, looks in $TEXCONFIG and
$TEXPSHEADERS.
dvips (dvipsk 5.58f, web2c 6.2) looks in $TEXCONFIG for configuration files,
and in $DVIPSHEADERS for header files. For details please see the dvips
documentation (environment variable use seems to change with dvips versions).
USAGE
=====
dvips reads the instructions in a configuration file <configfilename>
with the -P option:
dvips -P <configfilename> ...
All these configuration files contain the PostScript code for the
respective operation as well, and can be used as header file as they are.
Now to the material provided:
Duplex printing:
---------------
-P simplex On a duplex printer, force printing in simplex mode.
On a simplex printer, this will be ignored.
-P duplong On a duplex printer, force duplex printing with binding
on the long edge.
This is what you want for e.g. an A4 upright book.
On a simplex printer, this will be ignored.
-P dupshort On a duplex printer, force duplex printing with binding
on the short edge.
Useful for e.g. printouts in landscape.
On a simplex printer, this will be ignored.
Paper size selection:
--------------------
-P a3 Switch the printer to use A3 paper.
Note: "-t a3" must still be used as well!
Only works with PS level 2 devices, ignored otherwise.
-P a4 Switch the printer to use A4 paper.
Note: "-t a4" must still be used as well, unless it is
the default.
Only works with PS level 2 devices, ignored otherwise.
-P usletter Switch the printer to use US letter paper.
Note: "-t letter" must still be used as well, unless it
is the default.
Only works with PS level 2 devices, ignored otherwise.
-P usledger Switch the printer to use US usledger paper.
Note: "-t ledger" must still be used as well, unless it
is the default.
Only works with PS level 2 devices, ignored otherwise.
Screen frequencies and dot functions:
------------------------------------
-P screenN Print images with a screen frequency of N lpi at
45 degrees with the "dot" spot function.
N = {35, 50, 70, 80, 85, 90, 100, 110, 120, 130, 140, 150}
-P screen100_0 Print images with a screen frequency of 100lpi
at 0 degrees with the "dot" spot function.
A 0 degree screen angle is only useful as illustration!
Note: When working with screen frequencies, it is possible that
turning the printer off and back on solves the problem of the
screen commands not having any effect. Previous print jobs may
leave the printer in a different state.
Colour printer media selection:
------------------------------
-P tek550paper Switch Tektronix 550 and 560 colour printers to print on paper.
-P tek550transparency Switch Tektronix 550 and 560 colour printers to print
on transparency.
Paper tray selection:
--------------------
-P manualfeed Print on paper from the manual feeder.
The printer waits for the paper to be loaded after receiving
the job.
This should work with almost any printer.
-P envelope Print on paper from the envelope feeder.
This should at least work with most HP laser printers.
-P tray1 Print on paper from "tray 1".
This often is the manual feeder / upper tray / multipurpose
tray (at least for HP laser printers).
-P tray2 Print on paper from "tray 2".
This often is the lower tray (at least for HP laser printers).
-P tray3 Print on paper from "tray 1".
This often is the large capacity / lower cassette (at least for
HP laser printers).
Note: Tray selection is very printer-dependent. tray1..3 will not work for all
printers. Possible effects of them if the tray doesn't exist, or if the command
is simply wrong for the printer, include the print job being cancelled, or at
best the command being ignored. Email me with any problems and I might be able
to fix it - I don't have that many printers for testing :-)
Reported behaviour:
HP Laserjet 5M, -P envelope: print job cancelled if tray doesn't exist.
HP Laserjet 4000N, -P envelope and -P tray3 don't exist: job is printed on
paper from the standard tray instead.
Thanks to Steffen Klupsch <steffen@vlsi.informatik.tu-darmstadt.de> for initial
suggestions about the tray selection material, and some beta testing.
Misc:
----
-P psgrid Print a PostScript coordinate grid onto the page. This can be
very useful for checking by how much the printer shifts the
image on the paper, or to check whether things end up in the
correct place.
-P mmgrid Print a millimetre grid onto the page. Much more userfriendly.
Otherwise the same as -P psgrid.
-P a4grid Print a millimetre grid onto the page, starting in the top-left
corner. Much more useful for checking page layout.
-P inv Print all pages inverted, i.e. white letters on black
background.
Note: this currently does not work properly. Any
hints/fixes greatly appreciated!
CONTROLLING SCREEN FREQUENCIES
==============================
Various PostScript commands for controlling the screen frequencies of
images exist, but not all work on all printers. See fragments of
PostScript code and comments below. The form working on most printers is
LPI DEGREES {FUNCTION} setscreen
Insert numbers for LPI and DEGREES, and a function for FUNCTION about
which I only know (right or wrong?):
"Should read 2 values from the stack (x, y coordinates in a
halftone cell), and return one in the range -1 to 1. The return
values determine the order in which pixels within a halftone
cell are whitened to produce any desired shade of gray."
The simplest function is {pop}, creating a "linescreen" pattern. There
is also a function "Dot" (currently used) and "Ellipse". For any other
frequencies/angles/functions put the instructions in a file, and load
the file with
dvips -h <filename>
Thanks to osakari@unda.fi (Olavi Sakari) for some help, and the "Dot"
and "Ellipse" code.
Notes follow:
%currentscreen 3 1 roll pop pop 70 45 3 -1 roll setscreen
% Works on HP LJ3Si, HP LJ4m. Ignored on HP LJ4mv (VK).
%currentscreen 3 1 roll pop pop 70 45 3 -1 roll sethalftone
% Ignored on HP LJ4mv (VK).
%70 45 {pop} setscreen
% Produces a funny, 1-diagonal pattern ("linescreen") on HP LJ4mv (VK).
% "Dot":
%70 45 {abs exch abs 2 copy add 1 gt {1 sub dup mul exch 1 sub dup mul add 1
% sub }{dup mul exch dup mul add 1 exch sub }ifelse} setscreen
% Works on HP LJ3Si, HP LJ4m, HP LJ4mv (VK).
% "Ellipse":
%70 45 {dup 5 mul 8 div mul exch dup mul exch add sqrt 1 exch sub} setscreen
% Works on HP LJ4mv (VK).
%70 45
%<<
% /HalftoneType 1
% 0 gives range check error, 2 gives undefined error (VK).
% /Frequency 150
% /Angle 20
% the values for /Frequency, /Angle are irrelevant
% /SpotFunction {pop}
%>>
%setscreen
% 70 45 seem to replace /Frequency and /Angle in dict
% - Note: NO curly braces around the dict!
% Works on HP LJ4m, produces errors with HP LJ3Si,
% Produces "linescreen" on HP LJ4mv caused by {pop} (VK).
%<<
% /HalftoneType 1
% % 0 gives range check error, 2 gives undefined error (VK).
% /Frequency 70
% /Angle 45
% /SpotFunction {pop}
%>>
%sethalftone % Level 2 only
% Produces "linescreen" on HP LJ4mv caused by {pop} (VK).
ADDPSCTRL
=========
The addpsctrl program works as a filter. The given controls are inserted into
the PostScript data. The config.* files are located by running kpsewhich, or
by specifying the directory they're in. This allows to use addpsctrl without
having to have a TeXMF installation. For further info run addpsctrl --help.
TODO
====
Control the screen frequency without altering the dot function.
Supply separate controls for setting the dot function.
|