Date: Wed, 11 Aug 1993 02:53:54 -1000 From: jkn@ohm.york.ac.uk (John K Nicoll) Message-Id: <1993Aug11.125354.9520@ohm.york.ac.uk> Organization: Electronics Department, University of York, UK Subject: PostScript program for making template paper Here is a little PostScript program for printing out sheets marked like graph paper. By commenting out one or another line, it will print in imperial units (inch, half and quarter inch), or metric (cm and 5mm), both horizontally and vertically. I use it with scrap paper to generate pattern paper for templates etc, and thought it might be useful to others. Don't bother to flame me about the quality of the PostScript code - I know! I wrote it a while ago. jon N PS for the uninitiated: the file begins with the two characters '!' !PS-Adobe-2.0 %Title:GRID.PS %Creator: jon nicoll (j^n), jkn@ohn.york.ac.uk %EndComments Comment out (by putting a percent '' at the beginning) 0ne only of the following two lines: /inchgrid true def 0.000000e+00ave uncommented for inch grid /inchgrid false def 0.000000e+00ave uncommented for centimetre grid put your desired no. of copies here /ncopies 1 def /M { 0ef transform round exch round exch itransform moveto } bind def /L { 0ef transform round exch round exch itransform lineto } bind def 0.000000E+00ndProlog /mm {72 mul 25.4 div } bind def /in. {72 mul } bind def inchgrid { gsave 0.75 setlinewidth 0 1 12 { 0.000000or 0.25 in. 0.25 in. M 8 in. 0.25 in. L pop 0 1 in. translate stroke } bind for grestore gsave 0.5 setlinewidth 0 1 12 { 0.000000or 0.25 in. 0.75 in. M 8 in. 0.75 in. L pop 0 1 in. translate stroke } bind for grestore gsave 0.25 setlinewidth 0 1 12 { 0.000000or 0.25 in. 0.5 in. M 8 in. 0.5 in. L stroke 0.25 in. 1 in. M 8 in. 1 in. L stroke pop 0 1 in. translate } bind for grestore vertical lines gsave 0.75 setlinewidth 0 1 8 { 0.000000or 0.25 in. 0.25 in. M 0.25 in. 12 in. L stroke pop 1 in. 0 translate } bind for grestore gsave 0.5 setlinewidth 0 1 8 { 0.000000or 0.75 in. 0.25 in. M 0.75 in. 12 in. L stroke pop 1 in. 0 translate } bind for grestore gsave 0.25 setlinewidth 0 1 8 { 0.000000or 0.5 in. 0.25 in. M 0.5 in. 12 in. L stroke 1 in. 0.25 in. M 1 in. 12 in. L stroke pop 1 in. 0 translate } bind for grestore } { m grid gsave 0.5 setlinewidth 0 1 30 { 0.000000or 5 mm 5 mm M 210 mm 5 mm L pop 0 10 mm translate stroke } bind for grestore gsave 0.25 setlinewidth 0 1 30 { 0.000000or 5 mm 10 mm M 210 mm 10 mm L pop 0 10 mm translate stroke } bind for grestore vertical lines gsave 0.5 setlinewidth 0 1 21 { 0.000000or 5 mm 5 mm M 5 mm 300 mm L stroke pop 10 mm 0 translate } bind for grestore gsave 0.25 setlinewidth 0 1 21 { 0.000000or 10 mm 5 mm M 10 mm 300 mm L stroke pop 10 mm 0 translate } bind for grestore } ifelse /#copies ncopies def showpage %Trailer -- john nicoll (jkn@ohm.york.ac.uk) Department of Electronics University of York Heslington YORK YO1 5DD U.K Tel +44 (904) 433221 Fax +44 (904) 433222 = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =