% Configuration file for Karl & Kathy's LaserJet 4M.
% This is likely not suitable for your site! Edit at will.

% Changed 'm' and commented out the 'N' line for teTeX: Thomas Esser

% Memory available.
m 1200000

% How to print.
o

% Default resolution.
D 600

% Metafont mode.  (This is completely different from the -M command-line
% option, which controls whether MakeTeXPK is invoked.)
M ljfour

% Also look for this list of resolutions.
R 300 600

% Correct printer offset. You can use testpage.tex from the LaTeX
% distribution to test this. See the dvips manual for more information.
O 0pt,0pt

% With this resolution and a RISC cpu, better to compress the bitmaps.
Z

% Too-smart spoolers and/or printers get confused.
% Our LJ4 gets `22 Error' (inconsistently) from the structured comments.

% teTeX always shipped without the 'N' line. Some tools (and ghostview)
% need the structured comments.
% N

% Paper size information.  First definition is the default.
%
% If your default is a4 put the a4 definition first (i.e. before the letter
% definition). You should always keep a definition here in order to have the
% document print on the desired paper if possible even outside your original
% environment.
%   If your default is something else than a4, of course, put its definition
% first!
%

@ a4 210mm 297mm
@+ ! %%DocumentPaperSizes: a4
@+ %%PaperSize: a4
@+ %%BeginPaperSize: a4
@+ /setpagedevice where {
@+   pop 1 dict dup /PageSize [ 595 842 ] put setpagedevice
@+ } {
@+   statusdict /a4tray known {
@+     statusdict begin a4tray end
@+     /a4 where { pop a4 } if
@+   } {
@+     /a4 where {
@+       pop a4
@+     } {
@+       statusdict /setpage known {
@+         statusdict begin
@+           595 842 0 setpage
@+         end
@+       } if
@+     } ifelse
@+   } ifelse
@+ } ifelse
@+ %%EndPaperSize
@ letter 8.5in 11in
@+ ! %%DocumentPaperSizes: Letter
@+ %%PaperSize: Letter
@+ %%BeginPaperSize: Letter
@+ /setpagedevice where {
@+   pop 1 dict dup /PageSize [ 612 792 ] put setpagedevice
@+ } {
@+   statusdict /lettertray known {
@+     statusdict begin lettertray end
@+     /letter where { pop letter } if
@+   } {
@+     /letter where {
@+       pop letter
@+     } {
@+       statusdict /setpage known {
@+         statusdict begin
@+           612 792 0 setpage
@+         end
@+       } if
@+     } ifelse
@+   } ifelse
@+ } ifelse
@+ %%EndPaperSize
@ 11x17 11in 17in
@+ ! %%DocumentPaperSizes: 11x17
@+ %%PaperSize: 11x17
@+ %%BeginPaperSize: 11x17
@+ /setpagedevice where {
@+   pop 1 dict dup /PageSize [ 792 1224 ] put setpagedevice
@+ } {
@+   statusdict /11x17tray known {
@+     statusdict begin 11x17tray end
@+     /11x17 where { pop 11x17 } if
@+   } {
@+     /11x17 where {
@+       pop 11x17
@+     } {
@+       statusdict /setpage known {
@+         statusdict begin
@+           792 1224 0 setpage
@+         end
@+       } if
@+     } ifelse
@+   } ifelse
@+ } ifelse
@+ %%EndPaperSize
@ a3 297mm 420mm
@+ ! %%DocumentPaperSizes: a3
@+ %%PaperSize: a3
@+ %%BeginPaperSize: a3
@+ /setpagedevice where {
@+   pop 1 dict dup /PageSize [ 842 1190 ] put setpagedevice
@+ } {
@+   statusdict /a3tray known {
@+     statusdict begin a3tray end
@+     /a3 where { pop a3 } if
@+   } {
@+     /a3 where {
@+       pop a3
@+     } {
@+       statusdict /setpage known {
@+         statusdict begin
@+           842 1190 0 setpage
@+         end
@+       } if
@+     } ifelse
@+   } ifelse
@+ } ifelse
@+ %%EndPaperSize
@ b5 177mm 250mm
@+ ! %%DocumentPaperSizes: b5
@+ %%PaperSize: b5
@+ %%BeginPaperSize: b5
@+ /setpagedevice where {
@+   pop 1 dict dup /PageSize [ 502 709 ] put setpagedevice
@+ } {
@+   statusdict /b5tray known {
@+     statusdict begin b5tray end
@+     /ab5 where { pop ab5 } if
@+   } {
@+     /ab5 where {
@+       pop ab5
@+     } {
@+       statusdict /setpage known {
@+         statusdict begin
@+           502 709 0 setpage
@+         end
@+       } if
@+     } ifelse
@+   } ifelse
@+ } ifelse
@+ %%EndPaperSize
@ ledger 11in 17in
@+ ! %%DocumentPaperSizes: Ledger
@+ %%PaperSize: Ledger
@+ %%BeginPaperSize: Ledger
@+ /setpagedevice where {
@+   pop 1 dict dup /PageSize [ 792 1224 exch ] put setpagedevice
@+ } {
@+   statusdict /ledgertray known {
@+     statusdict begin ledgertray end
@+     /ledger where { pop ledger } if
@+   } {
@+     /ledger where {
@+       pop ledger
@+     } {
@+       statusdict /setpage known {
@+         statusdict begin
@+           792 1224 1 setpage
@+         end
@+       } if
@+     } ifelse
@+   } ifelse
@+ } ifelse
@+ %%EndPaperSize
@ legal 8.5in 14in
@+ ! %%DocumentPaperSizes: Legal
@+ %%PaperSize: Legal
@+ %%BeginPaperSize: Legal
@+ /setpagedevice where {
@+   pop 1 dict dup /PageSize [ 612 1008 ] put setpagedevice
@+ } {
@+   statusdict /legaltray known {
@+     statusdict begin legaltray end
@+     /legal where { pop legal } if
@+   } {
@+     /legal where {
@+       pop legal
@+     } {
@+       statusdict /setpage known {
@+         statusdict begin
@+           612 1008 0 setpage
@+         end
@+       } if
@+     } ifelse
@+   } ifelse
@+ } ifelse
@+ %%EndPaperSize
@ note 7.5in 10in
@+ ! %%DocumentPaperSizes: Note
@+ %%PaperSize: Note
@+ %%BeginPaperSize: Note
@+ /setpagedevice where {
@+   pop 1 dict dup /PageSize [ 540 720 ] put setpagedevice
@+ } {
@+   statusdict /notetray known {
@+     statusdict begin notetray end
@+     /note where { pop note } if
@+   } {
@+     /note where {
@+       pop note
@+     } {
@+       statusdict /setpage known {
@+         statusdict begin
@+           540 720 0 setpage
@+         end
@+       } if
@+     } ifelse
@+   } ifelse
@+ } ifelse
@+ %%EndPaperSize
@ tabloid 11in 17in
@+ ! %%DocumentPaperSizes: Tabloid
@+ %%PaperSize: Tabloid
@+ %%BeginPaperSize: Tabloid
@+ /setpagedevice where {
@+   pop 1 dict dup /PageSize [ 792 1224 ] put setpagedevice
@+ } {
@+   statusdict /11x17tray known {
@+     statusdict begin 11x17tray end
@+     /11x17 where { pop 11x17 } if
@+   } {
@+     /11x17 where {
@+       pop 11x17
@+     } {
@+       statusdict /setpage known {
@+         statusdict begin
@+           792 1224 0 setpage
@+         end
@+       } if
@+     } ifelse
@+   } ifelse
@+ } ifelse
@+ %%EndPaperSize
