diff options
Diffstat (limited to 'Build/source/texk/dvipsk/contrib')
48 files changed, 3031 insertions, 0 deletions
diff --git a/Build/source/texk/dvipsk/contrib/afm-extra/ptmr.ed b/Build/source/texk/dvipsk/contrib/afm-extra/ptmr.ed new file mode 100644 index 00000000000..78dc82138de --- /dev/null +++ b/Build/source/texk/dvipsk/contrib/afm-extra/ptmr.ed @@ -0,0 +1,118 @@ +1s/)/, then edited for Greek)/ +/(LIGTABLE/i +(MAPFONT D 1 + (FONTNAME rpsyr) + (FONTCHECKSUM O 12741765024) + ) +. +/(CHARACTER/i +(CHARACTER O 0 (comment Gamma) + (CHARWD R 603) + (CHARHT R 689) + (CHARIC R 6) + (MAP + (SELECTFONT D 1) + (SETCHAR C G) + ) + ) +(CHARACTER O 1 (comment Delta) + (CHARWD R 612) + (CHARHT R 689) + (MAP + (SELECTFONT D 1) + (SETCHAR C D) + ) + ) +(CHARACTER O 2 (comment Theta) + (CHARWD R 741) + (CHARHT R 689) + (CHARDP R 7) + (MAP + (SELECTFONT D 1) + (SETCHAR C Q) + ) + ) +(CHARACTER O 3 (comment Lambda) + (CHARWD R 686) + (CHARHT R 689) + (MAP + (SELECTFONT D 1) + (SETCHAR C L) + ) + ) +(CHARACTER O 4 (comment Xi) + (CHARWD R 645) + (CHARHT R 689) + (MAP + (SELECTFONT D 1) + (SETCHAR C X) + ) + ) +(CHARACTER O 5 (comment Pi) + (CHARWD R 768) + (CHARHT R 689) + (MAP + (SELECTFONT D 1) + (SETCHAR C P) + ) + ) +(CHARACTER O 6 (comment Sigma) + (CHARWD R 592) + (CHARHT R 689) + (MAP + (SELECTFONT D 1) + (SETCHAR C S) + ) + ) +(CHARACTER O 7 (comment Upsilon1) + (CHARWD R 620) + (CHARHT R 689) + (MAP + (SELECTFONT D 1) + (SETCHAR O 241) + ) + ) +(CHARACTER O 10 (comment Phi) + (CHARWD R 763) + (CHARHT R 689) + (MAP + (SELECTFONT D 1) + (SETCHAR C F) + ) + ) +(CHARACTER O 11 (comment Psi) + (CHARWD R 795) + (CHARHT R 689) + (MAP + (SELECTFONT D 1) + (SETCHAR C Y) + ) + ) +(CHARACTER O 12 (comment Omega) + (CHARWD R 768) + (CHARHT R 689) + (MAP + (SELECTFONT D 1) + (SETCHAR C W) + ) + ) +(CHARACTER O 13 (comment arrowup) + (CHARWD R 603) + (CHARHT R 907) + (MAP + (SELECTFONT D 1) + (SETCHAR O 255) + ) + ) +(CHARACTER O 14 (comment arrowdown) + (CHARWD R 603) + (CHARHT R 907) + (CHARDP R 7) + (MAP + (SELECTFONT D 1) + (SETCHAR O 257) + ) + ) +. +w ptmr.vpl +q diff --git a/Build/source/texk/dvipsk/contrib/afm-extra/ptmro.ed b/Build/source/texk/dvipsk/contrib/afm-extra/ptmro.ed new file mode 100644 index 00000000000..26885af1622 --- /dev/null +++ b/Build/source/texk/dvipsk/contrib/afm-extra/ptmro.ed @@ -0,0 +1,130 @@ +1s/)/, edited for Greek)/ +/(LIGTABLE/i +(MAPFONT D 1 + (FONTNAME psyro) + (FONTCHECKSUM O 12741765024) + ) +. +/(CHARACTER/i +(CHARACTER O 0 (comment Gamma) + (CHARWD R 603) + (CHARHT R 689) + (CHARIC R 118) + (MAP + (SELECTFONT D 1) + (SETCHAR C G) + ) + ) +(CHARACTER O 1 (comment Delta) + (CHARWD R 612) + (CHARHT R 689) + (CHARIC R 111) + (MAP + (SELECTFONT D 1) + (SETCHAR C D) + ) + ) +(CHARACTER O 2 (comment Theta) + (CHARWD R 741) + (CHARHT R 689) + (CHARDP R 7) + (CHARIC R 87) + (MAP + (SELECTFONT D 1) + (SETCHAR C Q) + ) + ) +(CHARACTER O 3 (comment Lambda) + (CHARWD R 686) + (CHARHT R 689) + (CHARIC R 109) + (MAP + (SELECTFONT D 1) + (SETCHAR C L) + ) + ) +(CHARACTER O 4 (comment Xi) + (CHARWD R 645) + (CHARHT R 689) + (CHARIC R 66) + (MAP + (SELECTFONT D 1) + (SETCHAR C X) + ) + ) +(CHARACTER O 5 (comment Pi) + (CHARWD R 768) + (CHARHT R 689) + (CHARIC R 89) + (MAP + (SELECTFONT D 1) + (SETCHAR C P) + ) + ) +(CHARACTER O 6 (comment Sigma) + (CHARWD R 592) + (CHARHT R 689) + (CHARIC R 109) + (MAP + (SELECTFONT D 1) + (SETCHAR C S) + ) + ) +(CHARACTER O 7 (comment Upsilon1) + (CHARWD R 620) + (CHARHT R 689) + (CHARIC R 104) + (MAP + (SELECTFONT D 1) + (SETCHAR O 241) + ) + ) +(CHARACTER O 10 (comment Phi) + (CHARWD R 763) + (CHARHT R 689) + (CHARIC R 89) + (MAP + (SELECTFONT D 1) + (SETCHAR C F) + ) + ) +(CHARACTER O 11 (comment Psi) + (CHARWD R 795) + (CHARHT R 689) + (CHARIC R 100) + (MAP + (SELECTFONT D 1) + (SETCHAR C Y) + ) + ) +(CHARACTER O 12 (comment Omega) + (CHARWD R 768) + (CHARHT R 689) + (CHARIC R 83) + (MAP + (SELECTFONT D 1) + (SETCHAR C W) + ) + ) +(CHARACTER O 13 (comment arrowup) + (CHARWD R 603) + (CHARHT R 907) + (CHARIC R 120) + (MAP + (SELECTFONT D 1) + (SETCHAR O 255) + ) + ) +(CHARACTER O 14 (comment arrowdown) + (CHARWD R 603) + (CHARHT R 907) + (CHARDP R 7) + (CHARIC R 116) + (MAP + (SELECTFONT D 1) + (SETCHAR O 257) + ) + ) +. +w ptmro.vpl +q diff --git a/Build/source/texk/dvipsk/contrib/colorsep.lpro b/Build/source/texk/dvipsk/contrib/colorsep.lpro new file mode 100644 index 00000000000..89e4bedf8b6 --- /dev/null +++ b/Build/source/texk/dvipsk/contrib/colorsep.lpro @@ -0,0 +1,184 @@ +%! +% Colour separation. +% Ask dvips to do 4 pages. In bop-hook, cycle +% round CMYK color spaces. +% +% Sebastian Rahtz 30.9.93 +% checked 7.1.94 +% from Green Book, and Kunkel Graphic Design with PostScript +% (Green Book Listing 9-5, on page 153.) +% +/seppages 0 def +userdict begin +/Min {% 3 items on stack +2 copy lt { pop }{ exch pop } ifelse +2 copy lt { pop }{ exch pop } ifelse +} def +/SetGray { + 1 exch sub systemdict begin adjustdot setgray end +} def +/sethsbcolor {systemdict begin + sethsbcolor currentrgbcolor end + userdict begin setrgbcolor end}def + +/ToCMYK +% Red book p 305 + { +% subtract each colour from 1 + 3 { 1 exch sub 3 1 roll } repeat +% define percent of black undercolor +% find minimum (k) + 3 copy Min +% remove undercolor + blackUCR sub + dup 0 lt {pop 0} if + /percent_UCR exch def +% +% subtract that from each colour +% + 3 { percent_UCR sub 3 1 roll } repeat +% work out black itself + percent_UCR 1.25 mul % 1 exch sub +% stack should now have C M Y K +} def +% +% crop marks +% +/cX 18 def +/CM{gsave TR 0 cX neg moveto 0 cX lineto stroke +cX neg 0 moveto cX 0 lineto stroke grestore}def +% +/bop-hook{cX dup TR +% +% which page are we producing +% + seppages 1 add + /seppages exch def + seppages 5 eq { /seppages 1 def } if + seppages 1 eq { + /ColourName (CYAN) def + CYAN setupcolor + /WhichColour 3 def } if + seppages 2 eq { + /ColourName (MAGENTA) def + MAGENTA setupcolor + /WhichColour 2 def } if + seppages 3 eq { + /ColourName (YELLOW) def + YELLOW setupcolor + /WhichColour 1 def } if + seppages 4 eq { + /ColourName (BLACK) def + BLACK setupcolor + /WhichColour 0 def } if +% +% crop marks +% +gsave .3 setlinewidth +3 -7 moveto +/Helvetica findfont 6 scalefont setfont +ColourName show +0 0 CM +vsize cX 2 mul sub dup hsize cX 2 mul sub dup isls{4 2 roll}if 0 CM +exch CM 0 +exch CM +grestore 0 cX -2 mul TR isls +{cX -2 mul 0 TR}if + } def end +% +/separations 48 dict def +separations begin + /cmykprocs [ %def + % cyan + { pop pop pop SetGray } + % magenta + { pop pop exch pop SetGray } + % yellow + { pop 3 1 roll pop pop SetGray } + % black + { 4 1 roll pop pop pop SetGray } + ] def + /rgbprocs [ %def + % cyan + { ToCMYK pop pop pop SetGray } + % magenta + { ToCMYK pop pop exch pop SetGray } + % yellow + { ToCMYK pop 3 1 roll pop pop SetGray } + % black + { ToCMYK 4 1 roll pop pop pop SetGray } + ] def + /testprocs [ %def + % cyan + { ToCMYK pop pop pop } + % magenta + { ToCMYK pop pop exch pop } + % yellow + { ToCMYK pop 3 1 roll pop pop } + % black + { ToCMYK 4 1 roll pop pop pop } + ] def + /screenangles [ %def + 105 % cyan + 75 % magenta + 0 % yellow + 45 % black + ] def +end % separations + +% setupcolortakes 0, 1, 2, or 3 as its argument, +% for cyan, magenta, yellow, and black. +/CYAN 0 def /MAGENTA 1 def +/YELLOW 2 def /BLACK 3 def +/setupcolor{ %def + userdict begin + dup separations /cmykprocs get exch get + /setcmykcolor exch def + dup separations /rgbprocs get exch get + /setrgbcolor exch def + dup separations /testprocs get exch get + /testrgbcolor exch def + separations /screenangles get exch get + currentscreen + exch pop 3 -1 roll exch + setscreen + /setscreen { pop pop pop } def +% +% redefine setgray so that it only shows on the black separation +% + /setgray { + WhichColour 0 eq + {systemdict begin adjustdot setgray end} + {pop systemdict begin 1 setgray end} + ifelse}def + end +} bind def + +% +% from Kunkel +% +/adjustdot { dup 0 eq { } { dup 1 exch sub .1 mul add} ifelse } def +% +% redefine existing operators +% +% Percent of undercolor removal +/magentaUCR .3 def +/yellowUCR .07 def +/blackUCR .4 def +% +% Correct yellow and magenta +/correctMY {rgb2cym + 1 index yellowUCR mul sub 3 1 roll + 1 index magentaUCR mul sub 3 1 roll + 3 1 roll rgb2cym}def +% +%(bluely green ) = +%CYAN setupcolor +%.1 .4 .5 testrgbcolor = +%MAGENTA setupcolor +%.1 .4 .5 testrgbcolor = +%YELLOW setupcolor +%.1 .4 .5 testrgbcolor = +%BLACK setupcolor +%.1 .4 .5 testrgbcolor = +%quit diff --git a/Build/source/texk/dvipsk/contrib/config.proto b/Build/source/texk/dvipsk/contrib/config.proto new file mode 100644 index 00000000000..648f60c16fd --- /dev/null +++ b/Build/source/texk/dvipsk/contrib/config.proto @@ -0,0 +1,49 @@ +% Prototype Dvips configuration file. (Public domain.) + +% How to print, maybe with lp instead lpr, etc. +o |lpr + +% Default resolution of this device, in dots per inch. +D 600 + +% Metafont mode. (This is completely different from the -M command-line +% option, which controls whether MakeTeXPK is invoked.) Get +% @url{ftp://ftp.tug.org/tex/modes.mf} for a list of mode names. This mode +% and the D number above must agree, or MakeTeXPK will get confused. +M ljfour + +% Memory available. Download the three-line PostScript file: +% %! Hey, we're PostScript +% /Times-Roman findfont 30 scalefont setfont 144 432 moveto +% vmstatus exch sub 40 string cvs show pop showpage +% to determine this number. (It will be the only thing printed.) +m 3500000 + +% Correct printer offset. You can use testpage.tex from the LaTeX +% distribution to find these numbers. Print testpage.dvi more than once. +O 0pt,0pt + +% Partially download Type 1 fonts by default. Only reason not to do +% this is if you encounter bugs. (Please report them to +% @email{tex-k@@tug.org} if you do.) +j + +% Also look for fonts at these resolutions. +R 300 600 + +% With a high resolution and a RISC cpu, better to compress the bitmaps. +Z + +% Uncomment these if you have and want to use PostScript versions of the +% fonts. +%p +cmfonts.map +%p +lafonts.map +%p +cyrfonts.map +%p +eufonts.map + +% To include another configuration file here. +%c FILENAME + +% You will also want definitions for alternative paper sizes -- A4, +% legal, and such. Examples in @file{contrib/papersize.level2} and +% @file{contrib/papersize.simple}. diff --git a/Build/source/texk/dvipsk/contrib/configs/2a4.ps b/Build/source/texk/dvipsk/contrib/configs/2a4.ps new file mode 100644 index 00000000000..cf2d4f479eb --- /dev/null +++ b/Build/source/texk/dvipsk/contrib/configs/2a4.ps @@ -0,0 +1,49 @@ +% @(#)2a4.ps 1.0 95/10/30 pete +% +% The following code defines PostScript procedures to work dvips. +% they must be downloaded or sent as a header file together with +% the PostScript version of your (La)TeX file. +% +% Originated probably by Piet van Oostrum, Department of Computer Science, +% Utrecht University, Padualaan 14, P.O. Box 80.089, 3508 TB Utrecht +% Phone +31 30 531806 +% Fax +31 30 513791 +% <piet@cs.ruu.nl> uunet!mcsun!ruuinf!piet +% +% it is now re-written to work with dvips(k)-5.58f by Peter Dyballa +% Johann Wolfgang Goethe-Universit\"at Robert-Mayer-Str. 11-15 +% Fachbereich 20 - Theoretische Informatik D 60325 Frankfurt am Main +% (Department for Computer Science) (Federal Republic of Germany) +% +% +% To use 2a4.ps include this on invocation of dvips: +% -h 2a4.ps -t landscape +% +% do not include this in your (La)TeX source: +% \special{landscape}\special{header=2a4.ps} +% +/isoddpage true def +/orig-showpage /showpage load def +/factor 0.707106781187 def +/showpage { + isoddpage not { orig-showpage } if + /isoddpage isoddpage not store + } def + +/bop-hook { + /vsize 1 factor add neg def + isoddpage {factor factor scale + 842 412 translate } + { 0 -595 translate } ifelse + } def + +/end-hook { + isoddpage not { orig-showpage } if + } def +% +% Theses measures are for those paper formats: +% +% DIN A4 letter legal +% 148mm = 412 PS pt 5.5in = 396 PS pt 7in = 504 PS pt +% 210mm = 595 PS pt 8.5in = 612 PS pt 8.5in = 612 PS pt +% 297mm = 842 PS pt 11in = 792 PS pt 14in = 1008 PS pt diff --git a/Build/source/texk/dvipsk/contrib/configs/config.fax b/Build/source/texk/dvipsk/contrib/configs/config.fax new file mode 100644 index 00000000000..963ebffaf33 --- /dev/null +++ b/Build/source/texk/dvipsk/contrib/configs/config.fax @@ -0,0 +1,5 @@ +* +* For FAX output, we set 200 dpi, FAX mode. +* +D 200 +M FAX diff --git a/Build/source/texk/dvipsk/contrib/configs/config.lino b/Build/source/texk/dvipsk/contrib/configs/config.lino new file mode 100644 index 00000000000..4e3285f5089 --- /dev/null +++ b/Build/source/texk/dvipsk/contrib/configs/config.lino @@ -0,0 +1,93 @@ +* +* This configuration file is a sample one for a typesetter. See the +* end of the file especially, where we use setpageparams. With a +* configuration file like this, you can use +* +* -t film0 -k -T 11in,17in +* +* for instance to print an 11x17 inch document in orientation 0 with +* crop marks. +* +* Assume we have a nice modern lino with lots of memory. +* +m 1000000 +* +* And send output by default to a PostScript file. +* +o +* +* Default resolution. We must get this right! +* +D 1270 +* +* Compress the fonts. +* +Z +* +* Paper size information. First definition is the default. +* +* If your default is a4 uncomment the following definition +* and comment out the letterSize definition. +* +*@ a4size 210mm 297mm +*@+ %%PaperSize: a4 + +@ letterSize 8.5in 11in +@+ %%PaperSize: Letter + +@ letter 8.5in 11in +@+ %%BeginPaperSize: Letter +@+ letter +@+ %%EndPaperSize + +@ legal 8.5in 14in +@+ ! %%DocumentPaperSizes: Legal +@+ %%BeginPaperSize: Legal +@+ legal +@+ %%EndPaperSize + +@ ledger 17in 11in +@+ ! %%DocumentPaperSizes: Ledger +@+ %%BeginPaperSize: Ledger +@+ ledger +@+ %%EndPaperSize + +@ tabloid 11in 17in +@+ ! %%DocumentPaperSizes: Tabloid +@+ %%BeginPaperSize: Tabloid +@+ 11x17 +@+ %%EndPaperSize + +@ a4 210mm 297mm +@+ ! %%DocumentPaperSizes: a4 +@+ %%BeginPaperSize: a4 +@+ a4 +@+ %%EndPaperSize + +@ a3 297mm 420mm +@+ ! %%DocumentPaperSizes: a3 +@+ %%BeginPaperSize: a3 +@+ a3 +@+ %%EndPaperSize +* +* These last two are only for typesetters that can set the page size; +* uncomment and put them in a `config.lino', for instance. +* +* Use this for pages where you want the text to run in the same direction +* as the film feeds (slow scan direction; down the length of the film.) +* Best for everything *but* pages higher than the film is wide or pages +* wider than they are tall; needed for pages wider than the film is wide. +* +@ film0 0in 0in +@+ statusdict /setpageparams known { vsize hsize 0 0 statusdict begin { +@+ setpageparams } stopped end } { true } ifelse { statusdict /setpage known +@+ { vsize hsize 0 statusdict begin { setpage } stopped pop end } if } if +* +* Use this for pages where you want the text to run across the width of +* the film (fast scan direction.) Needed for pages taller than the film +* is wide; preferred for pages wider than they are tall. +* +@ film1 0in 0in +@+ statusdict /setpageparams known { hsize vsize 0 1 statusdict begin { +@+ setpageparams } stopped end } { true } ifelse { statusdict /setpage known +@+ { hsize vsize 1 statusdict begin { setpage } stopped pop end } if } if diff --git a/Build/source/texk/dvipsk/contrib/configs/config.lj2p b/Build/source/texk/dvipsk/contrib/configs/config.lj2p new file mode 100644 index 00000000000..aaf2a25f3f2 --- /dev/null +++ b/Build/source/texk/dvipsk/contrib/configs/config.lj2p @@ -0,0 +1,95 @@ +* original config.ps -- default definitions for dvips output. +* +* (If you change or delete `original' on the previous line, dvips won't +* install its config.ps over this file.) +* +* Configuration file for Karl & Kathy's LaserJet IIP. + +* We have 2 2MB expansion cards. +* +m 2750000 + + +* Send output by default to our printer. +* +o |lpr + + +* Default resolution. +* +D 300 + + +* Reverse the pages, since we usually print on the face-up tray. +* +r + + +* Mode is for Canon engine. +* +M CanonCX + + +* Also look for this list of resolutions. +* +R 300 + + +* The printer offsets the output by this much. +* +O 0pt,-6pt + + +* Paper size information. First definition is the default. +* +* If your default is a4 uncomment the following definition +* and comment out the letterSize definition. +* +* There is some redundancy in the following comments; that is to +* get things to work both on the NeXT and on other printers. +* +*@ a4size 210mm 297mm +*@+ %%PaperSize: a4 + +@ letterSize 8.5in 11in + +@ letter 8.5in 11in +@+ %%PaperSize: Letter +@+ %%BeginPaperSize: Letter +@+ letter +@+ %%EndPaperSize + +@ legal 8.5in 14in +@+ ! %%DocumentPaperSizes: Legal +@+ %%PaperSize: Legal +@+ %%BeginPaperSize: Legal +@+ legal +@+ %%EndPaperSize + +@ ledger 17in 11in +@+ ! %%DocumentPaperSizes: Ledger +@+ %%PaperSize: Ledger +@+ %%BeginPaperSize: Ledger +@+ ledger +@+ %%EndPaperSize + +@ tabloid 11in 17in +@+ ! %%DocumentPaperSizes: Tabloid +@+ %%PaperSize: Tabloid +@+ %%BeginPaperSize: Tabloid +@+ 11x17 +@+ %%EndPaperSize + +@ a4 210mm 297mm +@+ ! %%DocumentPaperSizes: a4 +@+ %%PaperSize: a4 +@+ %%BeginPaperSize: a4 +@+ a4 +@+ %%EndPaperSize + +@ a3 297mm 420mm +@+ ! %%DocumentPaperSizes: a3 +@+ %%PaperSize: a3 +@+ %%BeginPaperSize: a3 +@+ a3 +@+ %%EndPaperSize diff --git a/Build/source/texk/dvipsk/contrib/configs/config.post3x3 b/Build/source/texk/dvipsk/contrib/configs/config.post3x3 new file mode 100644 index 00000000000..f43b3071b4c --- /dev/null +++ b/Build/source/texk/dvipsk/contrib/configs/config.post3x3 @@ -0,0 +1,28 @@ + % + % This file is an example of a header file for dvips. It prints a page + % (or a whole document) as a 3x3 poster. This file is built so it can + % be used both as the header file for PostScript and as the configuration + % file for dvips. First comes the PostScript part. (Note that dvips + % ignores any lines beginning with a space.) Change the number here. + % Use it with -P post3x3. We try to overlap pages a bit. + % + /xpost 3 def /ypost 3 def + userdict begin /bop-hook { + 36 36 translate + dup xpost ypost mul mod + dup xpost mod hsize 36 xpost 1 sub mul sub mul neg exch + xpost idiv vsize 36 ypost 1 sub mul sub mul neg translate % translate! + xpost ypost scale % scale! + -36 -36 translate + } def end + { % we start a procedure so PostScript `ignores' the dvips options. + % + % Now the dvips options. Change the number here too, to be + % xpost * ypost. + % +b 9 +h config.post3x3 + % + % Now PostScript cleanup. + % + } pop diff --git a/Build/source/texk/dvipsk/contrib/configs/config.rokicki b/Build/source/texk/dvipsk/contrib/configs/config.rokicki new file mode 100644 index 00000000000..62828369a74 --- /dev/null +++ b/Build/source/texk/dvipsk/contrib/configs/config.rokicki @@ -0,0 +1,62 @@ +* +* See config.lino for more info. +* With a virtual machine, we can claim 1M of memory. +* +m 1000000 +* +* And send output by default to the printer. +* +o !lpr +* +* Default resolution. +* +D 400 +* +* Last resort sizes. +* +R 100 120 144 300 360 400 432 480 +* +* Paper size information. First definition is the default. +* +* If your default is a4 uncomment the following definition +* and comment out the letterSize definition. +* +*@ A4size 210mm 297mm +*@+ %%PaperSize: A4 + +@ letterSize 8.5in 11in + +@ letter 8.5in 11in +@+ %%BeginPaperSize: Letter +@+ letter +@+ %%EndPaperSize + +@ legal 8.5in 14in +@+ ! %%DocumentPaperSizes: Legal +@+ %%BeginPaperSize: Legal +@+ legal +@+ %%EndPaperSize + +@ ledger 17in 11in +@+ ! %%DocumentPaperSizes: Ledger +@+ %%BeginPaperSize: Ledger +@+ ledger +@+ %%EndPaperSize + +@ tabloid 11in 17in +@+ ! %%DocumentPaperSizes: Tabloid +@+ %%BeginPaperSize: Tabloid +@+ 11x17 +@+ %%EndPaperSize + +@ A4 210mm 297mm +@+ ! %%DocumentPaperSizes: A4 +@+ %%BeginPaperSize: A4 +@+ a4 +@+ %%EndPaperSize + +@ A3 297mm 420mm +@+ ! %%DocumentPaperSizes: A3 +@+ %%BeginPaperSize: A3 +@+ a3 +@+ %%EndPaperSize diff --git a/Build/source/texk/dvipsk/contrib/configs/loop.ps b/Build/source/texk/dvipsk/contrib/configs/loop.ps new file mode 100644 index 00000000000..a38c4a19863 --- /dev/null +++ b/Build/source/texk/dvipsk/contrib/configs/loop.ps @@ -0,0 +1,2 @@ +%(%stdin) (r) file 1 string readstring +{ } loop diff --git a/Build/source/texk/dvipsk/contrib/configs/mkdvipspapers b/Build/source/texk/dvipsk/contrib/configs/mkdvipspapers new file mode 100644 index 00000000000..b1adffcaa7a --- /dev/null +++ b/Build/source/texk/dvipsk/contrib/configs/mkdvipspapers @@ -0,0 +1,429 @@ +#!/usr/local/bin/perl + +# +# mkdvipspapers: a simple Perl script that generates a bunch of paper sizes +# definitions for dvips. +# +# Copyright (C) 1995, Yves Arrouye <Yves.Arrouye@imag.fr> [06/15/95] +# +# THIS CODE IS PROVIDED AS IS, WITHOUT ANY WARRANTIES, EITHER EXPRESSED OR +# IMPLIED, OF ITS FITNESS TO ANY PURPOSE. IT'S AUTHOR CANNOT BE HELD LIABLE +# FOR ANY DAMAGES OCCURING DUE TO THE USE OF THIS CODE. USE AT YOUR OWN RISKS! + +# Known bugs: this script is written in Perl 5. (If you ever rewrite it in +# Perl 4, I'm interested to get your version; I can provide a Perl-4 options +# parser that is Getopt modified for it). + +# Last change: added the -p (--paper) option for specifying default size +# (the first that will be generated). Arranged for the letter and a4 defs +# be the first ones if nothing is specified (i.e. in the dvips default). +# Note: the default paper size need not be in the chose ones, it is taken from +# all the known papers sizes. + +# Read what follows for simple documentation and explanations. + +# +# Options accepted by the script: +# +# --help print a small help message +# --version print version +# +# -s, --standard generate standard definitions (Adobe ones) +# -n, --non-standard generate dvips non-standard definitions +# -d, --dvips generate dvips (i.e. standard + some) definitions +# -g, --gs generate non-standard gs definitions +# -e, --extra generate non-standard extra definitions +# -l, --local generate local definitions +# -a, --all generate all definitions +# +# -p, --paper default paper size +# +# default behaviour is the same as --dvips. +# + +use Getopt::Long; + +# +# The paper sizes definitions are stored in arrays with the following entries +# for each paper size: +# +# - the name of the paper for dvips, e.g. letter; +# - the name of the paper for the DSC PaperSize comment, e.g. Letter; +# - the name of an accessible PostScript operator that may select the +# correct paper size, e.g. letter; +# - the name of a PostScript operator in statusdict that may select the +# correct paper tray. e.g. lettertray (this is preferred); +# - the physical width and height of the paper, either in points (no units +# or bp, as in 4000bp), in inches (e.g 8.5in), centimeters (e.g. 21cm) +# or in millimeters (e.g. 297mm); +# - a flag indicating the orientation of the sheet, 0 meaning portrait and +# 1 meaning landscape (this actually used only for gs' setpage operator). +# +# The PostScript code generated in the Setup section does the following. +# First, we look in statusdict in order to look for a tray selection operator. +# If there is none, but the specified PostScript operator is accessible with +# the current dictionaries stacking order, we use it. If setpagedevice is +# implemented and the other methods did fail, we use it. Otherwise, if the +# setpage operator is present in statusdict, use this one. The setpage op. is +# assumed to be +# +# <width> <height> <orient> setpage -- +# +# where <orient> is 0 for portrait and 1 for landscape (in which case <width> +# and <height> are swapped!). +# + +# +# This code has been tested with an Apple LaserWriter II, an Hewlett Packard +# 4L laser printer, Ghostscript 3.33 and Ghostview 1.5 with success. +# + +# +# Enter your local definitions here in the same format as the examples +# below. +# +# Papers defined here: (none). +# + +@localpapersdefs = ( +); + +# +# Standard (Adobe) names. Missing names are a4small and lettersmall, because +# I don't have their definition handy. +# +# Papers defined here: 11x17, a3, a4, b5, ledger, legal, letter, note. +# + +@stdpapersdefs = ( + [ + 'letter', + 'Letter', 'letter', 'lettertray', + '8.5in', '11in', 0 + ], + [ + 'a4', + 'A4', 'a4', 'a4tray', + '210mm', '297mm', 0 + ], + [ + '11x17', + '11x17', '11x17', '11x17tray', + '11in', '17in', 0 + ], + [ + 'a3', + 'A3', 'a3', 'a3tray', + '297mm', '420mm', 0 + ], + [ + 'b5', + 'B5', 'ab5', 'b5tray', + '177mm', '250mm', 0 + ], + [ + 'ledger', + 'Ledger', 'ledger', 'ledgertray', + '11in', '17in', 1 + ], + [ + 'legal', + 'Legal', 'legal', 'legaltray', + '8.5in', '14in', 0 + ], + [ + 'note', + 'Note', 'note', 'notetray', + '7.5in', '10in', 0 + ] +); + +# +# Names that are present in the standard dvips distribution. +# +# Papers defined here: tabloid (aka 11x17). +# + +@dvipspapersdefs = ( + [ + 'tabloid', + 'Tabloid', '11x17', '11x17tray', + '11in', '17in', 0 + ], +); + +# +# Names that are present in the standard gs distribution. (Some names are +# currently missing...) +# +# Papers defined here: a0, a1, a2, a5, a6, a7, a8, a9, a10, +# b0, b1, b2, b3, b4. +# + +@gspapersdefs = ( + [ + 'a0', + 'A0', 'a0', 'a0tray', + '840mm', '1188mm', 0 + ], + [ + 'a1', + 'A1', 'a1', 'a1tray', + '594mm', '840mm', 0 + ], + [ + 'a2', + 'A2', 'a2', 'a2tray', + '420mm', '594mm', 0 + ], + [ + 'a5', + 'A5', 'a5', 'a5tray', + '148mm', '210mm', 0 + ], + [ + 'a6', + 'A6', 'a6', 'a6tray', + '105mm', '148mm', 0 + ], + [ + 'a7', + 'A7', 'a7', 'a7tray', + '74mm', '105mm', 0 + ], + [ + 'a8', + 'A8', 'a8', 'a8tray', + '52.5mm', '74mm', 0 + ], + [ + 'a9', + 'A9', 'a9', 'a9tray', + '37mm', '52.5mm', 0 + ], + [ + 'a10', + 'A10', 'a10', 'a10tray', + '26.25mm', '37mm', 0 + ], + [ + 'b0', + 'B0', 'b0', 'b0tray', + '2836bp', '4008bp', 0 + ], + [ + 'b1', + 'B1', 'b1', 'b1tray', + '2004bp', '2836bp', 0 + ], + [ + 'b2', + 'B2', 'b2', 'b2tray', + '1418bp', '2004bp', 0 + ], + [ + 'b3', + 'B3', 'b3', 'b3tray', + '1002bp', '1418bp', 0 + ], + [ + 'b4', + 'B4', 'b4', 'b4tray', + '709bp', '1002bp', 0 + ], +); + +@extrapapersdefs = ( + [ + 'executive', + 'Executive', 'executivepage', 'executivepagetray', + '7.25in', '10.5in', 0 + ], + [ + 'halfexecutive', + 'HalfExecutive', 'halfexecutivepage', 'halfexecutivepagetray', + '5.25in', '7.25in', 0 + ] +); + +sub basename { + local($fullname, $ext) = @_; + local($basename) = $fullname; + + $basename =~ s,(.*/)?([^/]+),$2,; + $ext && $basename =~ s,$ext$,,; + + $basename; +} + +sub dumpsizes { + local($legend, @sizes) = @_; + + print "$legend"; + + for $spec (@sizes) { + local(@array) = @$spec; + local($name) = @array; + + print $name, " "; + } + print "\n"; +} + +sub usage { + local($exitcode) = @_; + local($myname) = &basename($0); + + if ($exitcode) { + select STDERR; + } + + print "usage: $myname [ --version ] [ -h, --help ] [ -s, --standard ] [ -n, --non-standard ] [ -d, --dvips ] [ -g, --gs ] [ -e, --extra ] [ -l, --local ] [ -a, --all ] [ -p, --paper papername ]\n"; + + if ($exitcode == 0) { + print "\n"; + print "options: --version\t\tprint version information\n"; + print " -h, --help\t\tprint this help message\n"; + print " -s, --standard\t\tdefine standard paper sizes\n"; + print " -n, --non-standard\tdefine dvips' non-standard paper sizes\n"; + print " -d, --dvips\t\tdefine all dvips paper sizes\n"; + print " -g, --gs\t\tdefine gs' non-standard paper sizes\n"; + print " -e, --extra\t\tdefine extra paper sizes\n"; + print " -l, --local\t\tdefine local paper sizes\n"; + print " -a, --all\t\tdefine all previous paper sizes\n"; + print " -p, --paper papername\tspecify default paper size\n"; + print "\npapers: "; &dumpsizes("--standard\t\t", @stdpapersdefs); + print " "; &dumpsizes("--non-standard\t\t", @dvipspapersdefs); + print " "; &dumpsizes("--gs\t\t\t", @gspapersdefs); + print " "; &dumpsizes("--extra\t\t", @extrapapersdefs); + print " "; &dumpsizes("--local\t\t", @localpapersdefs); + } + + exit $exitcode; +} + +sub pssize { + local ($size) = @_; + local $number = $size; + + $number =~ s/\D+$//; + + if ($size =~ /in$/) { + $number *= 72; + } elsif ($size =~ /cm$/) { + $number *= 72 / 2.54; + } elsif ($size =~ /mm$/) { + $number *= 72 / 25.4; + } + + return int($number + .4); +} + +sub genpaperdefs { + local ($papername, $dscname, $psname, $trayname, + $width, $height, $orient) = @$_; + local ($pswidth, $psheight) = (&pssize($width), &pssize($height)); + + local ($exch) = ($orient == 1 ? " exch" : ""); + + if ($width =~ /^\d$/) { $width = "${width}bp"; } + if ($height =~ /^\d$/) { $height = "${height}bp"; } + + print <<EPD +@ $papername $width $height +@+ ! %%DocumentPaperSizes: $dscname +@+ %%PaperSize: $dscname +@+ %%BeginPaperSize: $dscname +@+ /setpagedevice where { +@+ pop 1 dict dup /PageSize [ $pswidth $psheight$exch ] put setpagedevice +@+ } { +@+ statusdict /$trayname known { +@+ statusdict begin $trayname end +@+ /$psname where { pop $psname } if +@+ } { +@+ /$psname where { +@+ pop $psname +@+ } { +@+ statusdict /setpage known { +@+ statusdict begin +@+ $pswidth $psheight $orient setpage +@+ end +@+ } if +@+ } ifelse +@+ } ifelse +@+ } ifelse +@+ %%EndPaperSize + +EPD +} + +if (!&GetOptions("standard|s", "non-standard|n", "dvips|d", "gs|g", "extra|e", + "local|l", "all|a", "paper|p=s", "help|h", "version")) { + &usage(1); +} elsif ($#ARGV != -1) { + &usage(1); +} elsif ($opt_help) { + &usage(0); +} elsif ($opt_version) { + print &basename($0), + " version 1.2, by Yves Arrouye <Yves.Arrouye\@imag.fr>\n"; + exit(0); +} else { + @allpapersdefs = (@stdpapersdefs, @dvipspapersdefs, @gspapersdefs, + @extrapapersdefs, @localpapersdefs); + if ($opt_all) { + @paperdefs = @allpapersdefs; + } else { + @papersdefs = (); + + if ($opt_dvips) { + $opt_standard = 1; + $opt_non_standard = 1; + } + + if ($opt_standard && !$opt_dvips) { + @papersdefs = (@papersdefs, @stdpapersdefs); + } + if ($opt_non_standard && !$opt_dvips) { + @papersdefs = (@papersdefs, @dvipspapersdefs); + } + if ($opt_gs) { + @papersdefs = (@papersdefs, @gsspapersdefs); + } + if ($opt_extra) { + @papersdefs = (@papersdefs, @extrapapersdefs); + } + if ($opt_local) { + @papersdefs = (@papersdefs, @localpapersdefs); + } + + if ($#papersdefs == -1) { + @papersdefs = (@stdpapersdefs, @dvipspapersdefs); + } + } +} + +# Find default paper def in *all* definitions and generate config + +if ($opt_paper) { + for (@allpapersdefs) { + local(@paper) = @$_; + local($papername) = @paper; + + if ($papername eq $opt_paper) { + genpaperdefs @paper; + last; + } + } +} + +# Generate config for all selected paper sizes but the default one + +for (@defaultpaper, @papersdefs) { + local($papername) = @$_; + + if ($papername eq $opt_paper) { next; } + + genpaperdefs $_; +} + diff --git a/Build/source/texk/dvipsk/contrib/configs/papersize.level2 b/Build/source/texk/dvipsk/contrib/configs/papersize.level2 new file mode 100644 index 00000000000..8d708facafa --- /dev/null +++ b/Build/source/texk/dvipsk/contrib/configs/papersize.level2 @@ -0,0 +1,236 @@ +% If your printer doesn't support setpagedevice, and your default paper +% size is A4, uncomment this. +%@ A4size 210mm 297mm +%@+ %%PaperSize: A4 + +% If you want the lettersize definition that uses setpagedevice to be +% the default, comment this out. +@ letterSize 8.5in 11in + +% More paper size information. First definition is the default. +% These definitions were generated by the contrib/mkdvipspapers Perl 5 script, +% by Yves.Arrouye@imag.fr. +% +% 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! + +@ 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 + +@ 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 + +@ 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 diff --git a/Build/source/texk/dvipsk/contrib/configs/papersize.simple b/Build/source/texk/dvipsk/contrib/configs/papersize.simple new file mode 100644 index 00000000000..5112bdf40d4 --- /dev/null +++ b/Build/source/texk/dvipsk/contrib/configs/papersize.simple @@ -0,0 +1,44 @@ +* Paper size information. First definition is the default. +* +* If your default is a4 uncomment the following definition +* and comment out the letterSize definition. +* +*@ A4size 210mm 297mm +*@+ %%PaperSize: A4 + +@ letterSize 8.5in 11in + +@ letter 8.5in 11in +@+ %%BeginPaperSize: Letter +@+ letter +@+ %%EndPaperSize + +@ legal 8.5in 14in +@+ ! %%DocumentPaperSizes: Legal +@+ %%BeginPaperSize: Legal +@+ legal +@+ %%EndPaperSize + +@ ledger 17in 11in +@+ ! %%DocumentPaperSizes: Ledger +@+ %%BeginPaperSize: Ledger +@+ ledger +@+ %%EndPaperSize + +@ tabloid 11in 17in +@+ ! %%DocumentPaperSizes: Tabloid +@+ %%BeginPaperSize: Tabloid +@+ 11x17 +@+ %%EndPaperSize + +@ A4 210mm 297mm +@+ ! %%DocumentPaperSizes: A4 +@+ %%BeginPaperSize: A4 +@+ a4 +@+ %%EndPaperSize + +@ A3 297mm 420mm +@+ ! %%DocumentPaperSizes: A3 +@+ %%BeginPaperSize: A3 +@+ a3 +@+ %%EndPaperSize diff --git a/Build/source/texk/dvipsk/contrib/configs/prepipe.ps b/Build/source/texk/dvipsk/contrib/configs/prepipe.ps new file mode 100644 index 00000000000..57b690963cd --- /dev/null +++ b/Build/source/texk/dvipsk/contrib/configs/prepipe.ps @@ -0,0 +1 @@ +/showpage { 1 true .outputpage } def diff --git a/Build/source/texk/dvipsk/contrib/configs/showpage.ps b/Build/source/texk/dvipsk/contrib/configs/showpage.ps new file mode 100644 index 00000000000..97a4789f75d --- /dev/null +++ b/Build/source/texk/dvipsk/contrib/configs/showpage.ps @@ -0,0 +1 @@ +showpage diff --git a/Build/source/texk/dvipsk/contrib/crop.lpr b/Build/source/texk/dvipsk/contrib/crop.lpr new file mode 100644 index 00000000000..d79484266d9 --- /dev/null +++ b/Build/source/texk/dvipsk/contrib/crop.lpr @@ -0,0 +1,271 @@ +%! +% This file is for crop marks and registration marks if there is color. +% +% First, we translate and draw the marks. You can change the way the +% marks are drawn, but the quarter inch border around the page is fixed. +% +% This file uses bop-hook; sorry. +% +TeXDict begin +% +% CM %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% % +% x_center y_center CM - % +% % +% Make a crop mark at x_center y_center. This crop mark is just a cross. % +% Checks to see if TeXcolorcmyk is defined---if there is no color, you can % +% setgray instead of setcmykcolor. % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +/cX 18 def % the crop offset +/CM +{ + gsave + 3 1 roll + translate + rotate + .3 setlinewidth + /TeXcolorcmyk where {pop 1 1 1 1 setcmykcolor} {0 setgray} ifelse + 0 cX neg moveto + 0 cX 2 div neg lineto stroke + cX neg 0 moveto + cX 2 div neg 0 lineto stroke + grestore +} def +% +% RegMark %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% % +% x_center y_center RegMark - % +% % +% Make a registration mark at x_center y_center. Consists of two concentric % +% circles, the inner one filled, and a cross hair through them. Preferred % +% by those who register films for proof. Checks to see if TeXcolorcmyk is % +% defined---if there is no color, you don't need registration marks! % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +/RegMark +{ + /TeXcolorcmyk where + { + pop + gsave + translate + .3 setlinewidth + 1 1 1 1 setcmykcolor + 0 0 3 0 360 arc fill + 0 0 6 0 360 arc stroke + 0 1 3 { + pop + 90 rotate + 0 0 0 0 setcmykcolor + 0 0 moveto 3 0 lineto stroke + 1 1 1 1 setcmykcolor + 3 0 moveto 8 0 lineto stroke + } for + grestore + } {pop pop} ifelse +} def +% +% DoLogo %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% % +% x_left y_upper DoLogo - % +% % +% If /CompositorName is defined, then the logo will be placed in the crop % +% area. /JobDescription and /Contractor can also be defined in the TeX file % +% to define the job. If there is no definition, they simply will not show % +% up. Examples: % +% /CompositorName (Meridian Creative Group) def % +% /JobDescription (College Algebra: Concepts and Models 2/e) def % +% /Contractor (D.C. Heath and Company) def % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +/DoLogo +{ + moveto + save + % + % Variables to control the look of the Logo: + % + /LogoVgap 1 def % Vertical gap between logo string and box + /LogoHgap 3 def % Horizontal gap between logo string and box + /LogoFont {6 /Helvetica} def % The font to use for this logo. + % + % Gather some useful information about the Logo Font. + % + /LogoAscent LogoFont findfont /FontBBox get 3 get abs 1000 div mul def + /LogoDescent LogoFont findfont /FontBBox get 1 get abs 1000 div mul def + /LogoHeight LogoAscent LogoDescent add def + % + % <string> AddToLogo <string width> + % + /LogoWidth 0 def + /AddToLogo + { + dup show % leaving <string> on stack + stringwidth pop % <swidth> on stack + } def + % + % Start by setting line width, color, and establish logo font. + % + .24 setlinewidth + /TeXcolorcmyk where {pop 1 1 1 1 setcmykcolor} {0 setgray} ifelse + LogoFont findfont exch scalefont setfont + % + % Then move into position + % + LogoHgap LogoVgap LogoAscent add neg rmoveto + % + % If there is a logo, there will be a compositor, so start by setting + % the compositor name and add to the LogoWidth. + % + CompositorName AddToLogo % Add compositor name to logo + LogoWidth add /LogoWidth exch def % Add compositor name to logo width + % + % If there is a job description, set it next. + % + /JobDescription where + { + pop % Get rid of dictionary + LogoFont pop 0 rmoveto % Move a bit to the right + LogoWidth LogoFont pop add % Add that on to the logo width + JobDescription AddToLogo % Add job description to logo + add /LogoWidth exch def % Add job description to logo width + } if + % + % Same thing with Contractor. + % + /Contractor where + { + pop % Get rid of dictionary + LogoFont pop 0 rmoveto % Move a bit to the right + LogoWidth LogoFont pop add % Add that on to the logo width + Contractor AddToLogo % Add contractor to logo + add /LogoWidth exch def % Add contractor to logo width + } if + % + % Add the gaps onto the logo dimensions for box drawing. + % + /LogoHeight LogoHeight 2 LogoVgap mul add def + /LogoWidth LogoWidth 2 LogoHgap mul add def + % + % Move into lower right corner of box and draw it clockwise. + % + LogoHgap LogoVgap LogoDescent add neg rmoveto + LogoWidth neg 0 rlineto 0 LogoHeight rlineto + LogoWidth 0 rlineto 0 LogoHeight neg rlineto stroke + restore + stroke +} def +% +/DrawCenterTicks +{ + gsave + .3 setlinewidth + /TeXcolorcmyk where {pop 1 1 1 1 setcmykcolor} {0 setgray} ifelse + hsize cX 2 mul sub 2 div cX 2 div neg moveto + 0 cX 2 div neg rlineto + hsize cX 1.5 mul sub vsize cX 2 mul sub 2 div moveto + cX 2 div 0 rlineto + hsize cX 2 mul sub 2 div vsize cX 1.5 mul sub moveto + 0 cX 2 div rlineto + cX 2 div neg vsize cX 2 mul sub 2 div moveto + cX 2 div neg 0 rlineto + stroke + grestore +} def +% +% NamePlates %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% left bottom NamePlates - % +% % +% /FirstPlate, /SecondPlate, /ThirdPlate, and /FourthPlate have default % +% names but may be overridden in the job.hdr. % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +/NamePlates +{ + gsave + translate + % Make sure each plate has a name. + /FirstPlate where {pop} {/FirstPlate (Cyan) def} ifelse + /SecondPlate where {pop} {/SecondPlate (Magenta) def} ifelse + /ThirdPlate where {pop} {/ThirdPlate (Yellow) def} ifelse + /FourthPlate where {pop} {/FourthPlate (Black) def} ifelse + /Helvetica-Bold findfont 10 scalefont setfont + % Cyan block + 1 0 0 0 setcmykcolor + 0 0 moveto + 9 0 lineto + 9 9 lineto + 0 9 lineto + closepath + fill + 0 0 0 0 setcmykcolor + 0.75 1 moveto + (C) show + % Magenta block + 0 1 0 0 setcmykcolor + 9 0 moveto + 18 0 lineto + 18 9 lineto + 9 9 lineto + closepath + fill + 0 0 0 0 setcmykcolor + 9.25 1 moveto + (M) show + % Yellow block + 0 0 1 0 setcmykcolor + 18 0 moveto + 27 0 lineto + 27 9 lineto + 18 9 lineto + closepath + fill + 0 0 0 0 setcmykcolor + 19.25 1 moveto + (Y) show + % Black block + 0 0 0 1 setcmykcolor + 27 0 moveto + 36 0 lineto + 36 9 lineto + 27 9 lineto + closepath + fill + 0 0 0 0 setcmykcolor + 27.5 1 moveto + (K) show + % Name Plates + /Helvetica-Narrow findfont 9 scalefont setfont + 1 1 1 1 setcmykcolor + ( Plate:) show + 1 0 0 0 setcmykcolor + FirstPlate show + 0 1 0 0 setcmykcolor + SecondPlate show + 0 0 1 0 setcmykcolor + ThirdPlate show + 0 0 0 1 setcmykcolor + FourthPlate show + grestore +} def +% +end %TeXDict +% +/bop-hook { + cX dup TR % move the origin a bit + gsave + % Draw center tic marks in the crop margin + DrawCenterTicks + % Do the logo + /CompositorName where {pop cX 2 div dup neg DoLogo} if + % Name the plates + /TeXcolorcmyk where {pop hsize 2 div cX add -18 NamePlates} if + % now draw four crop marks and four registration marks + 0 0 0 CM cX -2 div dup RegMark + vsize cX 2 mul sub dup + hsize cX 2 mul sub dup + isls { 4 2 roll } if + 0 2 copy 90 CM cX 2 div sub exch cX 2 div add exch RegMark + exch 2 copy 180 CM cX 2 div add exch cX 2 div add exch RegMark + 0 exch 2 copy 270 CM cX 2 div add exch cX 2 div sub exch RegMark + grestore + 0 cX -2 mul TR % now move to where we start drawing + isls { cX -2 mul 0 TR } if +} def diff --git a/Build/source/texk/dvipsk/contrib/latex209/avantgarde.sty b/Build/source/texk/dvipsk/contrib/latex209/avantgarde.sty new file mode 100644 index 00000000000..91ae8f388c1 --- /dev/null +++ b/Build/source/texk/dvipsk/contrib/latex209/avantgarde.sty @@ -0,0 +1,11 @@ +% latex style using AvantGarde for text. + +\def\@mrm{pagk}% AvantGarde - book +\def\@mit{pagko}% AvantGarde - book oblique +\def\@msl{pagdo}% AvantGarde - demi oblique +\def\@mbf{pagd}% AvantGarde - demi +\def\@mcsc{pagkc}% AvantGarde - book - small caps +\def\@mtt{pcrr}% courier +\def\@mss{phvr}% helvetica + +\input psfonts.sty diff --git a/Build/source/texk/dvipsk/contrib/latex209/blackdvi.sty b/Build/source/texk/dvipsk/contrib/latex209/blackdvi.sty new file mode 100644 index 00000000000..85e7fd38a28 --- /dev/null +++ b/Build/source/texk/dvipsk/contrib/latex209/blackdvi.sty @@ -0,0 +1,109 @@ +% This is BLACKDVI.STY and BLACKDVI.TEX in text format, as of March 5, +% 1992, written by Jim Hafner, HAFNER@ALMADEN, or hafner@almaden.ibm.com. +% This file turns all color commands defined by COLORDVI.STY or COLORDVI.TEX +% into no-ops and so can be used to get B/W printing without having to +% ferret out all the color macros. Modified by Tomas Rokicki to be a +% bit smaller. +% +% 20 Aug. 1992: Revised by J. Hafner, by adding \globalColor as a no-op. +% +% For example, with FoilTeX, just use +% \documentstyle[blackdvi]{foils} +% in place of +% \documentstyle[colordvi]{foils} +% +% This file can be used anywhere COLORDVI.STY or COLORDVI.TEX is used. In +% particular, It can be used in any flavor of LaTeX (e.g. LaTeX, +% FoilTeX, AMS-LaTeX) by adding the keyword "blackdvi" to the options in +% the \documentstyle command (e.g., "\documentstyle[blackdvi]{foils}") or +% \input in any flavor of TeX (e.g. Plain TeX, eplain, AMS-TeX or any of +% the above LaTeX flavors) with the command "\input blackdvi". +% +% Here is the background command +\def\background#1{}% +% +% This is used to define all the \newColor macros defined by \newColor +% as no-ops. +\def\newColor #1 {\expandafter\def\csname text#1\endcsname{}% + \expandafter\def\csname #1\endcsname##1{##1}}% +% +% Here are the two macros used for user-definable colors +\def\textColor#1{} +\def\Color#1#2{#2} +% +% This is the macro that is used to protect certain regions of the +% text from corruption by local color commands. See COLORDVI.STY for +% more information. We make it a no-op in this style. +\def\globalColor#1{#1} +% +% Here are the preset color names. This list should match the list +% in <colordvi.[tex,sty]>. +% +\newColor GreenYellow +\newColor Yellow +\newColor Goldenrod +\newColor Dandelion +\newColor Apricot +\newColor Peach +\newColor Melon +\newColor YellowOrange +\newColor Orange +\newColor BurntOrange +\newColor Bittersweet +\newColor RedOrange +\newColor Mahogany +\newColor Maroon +\newColor BrickRed +\newColor Red +\newColor OrangeRed +\newColor RubineRed +\newColor WildStrawberry +\newColor Salmon +\newColor CarnationPink +\newColor Magenta +\newColor VioletRed +\newColor Rhodamine +\newColor Mulberry +\newColor RedViolet +\newColor Fuchsia +\newColor Lavender +\newColor Thistle +\newColor Orchid +\newColor DarkOrchid +\newColor Purple +\newColor Plum +\newColor Violet +\newColor RoyalPurple +\newColor BlueViolet +\newColor Periwinkle +\newColor CadetBlue +\newColor CornflowerBlue +\newColor MidnightBlue +\newColor NavyBlue +\newColor RoyalBlue +\newColor Blue +\newColor Cerulean +\newColor Cyan +\newColor ProcessBlue +\newColor SkyBlue +\newColor Turquoise +\newColor TealBlue +\newColor Aquamarine +\newColor BlueGreen +\newColor Emerald +\newColor JungleGreen +\newColor SeaGreen +\newColor Green +\newColor ForestGreen +\newColor PineGreen +\newColor LimeGreen +\newColor YellowGreen +\newColor SpringGreen +\newColor OliveGreen +\newColor RawSienna +\newColor Sepia +\newColor Brown +\newColor Tan +\newColor Gray +\newColor Black +\newColor White diff --git a/Build/source/texk/dvipsk/contrib/latex209/bookman.sty b/Build/source/texk/dvipsk/contrib/latex209/bookman.sty new file mode 100644 index 00000000000..520e4ebdb68 --- /dev/null +++ b/Build/source/texk/dvipsk/contrib/latex209/bookman.sty @@ -0,0 +1,11 @@ +% latex style using Bookman for text + +\def\@mrm{pbkl}% Bookman - light +\def\@mit{pbkli}% Bookman - light italic +\def\@msl{pbkdi}% Bookman - demi italic +\def\@mbf{pbkd}% Bookman - demi +\def\@mcsc{pbklc}% Bookman - light - small caps +\def\@mtt{pcrr}% courier +\def\@mss{phvr}% helvetica + +\input psfonts.sty diff --git a/Build/source/texk/dvipsk/contrib/latex209/chancery.sty b/Build/source/texk/dvipsk/contrib/latex209/chancery.sty new file mode 100644 index 00000000000..7f87fd9d617 --- /dev/null +++ b/Build/source/texk/dvipsk/contrib/latex209/chancery.sty @@ -0,0 +1,11 @@ +% latex style using Zapf Chancery for text. + +\def\@mrm{pzcmi}% Zapf Chancery Medium Italic +\def\@mit{pzcmi}% Zapf Chancery Medium Italic +\def\@msl{pzcmi}% Zapf Chancery Medium Italic +\def\@mbf{pzcmi}% Zapf Chancery Medium Italic +\def\@mcsc{pzcmi}% Zapf Chancery Medium Italic +\def\@mtt{pcrr}% courier +\def\@mss{phvr}% helvetica + +\input psfonts.sty diff --git a/Build/source/texk/dvipsk/contrib/latex209/colordvi.sty b/Build/source/texk/dvipsk/contrib/latex209/colordvi.sty new file mode 100644 index 00000000000..df812f8df60 --- /dev/null +++ b/Build/source/texk/dvipsk/contrib/latex209/colordvi.sty @@ -0,0 +1,162 @@ +% This is COLORDVI.TEX and COLORDVI.STY in text format, as of +% March 5, 1992, written by Jim Hafner, HAFNER@ALMADEN, or +% hafner@almaden.ibm.com. Modified by Tomas Rokicki to be a +% bit smaller and easier to add to. +% +% 20 Aug. 1992: Revised by J. Hafner, by adding \globalColor. +% +% This style file can be used to get color in TeX, LaTeX or more +% importantly, FoilTeX as an optional style file. It is generic in +% that the color parameters are determined by the driver's header files. +% +% It can be used with any driver which knows how to process the keywords +% in the \special commands. Currently, only versions of dvips greater +% than 5.478 (dvips is the DVI->PostScript driver by Tom Rokicki) and +% TeXview on the NeXT interpret these specials. +% +% This file can be used in any flavor of LaTeX (e.g. LaTeX, FoilTeX, +% AMS-LaTeX) by adding the keyword "colordvi" to the options in the +% \documentstyle command (e.g., "\documentstyle[colordvi]{foils}") or \input +% in any flavor of TeX (e.g. Plain TeX, eplain, AMS-TeX or any of the +% above LaTeX flavors) with the command "\input colordvi". +% +% The actual parameters for each color are determined by the device +% driver. +% For "dvips", that is the header file color.pro prepended to the +% output file by dvips. They can be overrriden by a user-supplied +% header, called by either the -h option or the "h" flag in a printer +% configuration file, or in the .dvipsrc (or its analogue on other +% systems). +% +% Most of the color names and their matches were based on the +% most recent (at time of writing) Crayola Crayon box of 64 colors. +% +% There are 68 predefined colors. At the end of this file is a +% listing of the color names and their approximate PANTONE color +% match. This is for reference purposes only. +% +% The first macro lets the user specify the background color for the +% document. It sets the background color for the current page and all +% succeeding pages, unless changed by another command of this type. To +% change the background color back to the default, issue +% \background{White} +% +\def\background#1{\special{background #1}} +% +% There are two types of text color commands. The first is in the form +% \ColorName (note the uppercase for the color name). +% +% It is called a local color command since it takes one argument +% enclosed in brackets. It writes the contents of its argument in the +% selected color. This should be used for local or nested color +% changes, since it restores the original color state when it completes. +% The second type of color command is in the form +% \textColorName +% This uses the same naming convention as before. It is called a global +% color command since it takes no arguments and simply sets the color at +% this point. No previous color information is saved. IF YOU USE THIS +% INTERNAL TO ANY LOCAL COLOR COMMAND, THE NESTING HISTORY IS LOST. +% +% This next definition is used in an invocation of a \textColorName +% macro to save the global color value in local form via the \globalColor +% macro. This new macro can then be used to protect certain regions of +% the text, like item tags and headers and footers which can be +% corrupted by local colors. In particular, item tags in lists can +% incorrectly inherit the color from a local color command immediately +% following it. The \subdef macro is invoked within the invocation of a +% global color change. +% +\def\subdef#1{\gdef\globalColor##1{\special + {color push #1}##1\special{color pop}}} +% +% Here are the global color changers, with color codes defined; +% these are used to define the small region colors. +% +% This first is for user defined color. The argument #1 is for a "CMYK" +% quadruple of intensity values between 0 and 1. (CMYK stands for Cyan, +% Magenta, Yellow and Black.) E.g., \textColor{.2 .3 .4 .1} +% +\def\textColor#1{\subdef{cmyk #1}\special{color cmyk #1}} +% +% and a userdefinable local color command. +\def\Color#1#2{\special{color push cmyk #1}#2\special{color pop}} +% +% +\def\newColor #1 {\expandafter\def\csname #1\endcsname##1{\special + {color push #1}##1\special{color pop}}% + \expandafter\def\csname text#1\endcsname{\subdef{#1}% + \special{color #1}}}% +% +% Here are the color names and their PANTONE match (approximately) +% +\newColor GreenYellow % GreenYellow Approximate PANTONE 388 +\newColor Yellow % Yellow Approximate PANTONE YELLOW +\newColor Goldenrod % Goldenrod Approximate PANTONE 109 +\newColor Dandelion % Dandelion Approximate PANTONE 123 +\newColor Apricot % Apricot Approximate PANTONE 1565 +\newColor Peach % Peach Approximate PANTONE 164 +\newColor Melon % Melon Approximate PANTONE 177 +\newColor YellowOrange % YellowOrange Approximate PANTONE 130 +\newColor Orange % Orange Approximate PANTONE ORANGE-021 +\newColor BurntOrange % BurntOrange Approximate PANTONE 388 +\newColor Bittersweet % Bittersweet Approximate PANTONE 167 +\newColor RedOrange % RedOrange Approximate PANTONE 179 +\newColor Mahogany % Mahogany Approximate PANTONE 484 +\newColor Maroon % Maroon Approximate PANTONE 201 +\newColor BrickRed % BrickRed Approximate PANTONE 1805 +\newColor Red % Red VERY-Approx PANTONE RED +\newColor OrangeRed % OrangeRed No PANTONE match +\newColor RubineRed % RubineRed Approximate PANTONE RUBINE-RED +\newColor WildStrawberry % WildStrawberry Approximate PANTONE 206 +\newColor Salmon % Salmon Approximate PANTONE 183 +\newColor CarnationPink % CarnationPink Approximate PANTONE 218 +\newColor Magenta % Magenta Approximate PANTONE PROCESS-MAGENTA +\newColor VioletRed % VioletRed Approximate PANTONE 219 +\newColor Rhodamine % Rhodamine Approximate PANTONE RHODAMINE-RED +\newColor Mulberry % Mulberry Approximate PANTONE 241 +\newColor RedViolet % RedViolet Approximate PANTONE 234 +\newColor Fuchsia % Fuchsia Approximate PANTONE 248 +\newColor Lavender % Lavender Approximate PANTONE 223 +\newColor Thistle % Thistle Approximate PANTONE 245 +\newColor Orchid % Orchid Approximate PANTONE 252 +\newColor DarkOrchid % DarkOrchid No PANTONE match +\newColor Purple % Purple Approximate PANTONE PURPLE +\newColor Plum % Plum VERY-Approx PANTONE 518 +\newColor Violet % Violet Approximate PANTONE VIOLET +\newColor RoyalPurple % RoyalPurple Approximate PANTONE 267 +\newColor BlueViolet % BlueViolet Approximate PANTONE 2755 +\newColor Periwinkle % Periwinkle Approximate PANTONE 2715 +\newColor CadetBlue % CadetBlue Approximate PANTONE (534+535)/2 +\newColor CornflowerBlue % CornflowerBlue Approximate PANTONE 292 +\newColor MidnightBlue % MidnightBlue Approximate PANTONE 302 +\newColor NavyBlue % NavyBlue Approximate PANTONE 293 +\newColor RoyalBlue % RoyalBlue No PANTONE match +\newColor Blue % Blue Approximate PANTONE BLUE-072 +\newColor Cerulean % Cerulean Approximate PANTONE 3005 +\newColor Cyan % Cyan Approximate PANTONE PROCESS-CYAN +\newColor ProcessBlue % ProcessBlue Approximate PANTONE PROCESS-BLUE +\newColor SkyBlue % SkyBlue Approximate PANTONE 2985 +\newColor Turquoise % Turquoise Approximate PANTONE (312+313)/2 +\newColor TealBlue % TealBlue Approximate PANTONE 3145 +\newColor Aquamarine % Aquamarine Approximate PANTONE 3135 +\newColor BlueGreen % BlueGreen Approximate PANTONE 320 +\newColor Emerald % Emerald No PANTONE match +\newColor JungleGreen % JungleGreen Approximate PANTONE 328 +\newColor SeaGreen % SeaGreen Approximate PANTONE 3268 +\newColor Green % Green VERY-Approx PANTONE GREEN +\newColor ForestGreen % ForestGreen Approximate PANTONE 349 +\newColor PineGreen % PineGreen Approximate PANTONE 323 +\newColor LimeGreen % LimeGreen No PANTONE match +\newColor YellowGreen % YellowGreen Approximate PANTONE 375 +\newColor SpringGreen % SpringGreen Approximate PANTONE 381 +\newColor OliveGreen % OliveGreen Approximate PANTONE 582 +\newColor RawSienna % RawSienna Approximate PANTONE 154 +\newColor Sepia % Sepia Approximate PANTONE 161 +\newColor Brown % Brown Approximate PANTONE 1615 +\newColor Tan % Tan No PANTONE match +\newColor Gray % Gray Approximate PANTONE COOL-GRAY-8 +\newColor Black % Black Approximate PANTONE PROCESS-BLACK +\newColor White % White No PANTONE match + +% Now we make sure that we initialize the global color to Black +\subdef{Black} diff --git a/Build/source/texk/dvipsk/contrib/latex209/ncs.sty b/Build/source/texk/dvipsk/contrib/latex209/ncs.sty new file mode 100644 index 00000000000..e7b996f7e6a --- /dev/null +++ b/Build/source/texk/dvipsk/contrib/latex209/ncs.sty @@ -0,0 +1,11 @@ +% latex style using New Century Schoolbook for text. + +\def\@mrm{pncr}% new century schoolbook +\def\@mit{pncri}% new century schoolbook - italic +\def\@msl{pncbi}% new century schoolbook - bold italic +\def\@mbf{pncb}% new century schoolbook - bold +\def\@mcsc{pncrc}% new century schoolbook - small caps +\def\@mtt{pcrr}% courier +\def\@mss{phvr}% helvetica + +\input psfonts.sty diff --git a/Build/source/texk/dvipsk/contrib/latex209/palatino.sty b/Build/source/texk/dvipsk/contrib/latex209/palatino.sty new file mode 100644 index 00000000000..41d95d322f5 --- /dev/null +++ b/Build/source/texk/dvipsk/contrib/latex209/palatino.sty @@ -0,0 +1,11 @@ +% latex style using Palatino for text. + +\def\@mrm{pplr}% palatino +\def\@mit{pplri}% palatino - italic +\def\@msl{pplro}% palatino - oblique +\def\@mbf{pplb}% palatino - bold +\def\@mcsc{pplrc}% palatino - small caps +\def\@mtt{pcrr}% courier +\def\@mss{phvr}% helvetica + +\input psfonts.sty diff --git a/Build/source/texk/dvipsk/contrib/latex209/psfonts.sty b/Build/source/texk/dvipsk/contrib/latex209/psfonts.sty new file mode 100644 index 00000000000..97948237045 --- /dev/null +++ b/Build/source/texk/dvipsk/contrib/latex209/psfonts.sty @@ -0,0 +1,266 @@ +% psfonts.sty - re-work of lfonts.tex to allow postscript fonts +% to replace cmr fonts. Original by LA Carr. Hacked by Van +% Jacobson. +% +% $Header: psfonts.sty,v 1.2 88/01/23 17:52:49 van Exp $ +% +\def\@@getfont#1#2#3#4#5#6#7{% +\@ifundefined{\string #1\string #5}{\global\expandafter + \font \csname \string #1\string #5\endcsname #4\@ptscale{#5}\relax}{}% +\@ifundefined{\string #1\string #6}{\global\expandafter + \font \csname \string #1\string #6\endcsname #4\@ptscale{#6}\relax}{}% +\@ifundefined{\string #1\string #7}{\global\expandafter + \font \csname \string #1\string #7\endcsname #4\@ptscale{#7}\relax}{}% +\@ifundefined{\string #1\string #3}{\global\expandafter + \let \csname \string #1\string #3\endcsname #3\relax + \@addfontinfo#3{\textfont #2\csname \string #1\string #5\endcsname + \scriptfont #2\csname \string #1\string #6\endcsname + \scriptscriptfont #2\csname \string #1\string #7\endcsname + \def#1{\fam #2\csname\string #1\string #5\endcsname}}}{}#3#1} +\def\@@@getfont#1#2#3#4#5{% +\@ifundefined{\string #1\string #5}{\global\expandafter + \font \csname \string #1\string #5\endcsname #4\@ptscale{#5}\relax}{}% +\@ifundefined{\string #1\string #3}{\global\expandafter + \let \csname \string #1\string #3\endcsname #3\relax + \@addfontinfo#3{\def#1{\fam #2\csname\string #1\string #5\endcsname}}}{}#3#1} + +\def\@psfonts#1#2#3#4{% +\def\prm{\@@getfont\prm\z@#1\@mrm{#2}{#3}{#4}}% +\def\pit{\@@getfont\pit\itfam#1\@mit{#2}{#3}{#4}}% +\def\psl{\@@getfont\psl\slfam#1\@msl{#2}{#3}{#4}}% +\def\pbf{\@@getfont\pbf\bffam#1\@mbf{#2}{#3}{#4}}% +\def\ptt{\@@getfont\ptt\ttfam#1\@mtt{#2}{#3}{#4}% +\@nohyphens\ptt {#2}\@nohyphens\ptt {#3}\@nohyphens\ptt {#4}}% +\def\psf{\@@getfont\psf\sffam#1\@mss{#2}{#3}{#4}}% +\def\psc{\@@getfont\psc\scfam#1\@mcsc{#2}{#3}{#4}}} + +% math stuff: we want to use cmr operator characters but Times +% letters. So, we make a new family to hold cmrX & re-mathcode +% to force the operators to come from that family. +\newfam\@cmrfam +\newcount\@cmrscale +\def\@mathmap#1{\@cmrscale=\@cmrfam \multiply\@cmrscale by 256 +\advance\@cmrscale by \the\mathcode#1 \mathcode#1=\@cmrscale\relax} +\def\@cmrset#1#2#3{\textfont\@cmrfam #1% +\scriptfont\@cmrfam #2\scriptscriptfont\@cmrfam #3\relax} + +\@mathmap{`\(} +\@mathmap{`\)} +\@mathmap{`\+} +\@mathmap{`\=} +\@mathmap{`\[} +\@mathmap{`\]} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\def\vpt{\textfont\z@\fivrm + \scriptfont\z@\fivrm \scriptscriptfont\z@\fivrm +\textfont\@ne\fivmi \scriptfont\@ne\fivmi \scriptscriptfont\@ne\fivmi +\textfont\tw@\fivsy \scriptfont\tw@\fivsy \scriptscriptfont\tw@\fivsy +\textfont\thr@@\tenex \scriptfont\thr@@\tenex \scriptscriptfont\thr@@\tenex +\def\unboldmath{\everymath{}\everydisplay{}\@nomath + \unboldmath\fam\@ne\@boldfalse}\@boldfalse +\def\boldmath{\@subfont\boldmath\unboldmath}% +\@psfonts\@vpt555% +\@cmrset\fivrm\fivrm\fivrm% +\def\ly{\fam\lyfam\fivly}\textfont\lyfam\fivly + \scriptfont\lyfam\fivly \scriptscriptfont\lyfam\fivly +\@setstrut\rm} +\def\@vpt{} +\def\vipt{\textfont\z@\sixrm + \scriptfont\z@\sixrm \scriptscriptfont\z@\sixrm +\textfont\@ne\sixmi \scriptfont\@ne\sixmi \scriptscriptfont\@ne\sixmi +\textfont\tw@\sixsy \scriptfont\tw@\sixsy \scriptscriptfont\tw@\sixsy +\textfont\thr@@\tenex \scriptfont\thr@@\tenex \scriptscriptfont\thr@@\tenex +\def\unboldmath{\everymath{}\everydisplay{}\@nomath + \unboldmath\@boldfalse}\@boldfalse +\def\boldmath{\@subfont\boldmath\unboldmath}% +\@psfonts\@vipt666% +\@cmrset\sixrm\sixrm\sixrm% +\def\ly{\fam\lyfam\sixly}\textfont\lyfam\sixly + \scriptfont\lyfam\sixly \scriptscriptfont\lyfam\sixly +\@setstrut\rm} +\def\@vipt{} +\def\viipt{\textfont\z@\sevrm + \scriptfont\z@\sixrm \scriptscriptfont\z@\fivrm +\textfont\@ne\sevmi \scriptfont\@ne\fivmi \scriptscriptfont\@ne\fivmi +\textfont\tw@\sevsy \scriptfont\tw@\fivsy \scriptscriptfont\tw@\fivsy +\textfont\thr@@\tenex \scriptfont\thr@@\tenex \scriptscriptfont\thr@@\tenex +\def\unboldmath{\everymath{}\everydisplay{}\@nomath +\unboldmath\@boldfalse}\@boldfalse +\def\boldmath{\@subfont\boldmath\unboldmath}% +\@psfonts\@viipt755% +\@cmrset\sevrm\sixrm\fivrm% +\def\ly{\fam\lyfam\sevly}\textfont\lyfam\sevly + \scriptfont\lyfam\fivly \scriptscriptfont\lyfam\fivly +\@setstrut \rm} +\def\@viipt{} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\def\viiipt{\textfont\z@\egtrm + \scriptfont\z@\sixrm \scriptscriptfont\z@\fivrm +\textfont\@ne\egtmi \scriptfont\@ne\sixmi \scriptscriptfont\@ne\fivmi +\textfont\tw@\egtsy \scriptfont\tw@\sixsy \scriptscriptfont\tw@\fivsy +\textfont\thr@@\tenex \scriptfont\thr@@\tenex \scriptscriptfont\thr@@\tenex +\def\unboldmath{\everymath{}\everydisplay{}\@nomath +\unboldmath\@boldfalse}\@boldfalse +\def\boldmath{\@subfont\boldmath\unboldmath}% +\@psfonts\@viiipt865% +\@cmrset\egtrm\sixrm\fivrm% +\def\ly{\fam\lyfam\egtly}\textfont\lyfam\egtly + \scriptfont\lyfam\sixly \scriptscriptfont\lyfam\fivly +\@setstrut \rm} +\def\@viiipt{} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\def\ixpt{\textfont\z@\ninrm + \scriptfont\z@\sixrm \scriptscriptfont\z@\fivrm +\textfont\@ne\ninmi \scriptfont\@ne\sixmi \scriptscriptfont\@ne\fivmi +\textfont\tw@\ninsy \scriptfont\tw@\sixsy \scriptscriptfont\tw@\fivsy +\textfont\thr@@\tenex \scriptfont\thr@@\tenex \scriptscriptfont\thr@@\tenex +\def\unboldmath{\everymath{}\everydisplay{}\@nomath\unboldmath + \@boldfalse}\@boldfalse +\def\boldmath{\@subfont\boldmath\unboldmath}% +\@psfonts\@ixpt965% +\@cmrset\ninrm\sixrm\fivrm% +\def\ly{\fam\lyfam\ninly}\textfont\lyfam\ninly + \scriptfont\lyfam\sixly \scriptscriptfont\lyfam\fivly +\@setstrut \rm} +\def\@ixpt{} +\def\xpt{\textfont\z@\tenrm + \scriptfont\z@\sevrm \scriptscriptfont\z@\fivrm +\textfont\@ne\tenmi \scriptfont\@ne\sevmi \scriptscriptfont\@ne\fivmi +\textfont\tw@\tensy \scriptfont\tw@\sevsy \scriptscriptfont\tw@\fivsy +\textfont\thr@@\tenex \scriptfont\thr@@\tenex \scriptscriptfont\thr@@\tenex +\def\unboldmath{\everymath{}\everydisplay{}\@nomath\unboldmath + \textfont\@ne\tenmi + \textfont\tw@\tensy \textfont\lyfam\tenly + \@boldfalse}\@boldfalse +\def\boldmath{\@ifundefined{tenmib}{\global\font\tenmib\@mbi + \global\font\tensyb\@mbsy + \global\font\tenlyb\@lasyb\relax\@addfontinfo\@xpt + {\def\boldmath{\everymath{\mit}\everydisplay{\mit}\@prtct\@nomathbold + \textfont\@ne\tenmib \textfont\tw@\tensyb + \textfont\lyfam\tenlyb \@prtct\@boldtrue}}}{}\@xpt\boldmath}% +\@psfonts\@xpt{10}75% +\@cmrset\tenrm\sevrm\fivrm% +\def\ly{\fam\lyfam\tenly}\textfont\lyfam\tenly + \scriptfont\lyfam\sevly \scriptscriptfont\lyfam\fivly +\@setstrut \rm} +\def\@xpt{} +\def\xipt{\textfont\z@\elvrm + \scriptfont\z@\egtrm \scriptscriptfont\z@\sixrm +\textfont\@ne\elvmi \scriptfont\@ne\egtmi \scriptscriptfont\@ne\sixmi +\textfont\tw@\elvsy \scriptfont\tw@\egtsy \scriptscriptfont\tw@\sixsy +\textfont\thr@@\tenex \scriptfont\thr@@\tenex \scriptscriptfont\thr@@\tenex +\def\unboldmath{\everymath{}\everydisplay{}\@nomath\unboldmath + \textfont\@ne\elvmi \textfont\tw@\elvsy + \textfont\lyfam\elvly \@boldfalse}\@boldfalse +\def\boldmath{\@ifundefined{elvmib}{\global\font\elvmib\@mbi\@halfmag + \global\font\elvsyb\@mbsy\@halfmag + \global\font\elvlyb\@lasyb\@halfmag\relax\@addfontinfo\@xipt + {\def\boldmath{\everymath{\mit}\everydisplay{\mit}\@prtct\@nomathbold + \textfont\@ne\elvmib \textfont\tw@\elvsyb + \textfont\lyfam\elvlyb\@prtct\@boldtrue}}}{}\@xipt\boldmath}% +\@psfonts\@xipt{11}86% +\@cmrset\elvrm\egtrm\sixrm% +\def\ly{\fam\lyfam\elvly}\textfont\lyfam\elvly + \scriptfont\lyfam\egtly \scriptscriptfont\lyfam\sixly +\@setstrut \rm} +\def\@xipt{} +\def\xiipt{\textfont\z@\twlrm + \scriptfont\z@\egtrm \scriptscriptfont\z@\sixrm +\textfont\@ne\twlmi \scriptfont\@ne\egtmi \scriptscriptfont\@ne\sixmi +\textfont\tw@\twlsy \scriptfont\tw@\egtsy \scriptscriptfont\tw@\sixsy +\textfont\thr@@\tenex \scriptfont\thr@@\tenex \scriptscriptfont\thr@@\tenex +\def\unboldmath{\everymath{}\everydisplay{}\@nomath\unboldmath + \textfont\@ne\twlmi + \textfont\tw@\twlsy \textfont\lyfam\twlly + \@boldfalse}\@boldfalse +\def\boldmath{\@ifundefined{twlmib}{\global\font\twlmib\@mbi\@magscale1\global + \font\twlsyb\@mbsy \@magscale1\global\font + \twllyb\@lasyb\@magscale1\relax\@addfontinfo\@xiipt + {\def\boldmath{\everymath + {\mit}\everydisplay{\mit}\@prtct\@nomathbold + \textfont\@ne\twlmib \textfont\tw@\twlsyb + \textfont\lyfam\twllyb\@prtct\@boldtrue}}}{}\@xiipt\boldmath}% +\@psfonts\@xiipt{12}86% +\@cmrset\twlrm\egtrm\sixrm% +\def\ly{\fam\lyfam\twlly}\textfont\lyfam\twlly + \scriptfont\lyfam\egtly \scriptscriptfont\lyfam\sixly + \@setstrut \rm} +\def\@xiipt{} +\def\xivpt{\textfont\z@\frtnrm + \scriptfont\z@\tenrm \scriptscriptfont\z@\sevrm +\textfont\@ne\frtnmi \scriptfont\@ne\tenmi \scriptscriptfont\@ne\sevmi +\textfont\tw@\frtnsy \scriptfont\tw@\tensy \scriptscriptfont\tw@\sevsy +\textfont\thr@@\tenex \scriptfont\thr@@\tenex \scriptscriptfont\thr@@\tenex +\def\unboldmath{\everymath{}\everydisplay{}\@nomath\unboldmath + \textfont\@ne\frtnmi \textfont\tw@\frtnsy + \textfont\lyfam\frtnly \@boldfalse}\@boldfalse +\def\boldmath{\@ifundefined{frtnmib}{\global\font + \frtnmib\@mbi\@magscale2\global\font\frtnsyb\@mbsy\@magscale2 + \global\font\frtnlyb\@lasyb\@magscale2\relax\@addfontinfo\@xivpt + {\def\boldmath{\everymath + {\mit}\everydisplay{\mit}\@prtct\@nomathbold + \textfont\@ne\frtnmib \textfont\tw@\frtnsyb + \textfont\lyfam\frtnlyb\@prtct\@boldtrue}}}{}\@xivpt\boldmath}% +\@psfonts\@xivpt{14}{10}7% +\@cmrset\frtnrm\tenrm\sevrm% +\def\ly{\fam\lyfam\frtnly}\textfont\lyfam\frtnly + \scriptfont\lyfam\tenly \scriptscriptfont\lyfam\sevly +\@setstrut \rm} +\def\@xivpt{} +\def\xviipt{\textfont\z@\svtnrm + \scriptfont\z@\twlrm \scriptscriptfont\z@\tenrm +\textfont\@ne\svtnmi \scriptfont\@ne\twlmi \scriptscriptfont\@ne\tenmi +\textfont\tw@\svtnsy \scriptfont\tw@\twlsy \scriptscriptfont\tw@\tensy +\textfont\thr@@\tenex \scriptfont\thr@@\tenex \scriptscriptfont\thr@@\tenex +\def\unboldmath{\everymath{}\everydisplay{}\@nomath\unboldmath + \textfont\@ne\svtnmi \textfont\tw@\svtnsy \textfont\lyfam\svtnly + \@boldfalse}\@boldfalse +\def\boldmath{\@subfont\boldmath\unboldmath}% +\@psfonts\@xviipt{17}{12}{10}% +\@cmrset\svtnrm\twlrm\tenrm% +\def\ly{\fam\lyfam\svtnly}\textfont\lyfam\svtnly + \scriptfont\lyfam\twlly \scriptscriptfont\lyfam\tenly +\@setstrut \rm} +\def\@xviipt{} +\def\xxpt{\textfont\z@\twtyrm + \scriptfont\z@\frtnrm \scriptscriptfont\z@\twlrm +\textfont\@ne\twtymi \scriptfont\@ne\frtnmi \scriptscriptfont\@ne\twlmi +\textfont\tw@\twtysy \scriptfont\tw@\frtnsy \scriptscriptfont\tw@\twlsy +\textfont\thr@@\tenex \scriptfont\thr@@\tenex \scriptscriptfont\thr@@\tenex +\def\unboldmath{\everymath{}\everydisplay{}\@nomath\unboldmath + \textfont\@ne\twtymi \textfont\tw@\twtysy \textfont\lyfam\twtyly + \@boldfalse}\@boldfalse +\def\boldmath{\@subfont\boldmath\unboldmath}% +\@psfonts\@xxpt{20}{14}{12}% +\@cmrset\twtyrm\frtnrm\twlrm% +\def\ly{\fam\lyfam\twtyly}\textfont\lyfam\twtyly + \scriptfont\lyfam\frtnly \scriptscriptfont\lyfam\twlly +\@setstrut \rm} +\def\@xxpt{} +\def\xxvpt{\textfont\z@\twfvrm + \scriptfont\z@\twtyrm \scriptscriptfont\z@\svtnrm +\textfont\@ne\twtymi \scriptfont\@ne\twtymi \scriptscriptfont\@ne\svtnmi +\textfont\tw@\twtysy \scriptfont\tw@\twtysy \scriptscriptfont\tw@\svtnsy +\textfont\thr@@\tenex \scriptfont\thr@@\tenex \scriptscriptfont\thr@@\tenex +\def\unboldmath{\everymath{}\everydisplay{}\@nomath\unboldmath + \textfont\@ne\twtymi \textfont\tw@\twtysy \textfont\lyfam\twtyly + \@boldfalse}\@boldfalse +\def\boldmath{\@subfont\boldmath\unboldmath}% +\@psfonts\@xxvpt{25}{20}{17}% +\@cmrset\twfvrm\twtyrm\svtnrm% +\def\ly{\fam\lyfam\twtyly}\textfont\lyfam\twtyly + \scriptfont\lyfam\twtyly \scriptscriptfont\lyfam\svtnly +\@setstrut \rm} +\def\@xxvpt{} +% +% Fix accents for PostScript fonts (but break them for non-PostScript +% fonts.) -tgr, 6 April 91. +% +\def\H#1{{\accent"CD #1}}\def\.#1{{\accent"C7 #1}} +\def\dot{\mathaccent"70C7 } +\newdimen\aadimen +\def\AA{\leavevmode\setbox0\hbox{h}\aadimen\ht0 + \advance\aadimen-1ex\setbox0\hbox{A}\rlap{\raise.67\aadimen + \hbox to \wd0{\hss\char'27\hss}}A} +\def\pounds{\char163} diff --git a/Build/source/texk/dvipsk/contrib/latex209/psgreek.sty b/Build/source/texk/dvipsk/contrib/latex209/psgreek.sty new file mode 100644 index 00000000000..396976c8dfd --- /dev/null +++ b/Build/source/texk/dvipsk/contrib/latex209/psgreek.sty @@ -0,0 +1,38 @@ +%-------------------------------------------------------------- +%---------- greek.sty --------------------- +%---------- 4/19/90 S. Janowsky ----------- +% +% Include as a style option after times, palatino, or whatever. +% +\def\@mathgreekmap#1{\@cmrscale=\@cmrfam \multiply\@cmrscale by 256 +\advance\@cmrscale by \the#1 \mathchardef#1=\@cmrscale\relax} +\@mathgreekmap{\Gamma} +\@mathgreekmap{\Delta} +\@mathgreekmap{\Theta} +\@mathgreekmap{\Lambda} +\@mathgreekmap{\Xi} +\@mathgreekmap{\Pi} +\@mathgreekmap{\Sigma} +\@mathgreekmap{\Upsilon} +\@mathgreekmap{\Phi} +\@mathgreekmap{\Psi} +\@mathgreekmap{\Omega} +% +\def\@mathaccdefmap#1#2{\@cmrscale=\@cmrfam \multiply\@cmrscale by 256 +\advance\@cmrscale by #2 \edef#1{\mathaccent\the\@cmrscale}\relax} +% +\@mathaccdefmap{\acute}{"0013 } +\@mathaccdefmap{\grave}{"0012 } +\@mathaccdefmap{\ddot}{"007F } +\@mathaccdefmap{\tilde}{"007E } +\@mathaccdefmap{\bar}{"0016 } +\@mathaccdefmap{\breve}{"0015 } +\@mathaccdefmap{\check}{"0014 } +\@mathaccdefmap{\hat}{"005E } +%\@mathaccdefmap{\vec}{"017E } % Not type 00 +\@mathaccdefmap{\dot}{"005F } +%\@mathaccdefmap{\widetilde}{"0365 } % Not type 00 +%\@mathaccdefmap{\widehat}{"0362 } % Not type 00 +% +%---------------------------------------------------- + diff --git a/Build/source/texk/dvipsk/contrib/latex209/rotate.sty b/Build/source/texk/dvipsk/contrib/latex209/rotate.sty new file mode 100644 index 00000000000..0660e117352 --- /dev/null +++ b/Build/source/texk/dvipsk/contrib/latex209/rotate.sty @@ -0,0 +1,53 @@ +% +% These macros allow you to rotate or flip a \TeX\ box. Very useful for +% sideways tables or upsidedown answers. +% +% To use, create a box containing the information you want to rotate. +% (An hbox or vbox will do.) Now call \@rotr\boxnum to rotate the +% material and create a new box with the appropriate (flipped) dimensions. +% \@rotr rotates right, \@rotl rotates left, \@rotu turns upside down, and +% \@rotf flips. These boxes may contain other rotated boxes. +% +\newdimen\@rotdimen +\newbox\@rotbox + +\def\@vspec#1{\special{ps:#1}}% passes #1 verbatim to the output +\def\@rotstart#1{\@vspec{gsave currentpoint currentpoint translate + #1 neg exch neg exch translate}}% #1 can be any origin-fixing transformation +\def\@rotfinish{\@vspec{currentpoint grestore moveto}}% gets back in synch +% +% First, the rotation right. The reference point of the rotated box +% is the lower right corner of the original box. +% +\def\@rotr#1{\@rotdimen=\ht#1\advance\@rotdimen by\dp#1% + \hbox to\@rotdimen{\hskip\ht#1\vbox to\wd#1{\@rotstart{90 rotate}% + \box#1\vss}\hss}\@rotfinish} +% +% Next, the rotation left. The reference point of the rotated box +% is the upper left corner of the original box. +% +\def\@rotl#1{\@rotdimen=\ht#1\advance\@rotdimen by\dp#1% + \hbox to\@rotdimen{\vbox to\wd#1{\vskip\wd#1\@rotstart{270 rotate}% + \box#1\vss}\hss}\@rotfinish}% +% +% Upside down is simple. The reference point of the rotated box +% is the upper right corner of the original box. (The box's height +% should be the current font's xheight, \fontdimen5\font, +% if you want that xheight to be at the baseline after rotation.) +% +\def\@rotu#1{\@rotdimen=\ht#1\advance\@rotdimen by\dp#1% + \hbox to\wd#1{\hskip\wd#1\vbox to\@rotdimen{\vskip\@rotdimen + \@rotstart{-1 dup scale}\box#1\vss}\hss}\@rotfinish}% +% +% And flipped end for end is pretty ysae too. We retain the baseline. +% +\def\@rotf#1{\hbox to\wd#1{\hskip\wd#1\@rotstart{-1 1 scale}% + \box#1\hss}\@rotfinish}% +% +% Now the user interface for LaTeX: \rotate[type]{text} where +% ``type'' is `l' for left, `r' for right, `u' for upside-down, or +% `f' for flip. `l' is the default. +% +\def\rotate{\@ifnextchar[{\@rotate}{\@rotate[l]}} +\def\@rotate[#1]#2{\setbox\@rotbox=\hbox{#2}\@nameuse{@rot#1}\@rotbox} + diff --git a/Build/source/texk/dvipsk/contrib/latex209/times.sty b/Build/source/texk/dvipsk/contrib/latex209/times.sty new file mode 100644 index 00000000000..3e384c8fee8 --- /dev/null +++ b/Build/source/texk/dvipsk/contrib/latex209/times.sty @@ -0,0 +1,11 @@ +% latex style with times roman text but cm math italic. + +\def\@mrm{ptmr}% times - roman +\def\@mit{ptmri}% times - italic +\def\@msl{ptmro}% times - oblique +\def\@mbf{ptmb}% times - bold +\def\@mcsc{ptmrc}% times - roman - small caps +\def\@mtt{pcrr}% courier +\def\@mss{phvr}% helvetica + +\input psfonts.sty diff --git a/Build/source/texk/dvipsk/contrib/treen.sh b/Build/source/texk/dvipsk/contrib/treen.sh new file mode 100644 index 00000000000..33270559f5b --- /dev/null +++ b/Build/source/texk/dvipsk/contrib/treen.sh @@ -0,0 +1,40 @@ +#!/bin/csh +# Tests font reencoding +afm2tfm Times-Roman.afm -v ptmr0 rptmr0 +afm2tfm Times-Roman.afm -P extex.enc -v ptmr1 rptmr1 +afm2tfm Times-Roman.afm -T extex.enc -v ptmr2 rptmr2 +afm2tfm Times-Roman.afm -t extex.enc -v ptmr3 rptmr3 +afm2tfm Times-Roman.afm -T extex.enc -V ptmr4 rptmr4 +# these three should all be the same +cmp rptmr4.tfm rptmr2.tfm +cmp rptmr4.tfm rptmr1.tfm +# these two should be the same +cmp rptmr0.tfm rptmr3.tfm +afm2tfm Times-Roman.afm -T extex.enc -V ptmr4 rptmr2 +vptovf ptmr0.vpl ptmr0.vf ptmr0.tfm +vptovf ptmr1.vpl ptmr1.vf ptmr1.tfm +vptovf ptmr2.vpl ptmr2.vf ptmr2.tfm +vptovf ptmr3.vpl ptmr3.vf ptmr3.tfm +vptovf ptmr4.vpl ptmr4.vf ptmr4.tfm +tex testfont <<EOF +ptmr0 +\leftline{\bf Normal (original) Times-Roman; Standard + Text} +\sample\init +rptmr0 +\table\vfill\eject\init +ptmr1 +\leftline{\bf Times-Roman; Extended + Text} +\sample\init +rptmr1 +\table\vfill\eject\init +ptmr2 +\leftline{\bf Times-Roman; Extended + Extended} +\sample\vfill\eject\init +ptmr3 +\leftline{\bf Times-Roman; Standard + Extended} +\sample\vfill\eject\init +ptmr4 +\leftline{\bf Times-Roman Small Caps; Extended + Extended} +\sample\bye +EOF +dvips testfont -t testfont.ps diff --git a/Build/source/texk/dvipsk/contrib/treen2.sh b/Build/source/texk/dvipsk/contrib/treen2.sh new file mode 100644 index 00000000000..7c5da3a4a13 --- /dev/null +++ b/Build/source/texk/dvipsk/contrib/treen2.sh @@ -0,0 +1,12 @@ +#!/bin/csh +# Tests font reencoding +afm2tfm Times-Roman.afm -T funky.enc -v ptmr9 rptmr9 +vptovf ptmr9.vpl ptmr9.vf ptmr9.tfm +tex testfont <<EOF +ptmr9 +\leftline{\bf Funky Times-Roman; Standard + Funky} +\sample +Y through x or x. pp and then pp and then pp. pp//pp//pp. ++ // pippy +\bye +EOF +dvips testfont -o testfont.ps diff --git a/Build/source/texk/dvipsk/contrib/volker/README b/Build/source/texk/dvipsk/contrib/volker/README new file mode 100644 index 00000000000..f2138917eda --- /dev/null +++ b/Build/source/texk/dvipsk/contrib/volker/README @@ -0,0 +1,149 @@ +NOTE S Rahtz 1998/01/18: renamed files to suite 8+3 <name>.cfg style +******************************************************************** + +Release 1.13, 21 Aug 1995 +Release 1.12, 02 Mar 1995 +Release 1.0, 20 Feb 1995 + +This is a set of files which can be used with dvips to control certain +parameters of the printer, like simplex/duplex printing, or screen +frequencies of images. + +Put together by Volker Kuhlmann, VOLKER@ELEC.CANTERBURY.AC.NZ. +No copyright. Freely distributable. If you make additions, please send +me a copy. + + +LIST OF FILES +============= + +README This file. +config.* Configuration files and header files for dvips. Special + format which serves both purposes. + + +INSTALLATION +============ + +Copy these files into a directory which is searched by dvips both for +configuration files and for header files. dvips looks in $TEXCONFIG for +configuration files, and in $DVIPSHEADERS for header files. For details +please see the dvips documentation. + + +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 stuff provided: + +-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. On a simplex printer, this will be + ignored. +-P dupshort On a duplex printer, force duplex printing with binding + on the short edge. On a simplex printer, this will be + ignored. +-P a3 Print on A3 paper. + Note: this is just a demo - use "-t a3" instead! +-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! +-P screenN Print images with a screen frequency of N lpi at + 45 degrees. + N = {70, 80, 85, 90, 100, 110, 120, 130, 140, 150} +-P screen100-0 Print images with a screen frequency of 100lpi + at 0 degrees. + +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. + + +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). diff --git a/Build/source/texk/dvipsk/contrib/volker/a3.cfg b/Build/source/texk/dvipsk/contrib/volker/a3.cfg new file mode 100644 index 00000000000..380359026f7 --- /dev/null +++ b/Build/source/texk/dvipsk/contrib/volker/a3.cfg @@ -0,0 +1,17 @@ +% config.a3 +% Configuration file for dvips. Load with: dvips -P a3. +% +% Forces printing on A3 paper. +% +% This file is built so it can be used both as the header file for +% PostScript and as the configuration file for dvips. +% (Note that dvips ignores any lines beginning with a space or a "%".) +% +% Volker Kuhlmann, 21 Feb 1995 +% VOLKER@ELEC.CANTERBURY.AC.NZ +% + a3 +% + { % start a procedure so PostScript `ignores' the dvips options. +h config.a3 + } pop % PostScript cleanup diff --git a/Build/source/texk/dvipsk/contrib/volker/duplong.cfg b/Build/source/texk/dvipsk/contrib/volker/duplong.cfg new file mode 100644 index 00000000000..4c5d1f7cff9 --- /dev/null +++ b/Build/source/texk/dvipsk/contrib/volker/duplong.cfg @@ -0,0 +1,19 @@ +% config.duplong +% Configuration file for dvips. Load with: dvips -P duplong. +% +% Prints in duplex mode with binding on the long edge. +% Ignored on a simplex printer. +% Works on HP LaserJet IIISi. +% +% This file is built so it can be used both as the header file for +% PostScript and as the configuration file for dvips. +% (Note that dvips ignores any lines beginning with a space or a "%".) +% +% Volker Kuhlmann, 20 Feb 1995 +% VOLKER@ELEC.CANTERBURY.AC.NZ +% + statusdict begin true setduplexmode false settumble end +% + { % start a procedure so PostScript `ignores' the dvips options. +h config.duplong + } pop % PostScript cleanup diff --git a/Build/source/texk/dvipsk/contrib/volker/dupshort.cfg b/Build/source/texk/dvipsk/contrib/volker/dupshort.cfg new file mode 100644 index 00000000000..b025ba95696 --- /dev/null +++ b/Build/source/texk/dvipsk/contrib/volker/dupshort.cfg @@ -0,0 +1,19 @@ +% config.dupshort +% Configuration file for dvips. Load with: dvips -P dupshort. +% +% Prints in duplex mode with binding on the short edge. +% Ignored on a simplex printer. +% Works on HP LaserJet IIISi. +% +% This file is built so it can be used both as the header file for +% PostScript and as the configuration file for dvips. +% (Note that dvips ignores any lines beginning with a space or a "%".) +% +% Volker Kuhlmann, 20 Feb 1995 +% VOLKER@ELEC.CANTERBURY.AC.NZ +% + statusdict begin true setduplexmode true settumble end +% + { % start a procedure so PostScript `ignores' the dvips options. +h config.dupshort + } pop % PostScript cleanup diff --git a/Build/source/texk/dvipsk/contrib/volker/inv.cfg b/Build/source/texk/dvipsk/contrib/volker/inv.cfg new file mode 100644 index 00000000000..7b6223c92d4 --- /dev/null +++ b/Build/source/texk/dvipsk/contrib/volker/inv.cfg @@ -0,0 +1,21 @@ +% config.inv +% Configuration file for dvips. Load with: dvips -P inv. +% +% Invert the printing. +% This currently mucks up the first of the pages printed. +% +% This file is built so it can be used both as the header file for +% PostScript and as the configuration file for dvips. +% (Note that dvips ignores any lines beginning with a space or a "%".) +% +% Volker Kuhlmann, 20 Feb 1995 +% VOLKER@ELEC.CANTERBURY.AC.NZ +% + %[{} + /exec load currenttransfer /exec load] cvx settransfer + [{1 exch sub} /exec load currenttransfer /exec load] cvx settransfer + %/fPP true def +% + { % start a procedure so PostScript `ignores' the dvips options. +h config.inv + } pop % PostScript cleanup diff --git a/Build/source/texk/dvipsk/contrib/volker/scr100-0.cfg b/Build/source/texk/dvipsk/contrib/volker/scr100-0.cfg new file mode 100644 index 00000000000..1f30f67010d --- /dev/null +++ b/Build/source/texk/dvipsk/contrib/volker/scr100-0.cfg @@ -0,0 +1,21 @@ +% config.screen100-0 +% Configuration file for dvips. Load with: dvips -P screen100-0. +% +% Sets screen frequency and angle for images to 100lpi/0degree. +% +% This file is built so it can be used both as the header file for +% PostScript and as the configuration file for dvips. +% (Note that dvips ignores any lines beginning with a space or a "%".) +% +% Volker Kuhlmann, 20 Feb 1995 +% VOLKER@ELEC.CANTERBURY.AC.NZ +% + 100 0 + % "Dot" function: + {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 +% + { % start a procedure so PostScript `ignores' the dvips options. +h config.screen100-0 + } pop % PostScript cleanup diff --git a/Build/source/texk/dvipsk/contrib/volker/scr100.cfg b/Build/source/texk/dvipsk/contrib/volker/scr100.cfg new file mode 100644 index 00000000000..636a7c373d5 --- /dev/null +++ b/Build/source/texk/dvipsk/contrib/volker/scr100.cfg @@ -0,0 +1,21 @@ +% config.screen100 +% Configuration file for dvips. Load with: dvips -P screen100. +% +% Sets screen frequency and angle for images to 100lpi/45degree. +% +% This file is built so it can be used both as the header file for +% PostScript and as the configuration file for dvips. +% (Note that dvips ignores any lines beginning with a space or a "%".) +% +% Volker Kuhlmann, 20 Feb 1995 +% VOLKER@ELEC.CANTERBURY.AC.NZ +% + 100 45 + % "Dot" function: + {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 +% + { % start a procedure so PostScript `ignores' the dvips options. +h config.screen100 + } pop % PostScript cleanup diff --git a/Build/source/texk/dvipsk/contrib/volker/scr110.cfg b/Build/source/texk/dvipsk/contrib/volker/scr110.cfg new file mode 100644 index 00000000000..6b3f4d19f00 --- /dev/null +++ b/Build/source/texk/dvipsk/contrib/volker/scr110.cfg @@ -0,0 +1,21 @@ +% config.screen110 +% Configuration file for dvips. Load with: dvips -P screen110. +% +% Sets screen frequency and angle for images to 110lpi/45degree. +% +% This file is built so it can be used both as the header file for +% PostScript and as the configuration file for dvips. +% (Note that dvips ignores any lines beginning with a space or a "%".) +% +% Volker Kuhlmann, 20 Feb 1995 +% VOLKER@ELEC.CANTERBURY.AC.NZ +% + 110 45 + % "Dot" function: + {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 +% + { % start a procedure so PostScript `ignores' the dvips options. +h config.screen110 + } pop % PostScript cleanup diff --git a/Build/source/texk/dvipsk/contrib/volker/scr120.cfg b/Build/source/texk/dvipsk/contrib/volker/scr120.cfg new file mode 100644 index 00000000000..fe878ece24a --- /dev/null +++ b/Build/source/texk/dvipsk/contrib/volker/scr120.cfg @@ -0,0 +1,21 @@ +% config.screen120 +% Configuration file for dvips. Load with: dvips -P screen120. +% +% Sets screen frequency and angle for images to 120lpi/45degree. +% +% This file is built so it can be used both as the header file for +% PostScript and as the configuration file for dvips. +% (Note that dvips ignores any lines beginning with a space or a "%".) +% +% Volker Kuhlmann, 20 Feb 1995 +% VOLKER@ELEC.CANTERBURY.AC.NZ +% + 120 45 + % "Dot" function: + {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 +% + { % start a procedure so PostScript `ignores' the dvips options. +h config.screen120 + } pop % PostScript cleanup diff --git a/Build/source/texk/dvipsk/contrib/volker/scr130.cfg b/Build/source/texk/dvipsk/contrib/volker/scr130.cfg new file mode 100644 index 00000000000..aa8f96bc85d --- /dev/null +++ b/Build/source/texk/dvipsk/contrib/volker/scr130.cfg @@ -0,0 +1,21 @@ +% config.screen130 +% Configuration file for dvips. Load with: dvips -P screen130. +% +% Sets screen frequency and angle for images to 130lpi/45degree. +% +% This file is built so it can be used both as the header file for +% PostScript and as the configuration file for dvips. +% (Note that dvips ignores any lines beginning with a space or a "%".) +% +% Volker Kuhlmann, 20 Feb 1995 +% VOLKER@ELEC.CANTERBURY.AC.NZ +% + 130 45 + % "Dot" function: + {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 +% + { % start a procedure so PostScript `ignores' the dvips options. +h config.screen130 + } pop % PostScript cleanup diff --git a/Build/source/texk/dvipsk/contrib/volker/scr140.cfg b/Build/source/texk/dvipsk/contrib/volker/scr140.cfg new file mode 100644 index 00000000000..2dfc4acebf3 --- /dev/null +++ b/Build/source/texk/dvipsk/contrib/volker/scr140.cfg @@ -0,0 +1,21 @@ +% config.screen140 +% Configuration file for dvips. Load with: dvips -P screen140. +% +% Sets screen frequency and angle for images to 140lpi/45degree. +% +% This file is built so it can be used both as the header file for +% PostScript and as the configuration file for dvips. +% (Note that dvips ignores any lines beginning with a space or a "%".) +% +% Volker Kuhlmann, 20 Feb 1995 +% VOLKER@ELEC.CANTERBURY.AC.NZ +% + 140 45 + % "Dot" function: + {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 +% + { % start a procedure so PostScript `ignores' the dvips options. +h config.screen140 + } pop % PostScript cleanup diff --git a/Build/source/texk/dvipsk/contrib/volker/scr150.cfg b/Build/source/texk/dvipsk/contrib/volker/scr150.cfg new file mode 100644 index 00000000000..2798e4e5081 --- /dev/null +++ b/Build/source/texk/dvipsk/contrib/volker/scr150.cfg @@ -0,0 +1,21 @@ +% config.screen150 +% Configuration file for dvips. Load with: dvips -P screen150. +% +% Sets screen frequency and angle for images to 150lpi/45degree. +% +% This file is built so it can be used both as the header file for +% PostScript and as the configuration file for dvips. +% (Note that dvips ignores any lines beginning with a space or a "%".) +% +% Volker Kuhlmann, 20 Feb 1995 +% VOLKER@ELEC.CANTERBURY.AC.NZ +% + 150 45 + % "Dot" function: + {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 +% + { % start a procedure so PostScript `ignores' the dvips options. +h config.screen150 + } pop % PostScript cleanup diff --git a/Build/source/texk/dvipsk/contrib/volker/scr70.cfg b/Build/source/texk/dvipsk/contrib/volker/scr70.cfg new file mode 100644 index 00000000000..1d5fd85253f --- /dev/null +++ b/Build/source/texk/dvipsk/contrib/volker/scr70.cfg @@ -0,0 +1,21 @@ +% config.screen70 +% Configuration file for dvips. Load with: dvips -P screen70. +% +% Sets screen frequency and angle for images to 70lpi/45degree. +% +% This file is built so it can be used both as the header file for +% PostScript and as the configuration file for dvips. +% (Note that dvips ignores any lines beginning with a space or a "%".) +% +% Volker Kuhlmann, 20 Feb 1995 +% VOLKER@ELEC.CANTERBURY.AC.NZ +% + 70 45 + % "Dot" function: + {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 +% + { % start a procedure so PostScript `ignores' the dvips options. +h config.screen70 + } pop % PostScript cleanup diff --git a/Build/source/texk/dvipsk/contrib/volker/scr80.cfg b/Build/source/texk/dvipsk/contrib/volker/scr80.cfg new file mode 100644 index 00000000000..32c8ab16a31 --- /dev/null +++ b/Build/source/texk/dvipsk/contrib/volker/scr80.cfg @@ -0,0 +1,21 @@ +% config.screen80 +% Configuration file for dvips. Load with: dvips -P screen80. +% +% Sets screen frequency and angle for images to 80lpi/45degree. +% +% This file is built so it can be used both as the header file for +% PostScript and as the configuration file for dvips. +% (Note that dvips ignores any lines beginning with a space or a "%".) +% +% Volker Kuhlmann, 20 Feb 1995 +% VOLKER@ELEC.CANTERBURY.AC.NZ +% + 80 45 + % "Dot" function: + {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 +% + { % start a procedure so PostScript `ignores' the dvips options. +h config.screen80 + } pop % PostScript cleanup diff --git a/Build/source/texk/dvipsk/contrib/volker/scr85.cfg b/Build/source/texk/dvipsk/contrib/volker/scr85.cfg new file mode 100644 index 00000000000..1fec0c09efa --- /dev/null +++ b/Build/source/texk/dvipsk/contrib/volker/scr85.cfg @@ -0,0 +1,21 @@ +% config.screen85 +% Configuration file for dvips. Load with: dvips -P screen85. +% +% Sets screen frequency and angle for images to 85lpi/45degree. +% +% This file is built so it can be used both as the header file for +% PostScript and as the configuration file for dvips. +% (Note that dvips ignores any lines beginning with a space or a "%".) +% +% Volker Kuhlmann, 02 Mar 1995 +% VOLKER@ELEC.CANTERBURY.AC.NZ +% + 85 45 + % "Dot" function: + {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 +% + { % start a procedure so PostScript `ignores' the dvips options. +h config.screen85 + } pop % PostScript cleanup diff --git a/Build/source/texk/dvipsk/contrib/volker/scr90.cfg b/Build/source/texk/dvipsk/contrib/volker/scr90.cfg new file mode 100644 index 00000000000..a02a707d1c5 --- /dev/null +++ b/Build/source/texk/dvipsk/contrib/volker/scr90.cfg @@ -0,0 +1,21 @@ +% config.screen90 +% Configuration file for dvips. Load with: dvips -P screen90. +% +% Sets screen frequency and angle for images to 90lpi/45degree. +% +% This file is built so it can be used both as the header file for +% PostScript and as the configuration file for dvips. +% (Note that dvips ignores any lines beginning with a space or a "%".) +% +% Volker Kuhlmann, 20 Feb 1995 +% VOLKER@ELEC.CANTERBURY.AC.NZ +% + 90 45 + % "Dot" function: + {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 +% + { % start a procedure so PostScript `ignores' the dvips options. +h config.screen90 + } pop % PostScript cleanup diff --git a/Build/source/texk/dvipsk/contrib/volker/simplex.cfg b/Build/source/texk/dvipsk/contrib/volker/simplex.cfg new file mode 100644 index 00000000000..bdf5160430c --- /dev/null +++ b/Build/source/texk/dvipsk/contrib/volker/simplex.cfg @@ -0,0 +1,19 @@ +% config.simplex +% Configuration file for dvips. Load with: dvips -P simplex. +% +% Forces printing in simplex mode on a duplex printer. +% Ignored on a simplex printer. +% Works on HP LaserJet IIISi. +% +% This file is built so it can be used both as the header file for +% PostScript and as the configuration file for dvips. +% (Note that dvips ignores any lines beginning with a space or a "%".) +% +% Volker Kuhlmann, 20 Feb 1995 +% VOLKER@ELEC.CANTERBURY.AC.NZ +% + statusdict begin false setduplexmode end +% + { % start a procedure so PostScript `ignores' the dvips options. +h config.simplex + } pop % PostScript cleanup diff --git a/Build/source/texk/dvipsk/contrib/whichinpath b/Build/source/texk/dvipsk/contrib/whichinpath new file mode 100644 index 00000000000..a45177bb212 --- /dev/null +++ b/Build/source/texk/dvipsk/contrib/whichinpath @@ -0,0 +1,13 @@ +#!/bin/sh +# +# Useful with the backtick execution special; helps to find PostScript +# files on TEXINPUTS. Contributed by S. P. Q. Rahtz. +# +pathList=`echo ${TEXINPUTS:=.:/usr/local/tex/inputs} | tr ':' ' '` +theFile=$1 + +for p in $pathList +do + test -f $p/$theFile && { echo $p/$theFile; exit 0; } +done +exit 1 |