[comp.unix.ultrix] Previewing PostScript files, or dvi files.

rr@csuna.cs.uh.edu (Ravindran Ramachandran) (09/26/89)

Hi,
  I have just been through the process of getting the latest version
of TeX, metafont and all the other goodies from SCORE disected. I got
the dvi2ps program (to convert from dvi to PostScript), and I am able
to print the PostScript output on my LN03R. However, none of the stuff
that I picked up seems to have a previewer running under X11. X10 is
the only closest thing. Any suggestions or good news as to access to
a previewer running successfully under X11 / XUI?

  Now for a little configuration information. I have the RISC time-warp
DS3100s (Yes, they are still steadily losing time :-(, is this a
hardware problem?). Under DecWindows they have dxpsview, the PS previewer.
Is this a DecPostScript previewer? I cannot get the PS files generated
using dvi2ps to be viewed. I get the error,
%%[ Error: undefined; OffendingCommand: letter ]%%

The file that follows is a Postscript version of the sample file
small.tex that comes with the tex distribution, created using dvi2ps.
I will be grateful for any pointers.

Appreciate the anticipated help,
   -Ravi-

------PostScript file---------------
%!              for use by dvi2ps Version 2.00
% $Header: tex.ps,v 2.0 88/06/07 15:12:32 peterd Rel2 $
% a start (Ha!) at a TeX mode for PostScript.
% The following defines procedures assumed and used by program "dvi2ps"
% and must be downloaded or sent as a header file for all TeX jobs.

% By:  Neal Holtz, Carleton University, Ottawa, Canada
%      <holtz@cascade.carleton.cdn>
%      <holtz%cascade.carleton.cdn@ubc.csnet>
%      June, 1985
%      Last Modified: Aug 25/85
% oystr 12-Feb-1986
%   Changed @dc macro to check for a badly formed bits in character
%   definitions.  Can get a <> bit map if a character is not actually
%   in the font file.  This is absolutely guaranteed to drive the
%   printer nuts - it will appear that you can no longer define a
%   new font, although the built-ins will still be there.
% mackay 4-Jan-1988
%   Changed size of character array to reflect gf usage (256 characters)

% To convert this file into a downloaded file instead of a header
% file, uncomment all of the lines beginning with %-%

%-%0000000 			% Server loop exit password
%-%serverdict begin exitserver
%-%  systemdict /statusdict known
%-%  {statusdict begin 9 0 3 setsccinteractive /waittimeout 300 def end}
%-% if

/TeXDict 200 dict def   % define a working dictionary
TeXDict begin           % start using it.

                        % units are in "dots" (300/inch)
/Resolution 300 def
/Inch  {Resolution mul} def  % converts inches to internal units

/Mtrx 6 array def

%%%%%%%%%%%%%%%%%%%%% Page setup (user) options %%%%%%%%%%%%%%%%%%%%%%%%

% dvi2ps will output coordinates in the TeX system ([0,0] 1" down and in
% from top left, with y +ive downward).  The default PostScript system
% is [0,0] at bottom left, y +ive up.  The Many Matrix Machinations in
% the following code are an attempt to reconcile that. The intent is to
% specify the scaling as 1 and have only translations in the matrix to
% properly position the text.  Caution: the default device matrices are
% *not* the same in all PostScript devices; that should not matter in most 
% of the code below (except for lanscape mode -- in that, rotations of
% -90 degrees resulted in the the rotation matrix [ e 1 ]
%                                                 [ 1 e ]
% where the "e"s were almost exactly but not quite unlike zeros.

/@letter
  { letter initmatrix
    72 Resolution div dup neg scale          % set scaling to 1.
    310 -3005 translate      % move origin to top (these are not exactly 1"
    Mtrx currentmatrix pop   % and -10" because margins aren't set exactly right)
  } def
        % note mode is like letter, except it uses less VM
/@note
  { note initmatrix
    72 Resolution div dup neg scale          % set scaling to 1.
    310 -3005 translate                      % move origin to top
    Mtrx currentmatrix pop
  } def

/@landscape
  { letter initmatrix
    72 Resolution div dup neg scale          % set scaling to 1.
%    -90 rotate                              % it would be nice to be able to do this
    Mtrx currentmatrix 0 0.0 put             % but instead we have to do things like this because what
    Mtrx 1 -1.0 put                          % should be zero terms aren't (and text comes out wobbly)
    Mtrx 2 1.0 put                           % Fie!  This likely will not work on QMS printers
    Mtrx 3 0.0 put                           % (nor on others where the device matrix is not like
    Mtrx  setmatrix                          %  like it is on the LaserWriter).
    300 310  translate                       % move origin to top
    Mtrx currentmatrix pop
  } def

/@legal
  { legal initmatrix
    72 Resolution div dup neg scale          % set scaling to 1.
    295 -3880 translate                      % move origin to top
    Mtrx currentmatrix pop
  } def

/@manualfeed
   { statusdict /manualfeed true put
     statusdict /manualfeedtimeout 300 put  % 5 minutes
   } def
        % n @copies -   set number of copies
/@copies
   { /#copies exch def
   } def

%%%%%%%%%%%%%%%%%%%% Procedure Defintions %%%%%%%%%%%%%%%%%%%%%%%%%%

/@newfont       % id @newfont -         -- initialize a new font dictionary
  { /newname exch def
    pop
    newname 7 dict def          % allocate new font dictionary
    newname load begin
        /FontType 3 def
        /FontMatrix [1 0 0 -1 0 0] def
        /FontBBox [0 0 1 1] def
% mackay 4-Jan-1987 changed size of array from 128 to 256 for gf fonts
        /BitMaps 256 array def
        /BuildChar {CharBuilder} def
        /Encoding 256 array def
        0 1 255 {Encoding exch /.undef put} for
        end
    newname newname load definefont pop
  } def


% the following is the only character builder we need.  it looks up the
% char data in the BitMaps array, and paints the character if possible.
% char data  -- a bitmap descriptor -- is an array of length 6, of 
%          which the various slots are:

/ch-image {ch-data 0 get} def   % the hex string image
/ch-width {ch-data 1 get} def   % the number of pixels across
/ch-height {ch-data 2 get} def  % the number of pixels tall
/ch-xoff  {ch-data 3 get} def   % number of pixels below origin
/ch-yoff  {ch-data 4 get} def   % number of pixels to left of origin
/ch-tfmw  {ch-data 5 get} def   % spacing to next character

/CharBuilder    % fontdict ch Charbuilder -     -- image one character
  { /ch-code exch def           % save the char code
    /font-dict exch def         % and the font dict.
    /ch-data font-dict /BitMaps get ch-code get def     % get the bitmap descriptor for char
    ch-data null eq not
      { ch-tfmw   0   ch-xoff neg   ch-yoff neg   ch-width ch-xoff sub   ch-height ch-yoff sub
            setcachedevice
        ch-width ch-height true [1 0  0 1  ch-xoff ch-yoff]
            {ch-image} imagemask
      }
    if
  } def


/@sf            % fontdict @sf -        -- make that the current font
  { setfont() pop
  } def

                % in the following, the font-cacheing mechanism requires that
                % a name unique in the particular font be generated

/@dc            % char-data ch @dc -    -- define a new character bitmap in current font
  { /ch-code exch def
% ++oystr 12-Feb-86++
    dup 0 get
    length 2 lt
      { pop [ <00> 1 1 0 0 8.00 ] } % replace <> with null
    if
% --oystr 12-Feb-86--
    /ch-data exch def
    currentfont /BitMaps get ch-code ch-data put
    currentfont /Encoding get ch-code 
       dup (   ) cvs cvn   % generate a unique name simply from the character code
       put
  } def

/@bop0           % n @bop0 -              -- begin the char def section of a new page
  { 
  } def

/@bop1           % n @bop1 -              -- begin a brand new page
  { pop
    erasepage initgraphics 
    Mtrx setmatrix
    /SaveImage save def() pop
  } def

%--  tjh sept. 87: if this page has a mac drawing on it, we have to
%--  use showpage in the md dictionary.
/@eop           % - @eop -              -- end a page
  {
    userdict /md known {
	userdict /md get type /dicttype eq {
	    md /MacDrwgs known {
		md begin showpage end
	    }{
		showpage
	    } ifelse
	}{
	    showpage
	} ifelse
    }{
	showpage
    } ifelse
    SaveImage restore() pop
  } def

/@start         % - @start -            -- start everything
  { @letter                             % (there is not much to do)
  } def

/@end           % - @end -              -- done the whole shebang
  { end
  } def

/p              % x y p -               -- move to position
  { moveto
  } def

/r              % x r -                 -- move right
  { 0 rmoveto
  } def

/s              % string s -            -- show the string
  { show
  } def

/c              % ch c -                -- show the character (code given)
  { c-string exch 0 exch put
    c-string show
  } def

/c-string ( ) def

/ru             % dx dy ru -   -- set a rule (rectangle)
  { /dy exch neg def    % because dy is height up from bottom
    /dx exch def
    /x currentpoint /y exch def def   % remember current point
    newpath x y moveto
    dx 0 rlineto
    0 dy rlineto
    dx neg 0 rlineto
    closepath fill
    x y moveto
  } def

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%     the \special command junk
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%   The structure of the PostScript produced by dvi2ps for \special is:
%         @beginspecial
%           - any number of @hsize, @hoffset, @hscale, etc., commands
%         @setspecial
%           - the users file of PostScript commands
%         @endspecial

% The @beginspecial command recognizes whether the Macintosh Laserprep
% has been loaded or not, and redfines some Mac commands if so.
% The @setspecial handles the users shifting, scaling, clipping commands

%-- tjh sept. 87: made changes to allow postscript and macdrawing to
%-- to be inserted with version 65 of the md dictionary.  Many bugs
%-- were fixed:
%--	vo changed to vof, name conflict with md
%--	vs changed to vsz, name conflict with md
%--	substantially changed @setspecial and @MacSetUp
%-- Also, made changes to allow users to specify offsets
%-- and clip rectangles in inches.

% The following are user settable options from the \special command.

/@SpecialDefaults
  { /hs 8.5 72 mul def
    /vsz 11 72 mul def
    /ho 0 def
    /vof 0 def
    /hsc 1 def
    /vsc 1 def
    /CLIP false def
  } def

%       d @hsize -      specify a horizontal clipping dimension
%                       these 2 are executed before the MacDraw initializations
/@hsize {72 mul /hs exch def /CLIP true def} def
/@vsize {72 mul /vsz exch def /CLIP true def} def

%       d @hoffset -    specify a shift for the drwgs
/@hoffset {72 mul /ho exch def} def
/@voffset {72 mul /vof exch def} def

%       s @hscale -     set scale factor
/@hscale {/hsc exch def} def
/@vscale {/vsc exch def} def

/@setclipper
  { hsc vsc scale
    CLIP
      { newpath 0 0 moveto hs 0 rlineto 0 vsz rlineto hs neg 0 rlineto closepath clip }
    if
  } def

% this will be invoked as the result of a \special command (for the
% inclusion of PostScript graphics).  The basic idea is to change all
% scaling and graphics back to defaults, but to shift the origin
% to the current position on the page.  Due to TeXnical difficulties,
% we only set the y-origin.  The x-origin is set at the left edge of
% the page.

/@beginspecial
  { gsave /SpecialSave save def
          % the following magic incantation establishes the current point as
          % the users origin, and reverts back to default scalings, rotations
    currentpoint transform initgraphics itransform translate
    @SpecialDefaults    % setup default offsets, scales, sizes
    @MacSetUp           % fix up Mac stuff 
  } def


%--  tjh: assume this is raw postscript, but save some state in case its not.
/@setspecial
  {
    /specmtrx matrix currentmatrix def
    ho vof translate @setclipper
  } def


/@endspecial
  { SpecialSave restore
    grestore
  } def


% - @MacSetUp -   turn-off/fix-up all the MacDraw stuff that might hurt us
                % we depend on 'psu' being the first procedure executed
                % by a Mac document.  We redefine 'psu' to adjust page
                % translations, and to do all other the fixups required.
                % This stuff will not harm other included PS files
/@MacSetUp
  { userdict /md known  % if md is defined
      { userdict /md get type /dicttype eq      % and if it is a dictionary
         {
           md begin                             % then redefine some stuff
              /psu                              % redfine psu to set origins, etc.
                /psu load
                        % this procedure contains almost all the fixup code
                {
%		  /letter {} def    % it is bad manners to execute the real
%		  /note {} def      %  versions of these (clears page image, etc.)
%		  /legal {} def
		  /MacDrwgs true def
		  specmtrx setmatrix % restore pre-@setspecial state.
		  initclip	     % ditto
		  % change smalls to prevent page clearing.
		  /smalls [ lnop lnop lnop lnop lnop lnop lnop lnop lnop ] def
		  0 0 0 0 ppr astore pop  % prevents origin translation.
		  % redifine cp, do the showpage later, see @eop
                  /cp {
			pop
			pop
			pm restore
		  } def 		 	% no printing of pages
                }
                concatprocs 
              def
              /od
		% redefine od to translate and scale.
		% redfine load to set clipping region.
                /od load
                {
		  ho vof translate
		  hsc vsc scale
		  CLIP {
		      /nc
			/nc load
			{ newpath 0 0 moveto hs 0 rlineto 0 vsz rlineto
			hs neg 0 rlineto closepath clip }
			concatprocs
		      def
		  } if
		}
                concatprocs
              def
           end }
        if }
    if    
  } def

%       p1 p2 concatprocs p       - concatenate procedures
/concatprocs
  { /p2 exch cvlit def 
    /p1 exch cvlit def
    /p p1 length p2 length add array def
    p 0 p1 putinterval 
    p p1 length p2 putinterval
    p cvx
  } def

end                     % revert to previous dictionary
TeXDict begin @start
%%Title: small.dvi
%%Creator: dvi2ps
%%EndProlog
1 @bop0
[ 432 ] /cmbx10.432 @newfont
cmbx10.432 @sf
[<7FFFFE7FFFFE7FFFFE7FFFFE00FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF
  0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00F8FF00FFFF00FF
  FF00FFFF0007FF00007F00001F00000700> 24 39 -5 0 34.370] 49 @dc
[<E01FF000F0FFFE00FFFFFF00FFFFFFC0FFE01FE0FF000FE0FE0007F0FC0007F0F80003F8F00003F8F00003F8F00003F8F000
  07F8000007F800000FF800001FF80001FFF8003FFFF001FFFFF007FFFFE00FFFFFC01FFFFFC03FFFFF007FFFFE007FFFF800
  FFFF8000FFF80000FF800000FF0001E0FF0001E0FE0001E0FE0003E0FE0003E07E0007E07F000FE03F001FE03FC07FE01FFF
  FFE00FFFFFE003FFF1E0007F80E0> 32 41 -4 0 38.189] 83 @dc
[<FFFF00FFFF00FFFF00FFFF000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0
  000FF0000FF0000FF0000FF0000FF0000FF000FFF000FFF000FFF000FFF00000000000000000000000000000000000000007
  80000FE0001FF0003FF0003FF0003FF0003FF0001FF0000FE000078000> 24 43 -2 0 19.094] 105 @dc
[<FFFF1FFFC7FFF0FFFF1FFFC7FFF0FFFF1FFFC7FFF0FFFF1FFFC7FFF00FF003FC00FF000FF003FC00FF000FF003FC00FF000F
  F003FC00FF000FF003FC00FF000FF003FC00FF000FF003FC00FF000FF003FC00FF000FF003FC00FF000FF003FC00FF000FF0
  03FC00FF000FF003FC00FF000FF003FC00FF000FF003FC00FF000FF803FE00FF000FF803FE00FF000FFC03FF00FF000FFC03
  FF00FF000FFE03FF80FF00FFEF87FBE1FE00FFE7FFF1FFFC00FFE1FFE07FF800FFE03F800FE000> 56 27 -3 0 57.283] 109 @dc
[<FFFF000000FFFF000000FFFF000000FFFF0000000FF00000000FF00000000FF00000000FF00000000FF00000000FF0000000
  0FF00000000FF00000000FF1FE00000FF7FF80000FFFFFE0000FFE0FF8000FFC07FC000FF803FE000FF003FE000FF001FF00
  0FF001FF000FF000FF800FF000FF800FF000FF800FF000FF800FF000FF800FF000FF800FF000FF800FF000FF800FF000FF80
  0FF001FF000FF001FF000FF001FE000FF003FE000FFC07FC00FFFE0FF800FFFFFFF000FFF7FFC000FFF0FE0000> 40 39 -2 12 38.189] 112 @dc
[<FFFF00FFFF00FFFF00FFFF000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0
  000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000F
  F0000FF0000FF0000FF0000FF000FFF000FFF000FFF000FFF000> 24 42 -2 0 19.094] 108 @dc
[<001FF00000FFFE0003FFFF800FFC0FC01FF003C03FE003E03FC001E07FC000007F800000FF800000FF800000FF800000FF80
  0000FFFFFFE0FFFFFFE0FFFFFFE0FF800FE0FF800FE07F800FE07F801FC03FC01FC03FC03FC01FE03F800FF07F0003FFFE00
  01FFF800003FE000> 32 27 -2 0 31.506] 101 @dc
[<00FFFFFFE00000FFFFFFE00000FFFFFFE00000FFFFFFE00000007FC0000000007FC0000000007FC0000000007FC000000000
  7FC0000000007FC0000000007FC0000000007FC0000000007FC0000000007FC0000000007FC0000000007FC0000000007FC0
  000000007FC0000000007FC0000000007FC0000000007FC0000000007FC0000000007FC0000000007FC00000F0007FC001E0
  F0007FC001E0F0007FC001E0F0007FC001E0F0007FC001E0F8007FC003E0F8007FC003E0F8007FC003E07C007FC007C07C00
  7FC007C07E007FC00FC07F807FC03FC07FFFFFFFFFC07FFFFFFFFFC07FFFFFFFFFC07FFFFFFFFFC0> 48 40 -2 0 47.819] 84 @dc
[<FFF83FFF80FFF83FFF80FFF83FFF80FFF83FFF8003E01FF00001F03FE00000F83FC000007C7F8000007EFF8000003EFF0000
  001FFE0000000FFC00000007FC00000007F80000000FF00000001FF00000003FF80000003FFC0000007FFC000000FF3E0000
  01FF1F000001FE0F800003FC0FC000FFFE1FFF00FFFE1FFF00FFFE1FFF00FFFE1FFF00> 40 27 -1 0 36.280] 120 @dc
[<003F8000FFC001FFF003FCF007F8F807F87807F87807F87807F87807F87807F87807F80007F80007F80007F80007F80007F8
  0007F80007F80007F80007F80007F80007F800FFFFF0FFFFF0FFFFF01FFFF007F80003F80003F80001F80000F80000F80000
  F800007800007800007800007800> 24 38 -1 0 26.732] 116 @dc
[ 300 ] /cmr10.300 @newfont
cmr10.300 @sf
[<001C00380000001C00380000001C00380000003E007C0000003E007C0000003E007C0000007F00FE0000007F00FE0000007F
  00FE0000007D81F6000000F981F3000000F981F3000000F8C3E3000001F0C3E1800001F0C3E1800001F067C1800003E067C0
  C00003E067C0C00003E03FC0C00007C03F80600007C03F80600007C03F8060000F801F0030000F801F0030000F803F003000
  1F803E007800FFF1FFE1FF00FFF1FFE1FF00> 48 28 -1 0 42.663] 87 @dc
[<03F0000FFC001E1E00380700780780700380F003C0F003C0F003C0F003C0F003C0F003C07003807807803807001E1E000FFC
  0003F000> 24 18 -1 0 20.755] 111 @dc
[<FFE0FFE01E001E001E001E001E001E001E001E001E001E001E701EF81EF81FF8FFF0FFE0> 16 18 -1 0 16.258] 114 @dc
[<07E7F00FF7F01E1F80380F80780780700780F00780F00780F00780F00780F00780F007807007807807803807801E1F800FFF
  8003E780000780000780000780000780000780000780000780000780000780003F80003F80> 24 29 -1 0 23.061] 100 @dc
[<8F80FFE0F070E038C038C038007807F81FF07FE07FC0FE00F000E030E03070703FF01FB0> 16 18 -1 0 16.373] 115 @dc
[<0F8F803FFFC0787FE0F03E60F01E60F01E60F01E00781E003C1E001FFE0007FE00001E00381E007C1E007C1E007C3C003FF8
  001FE000> 24 18 -1 0 20.755] 97 @dc
[<03E00FF81E0C3C0678067000F000F000F000F000FFFEFFFE700E781E381C1C380FF003E0> 16 18 -1 0 18.449] 101 @dc
[<FFC000FFC0001E00001E00001E00001E00001E00001E00001E7C001FFF001F87801E03C01E01E01E01E01E00F01E00F01E00
  F01E00F01E00F01E00F01E01E01E01E01E03C01F8780FFFF00FE7E00> 24 26 -1 8 23.061] 112 @dc
[<03C00FE00E601E301E301E301E301E301E001E001E001E001E001E001E001E00FFE0FFE03E001E000E000E00060006000600
  0600> 16 26 -1 0 16.143] 116 @dc
[<187C001DFF001F87801E01C01E01E01E00E01E00F01E00F01E00F01E00F01E00F01E00F01E00E01E01E01E01C01F87801FFF
  001E7E001E00001E00001E00001E00001E00001E00001E00001E00001E0000FE0000FE0000> 24 29 -1 0 23.061] 98 @dc
[<3C00007E0000C70000C18000F9800070C00000C00000C00000E00000E00000E00001F00001F00003F80003D80003D80007DC
  00078C00078C000F06000F06000F06001E03001E0780FF8FE0FF8FE0> 24 26 -1 8 21.908] 121 @dc
[<FFCFF0FFCFF01E07801E07801E07801E07801E07801E07801E07801E07801E07801E07801E07801E07801F07801F8F00FEFF
  00FE7E00> 24 18 -1 0 23.061] 110 @dc
[<FFCFF9FF00FFCFF9FF001E03C078001E03C078001E03C078001E03C078001E03C078001E03C078001E03C078001E03C07800
  1E03C078001E03C078001E03C078001F03E078001F03E078001F87B0F000FEFF9FF000FE3E07C000> 40 18 -1 0 34.592] 109 @dc
[<03E00FF81E0C3C0678067800F000F000F000F000F000F0007038787C387C1E7C0FF803F0> 16 18 -1 0 18.449] 99 @dc
[<70F8F8F870> 8 5 -3 0 11.531] 46 @dc
[<FFF800FFF8000F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000FFF800FFFE00F80F00F80780F80
  3C0F803E0F803E0F803E0F803E0F803E0F803E0F803C0F80780F80F0FFFFE0FFFF80> 24 28 -2 0 28.250] 80 @dc
[<07F8001FFE003C0F00700380E001C0E001C0E001C0E001C07007C03FFF801FFF003FFE003FF80070000070000037E0003FF0
  003C3C00381C00781E00781E00781E00781E00381D803C3DC00FFFC007E380> 24 27 -1 9 20.755] 103 @dc
[<FFCFF0FFCFF01E07801E07801E07801E07801E07801E07801E07801E07801E07801E07801E07801E07801F07801F8F001EFF
  001E7E001E00001E00001E00001E00001E00001E00001E00001E00001E0000FE0000FE0000> 24 29 -1 0 23.061] 104 @dc
[<FFC0FFC01E001E001E001E001E001E001E001E001E001E001E001E001E001E001E001E001E001E001E001E001E001E001E00
  1E001E00FE00FE00> 16 29 0 0 11.531] 108 @dc
[<FF9FE0FF9FE01E1F001E1E001E3E001E3C001E7C001E78001FF0001FF0001FE0001EE0001E60001E30001E18001E3E001E7F
  C01E7FC01E00001E00001E00001E00001E00001E00001E00001E00001E0000FE0000FE0000> 24 29 -1 0 21.908] 107 @dc
[<FFC0FFC01E001E001E001E001E001E001E001E001E001E001E001E001E001E00FE00FE000000000000000000000000001C00
  3E003E003E001C00> 16 29 0 0 11.531] 105 @dc
[<07FFFC0007FFFC00001F0000001F0000001F0000001F0000001F0000001F0000001F0000001F0000001F0000001F0000001F
  0000001F0000001F0000001F0000001F0000001F0000C01F0060C01F0060C01F0060C01F0060E01F00E0601F00C0701F01C0
  781F03C07FFFFFC07FFFFFC0> 32 28 -1 0 29.979] 84 @dc
[<03E7F00FF7F00E1F801E0F801E07801E07801E07801E07801E07801E07801E07801E07801E07801E07801E07801E0780FE3F
  80FE3F80> 24 18 -1 0 23.061] 117 @dc
[<7F87FC007F87FC000F03C0000F03C0000F03C0000F03C0000F03C0000F03C0000F03C0000F03C0000F03C0000F03C0000F03
  C0000F03C0000F03C0000F03C000FFFFFC00FFFFFC000F03C0000F03C0000F03C0000F03C0000F03C0000F07C1C00707C3E0
  0787E3E003E3F3E000FFFFC0003F0F80> 32 29 0 0 24.214] 11 @dc
[<FF9FF8FF9FF80F0780070F00031F00019E0001FC0000FC0000780000F00000F00001F80003DC0003CC000786000F87807FCF
  F07FCFF0> 24 18 0 0 21.908] 120 @dc
[<7F87F87F87F80F03C00F03C00F03C00F03C00F03C00F03C00F03C00F03C00F03C00F03C00F03C00F03C00F03C00F03C0FFFF
  C0FFFFC00F00000F00000F00000F00000F03800F07C00707C00787C003E38000FF80003F00> 24 29 0 0 23.061] 12 @dc
[<FFFFC000FFFFF0000F80FC000F803E000F800F000F800F800F8007800F8007C00F8003C00F8003C00F8003E00F8003E00F80
  03E00F8003E00F8003E00F8003E00F8003E00F8003E00F8003C00F8003C00F8007C00F8007800F800F000F801F000F803E00
  0F80FC00FFFFF000FFFFC000> 32 28 -2 0 31.709] 68 @dc
[<003FF0003FF000078000078000078000078000078000078003E7800FF7801E1F803C0F80780780780780F00780F00780F007
  80F00780F00780F007807807807807803C0F801E1B800FF38003E180> 24 26 -1 8 21.908] 113 @dc
[<70F8F8F870000000000000000070F8F8F870> 8 18 -3 0 11.531] 58 @dc
[<38387C7CFCFCFCFCF8F8C0C0C0C0C0C060606060303018180808> 16 13 -5 -16 20.755] 92 @dc
[<404060603030181818180C0C0C0C0C0C7C7CFCFCFCFCF8F87070> 16 13 -1 -16 20.755] 34 @dc
[<83F800CFFC00FC0F00F00700E00380C00380C003C0C003C00003C00007C00007C0003F8003FF800FFF001FFE003FFC007FF0
  00FF0000F80000F80000F00180F00180F003807003807807803C1F801FF98007E080> 24 28 -2 0 23.061] 83 @dc
[<387CFCFCF8C0C0C06060301808> 8 13 -2 -16 11.531] 96 @dc
[<FFE0FFE0FFE0> 16 3 0 -8 13.837] 45 @dc
[<40603018180C0C0C7CFCFCF870> 8 13 -3 -16 11.531] 39 @dc
[<FFFFF0FFFFF00F81F00F80700F80700F80300F80380F80180F80180F80180F80180F80000F80000F80000F80000F80000F80
  000F80000F80000F80000F80000F80000F80000F80000F80000F8000FFFC00FFFC00> 24 28 -2 0 25.944] 76 @dc
[<FFFFFFFFFF80FFFFFFFFFF80> 48 2 0 -10 41.510] 124 @dc
[<FFF8FFF80F800F800F800F800F800F800F800F800F800F800F800F800F800F800F800F800F800F800F800F800F800F800F80
  0F80FFF8FFF8> 16 28 -1 0 14.990] 73 @dc
[ 300 ] /cmti10.300 @newfont
cmti10.300 @sf
[<1E003F8079C078C0786078603C203C003C003C001E001E001E001E000F000F00FFE0FFE0078007800780078003C003C003C0
  0180> 16 26 -3 0 13.790] 116 @dc
[<600F00F01F80781CC0783C60781E60781E603C1E203C0F003C0F003C0F001E07801E07801E07801F07800F07800FC7800FFF
  000F3E0007800007800007800007800003C00003C00003C00003C00003E0001FE0000FE000> 24 29 -2 0 21.216] 104 @dc
[<1E003F00398078C03CC03CC03C401E001E001E000F000F00C780C780678037803F000E000000000000000000000000000180
  01C001E000C0> 16 28 -3 0 12.730] 105 @dc
[<1F007FC0E0E0F060F0707070207807F80FF01FF01FE01F801E301C780E3C061807F801F0> 16 18 -3 0 16.973] 115 @dc
[<1E1E003FBF0071FB00F0F980E07980F07980F03C80F03C00F03C00F03C00781E00781E00381E003C1E001C1F000E1F0007FF
  0001E600> 24 18 -4 0 21.216] 97 @dc
[<3C007E00F600F300F300F30079007800780078003C003C003C003C001E001E001E001E000F000F000F000F00078007800780
  078007C03FC01FC0> 16 29 -3 0 10.608] 108 @dc
[<0F803FE07878701CF008F000F000F000F000F0007800780038181C3C1E1E0F0C03FC00F8> 16 18 -4 0 19.094] 99 @dc
[<0F803FE03878701C7008F000F000F000F000FFC07FF07838380C3C0C1C0C0F0C03FC00F0> 16 18 -4 0 19.094] 101 @dc
[<38F0007DFC00CF8E00E78600F78300F7830073C10003C00003C00003C00001E00001E600C1EF0061EF0061F70031F3001FDF
  000F8E00> 24 18 -3 0 19.256] 120 @dc
cmr10.300 @sf
[<FFFFE000FFFFF8000F80FC000F803E000F803E000F801F000F801F000F801F000F801F000F801F000F801E000F803E000F80
  7C000F80F8000FFFE0000FFFF0000F80F8000F807C000F803E000F803E000F803E000F803E000F803E000F803C000F807C00
  0F80F800FFFFF000FFFFC000> 32 28 -2 0 29.403] 66 @dc
[ 300 ] /cmbx10.300 @newfont
cmbx10.300 @sf
[<03E007F80F981F9C1F9C1F9C1F9C1F801F801F801F801F801F801F801F80FFFCFFFC3FFC0F800F8007800780038003800380
  0380> 16 26 -1 0 18.564] 116 @dc
[<FFF3FF00FFF3FF00FFF3FF001F81F8001F81F8001F81F8001F81F8001F81F8001F81F8001F81F8001F81F8001F81F8001F81
  F8001FC1F8001FC1F8001FF1F0001FBFF0001F8FC0001F8000001F8000001F8000001F8000001F8000001F8000001F800000
  1F800000FF800000FF800000FF800000> 32 29 -1 0 26.520] 104 @dc
[<FFF0FFF0FFF01F801F801F801F801F801F801F801F801F801F801F801F80FF80FF80FF80000000000000000000000E001F00
  3F803F803F801F000E00> 16 30 0 0 13.260] 105 @dc
[<CFC0FFF0F878F03CE03CE03C01FC1FFC3FF87FF8FFF0FFC0F800F038F03870783FF80FD8> 16 18 -2 0 18.829] 115 @dc
[<1C1F801EFFE01FE1F01F80F81F807C1F807C1F807E1F807E1F807E1F807E1F807E1F807E1F807C1F807C1F80F81FE1F01FFF
  E01F9F801F80001F80001F80001F80001F80001F80001F80001F8000FF8000FF8000FF8000> 24 29 -1 0 26.520] 98 @dc
[<01FC000FFF801F07C03E03E07C01F07C01F0FC01F8FC01F8FC01F8FC01F8FC01F8FC01F87C01F07C01F03E03E01F07C00FFF
  8001FC00> 24 18 -1 0 23.868] 111 @dc
[<FFF0FFF0FFF01F801F801F801F801F801F801F801F801F801F801F801F801F801F801F801F801F801F801F801F801F801F80
  1F80FF80FF80FF80> 16 29 0 0 13.260] 108 @dc
[<03F3FE0FFFFE1F0FFE3E03F07C03F07C03F0FC03F0FC03F0FC03F0FC03F0FC03F0FC03F07C03F07C03F03E03F01F07F00FFF
  F003FBF00003F00003F00003F00003F00003F00003F00003F00003F0001FF0001FF0001FF0> 24 29 -2 0 26.520] 100 @dc
[<01FC000FFF801F83C03E01C07E00E07C0000FC0000FC0000FC0000FFFFE0FFFFE0FC03E07C03E07C03C03E07C01F0F800FFF
  0001FC00> 24 18 -1 0 21.879] 101 @dc
[<FF9FFEFF9FFEFF9FFE0F0FC0079FC003DF8001FF0000FE0000FE0000FC0001FC0003FC0007FE0007EF000FC780FFC7FCFFC7
  FCFFC7FC> 24 18 -1 0 25.194] 120 @dc
[ 300 ] /cmbx12.300 @newfont
cmbx12.300 @sf
[<7FFFE07FFFE07FFFE003F80003F80003F80003F80003F80003F80003F80003F80003F80003F80003F80003F80003F80003F8
  0003F80003F80003F80003F80003F80003F80003F80003F80003F800FFF800FFF800FFF80003F800007800001800> 24 32 -4 0 28.019] 49 @dc
[<3C007E00FF00FF00FF00FF007E003C00> 16 8 -4 0 15.566] 46 @dc
[<FFF01FFFF8FFF01FFFF8FFF01FFFF8070000FF00038001FE00038001FE0003C003FE0001C003FC0001FFFFFC0001FFFFFC00
  00FFFFF80000E00FF80000700FF00000700FF00000781FF00000381FE00000381FE000001C3FC000001C3FC000001E7FC000
  000E7F8000000E7F8000000FFF80000007FF00000007FF00000003FE00000003FE00000003FE00000001FC00000001FC0000
  0000F800000000F800000000F800000000700000> 40 34 -2 0 42.317] 65 @dc
[<0000E0000E00000001F0001F00000001F0001F00000001F0001F00000003F8003F80000003F8003F80000003FC007F800000
  07FC007FC0000007FC007FC000000FFE00FFE000000FFE00FFE000000FFE00FFE000001FF701FFF000001FE701FE7000001F
  E783FE7000003FE383FC3800003FC383FC3800003FC3C7FC3800007F81C7F81C00007F81C7F81C0000FF80EFF81E0000FF00
  EFF00E0000FF00EFF00E0001FF007FE00F0001FE007FE0070001FE007FE0070003FE003FC0038003FC003FC0038003FC007F
  C0038007F8007F8001C007F8007F8001C0FFFF8FFFF83FFEFFFF8FFFF83FFEFFFF8FFFF83FFE> 56 34 -1 0 57.883] 87 @dc
[<0FC07F001FF8FF003FFDFF007F0FF000FE07F000FE03F000FE03F000FE03F0007F03F0007F83F0003FE3F0000FFFF00001FF
  F0000003F0001C03F0003E03F0007F03F0007F07E0007F0FE0003FFFC0001FFF800007FC0000> 32 22 -2 0 27.241] 97 @dc
[<FFF800FFF800FFF8001F80001F80001F80001F80001F80001F80001F80001F80001F80001F80001F80001F83801F87C01FCF
  E01FCFE01FEFE0FFFFC0FF7F80FF3E00> 24 22 -2 0 22.888] 114 @dc
[<FFF1FFC0FFF1FFC0FFF1FFC01F807E001F807E001F807E001F807E001F807E001F807E001F807E001F807E001F807E001F80
  7E001F807E001F807E001F807E001FC07E001FE07E001FF0FC00FFBFFC00FF9FF800FF87E000> 32 22 -2 0 31.133] 110 @dc
[<FFF0FFF0FFF01F801F801F801F801F801F801F801F801F801F801F801F801F801F801F801F80FF80FF80FF80000000000000
  0000000000000E003F003F807F807F803F803F000E00> 16 36 -1 0 15.566] 105 @dc
[<01FFC0000FFFF8001FFFFC003F007E007C001F00F8000F80F8000F80F8000F80F8000F807C003F803FFFFF001FFFFF001FFF
  FE003FFFF8003FFFE0003C000000380000003800000039FC00001FFF00001FFFC0003F07E0003E03E0007E03F0007E03F000
  7E03F0007E03F0007E03F2003E03E7003F07EF801FFFFF8007FF7F0001FC1E00> 32 33 -1 11 28.019] 103 @dc
[<00FE0007FFC00FFFE01F83F03F01F87E00FC7E00FCFE00FEFE00FEFE00FEFE00FEFE00FEFE00FEFE00FE7E00FC7E00FC7E00
  FC3F01F81F83F00FFFE007FFC000FE00> 24 22 -2 0 28.019] 111 @dc
[<07FFFFF80007FFFFF80007FFFFF8000007F800000007F800000007F800000007F800000007F800000007F800000007F80000
  0007F800000007F800000007F800000007F800000007F800000007F800000007F800000007F800000007F800000007F80000
  0007F80000E007F801C0E007F801C0E007F801C0E007F801C0F007F803C0F007F803C07007F803807807F807807807F80780
  7E07F81F807FFFFFFF807FFFFFFF807FFFFFFF80> 40 34 -2 0 38.973] 84 @dc
[<003C01E000003C01E000007C01F000007E03F000007E03F00000FE03F80000FF07F80001FF07FC0001FF07DC0001FB8FDC00
  03FB8F9E0003F3DF8E0003F1DF0E0007E1DF070007E1FF070007E0FE07000FC0FE03800FC07E03801FC07C03C0FFE3FF8FF8
  FFE3FF8FF8FFE3FF8FF8> 40 22 -1 0 40.472] 119 @dc
cmr10.300 @sf
[<7FF0007FF0000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F0000FFE0
  00FFE0000F00000F00000F00000F00000F00000F0E000F1F00079F0003DF0001FE00007C00> 24 29 0 0 12.684] 102 @dc
[<00E00000E00000E00001F00001F00003F80003D80003D80007DC00078C00078C000F06000F06000F06001E03001E0780FF8F
  E0FF8FE0> 24 18 -1 0 21.908] 118 @dc
[<C0006000300038001C001C000E000E00070007000700038003800380038003C003C003C003C003C003C003C003C003C003C0
  03C003C003800380038003800700070007000E000E001C001C00380030006000C000> 16 42 -2 11 16.143] 41 @dc
[<00C0600001C0700001E0F00001E0F00003E0F80003F1F80003F1F80007B1CC00079BCC00079BCC000F1B86000F0F86000F0F
  86001E0F03001E0F03001E0F0780FF3FCFE0FF3FCFE0> 32 18 -1 0 29.979] 119 @dc
[<406070303018181878F8F8F070> 8 13 -3 8 11.531] 44 @dc
[<FFF80FC0FFF83FE00F807C300F80F8300F80F8000F80F8000F80F8000F80F8000F80F8000F80F8000F80F8000F81F0000F83
  E0000FFFC0000FFFE0000F81F0000F8078000F803C000F803E000F803E000F803E000F803E000F803E000F803C000F807800
  0F81F000FFFFE000FFFF0000> 32 28 -2 0 30.556] 82 @dc
[<FFFCFFFC07800780078007800780078007800780078007800780078007800780078007800780078007800780E780FF801F80
  03800180> 16 27 -3 0 20.755] 49 @dc
[<07E0000FF0001C3800381C00781E00700E00700E00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F
  00F00F00F00F00F00F00700E00700E00781E00381C001C38000FF00007E000> 24 27 -2 0 20.755] 48 @dc
[<00C00180030007000E000E001C001C003800380038007000700070007000F000F000F000F000F000F000F000F000F000F000
  F000F00070007000700070003800380038001C001C000E000E0007000300018000C0> 16 42 -3 11 16.143] 40 @dc
[<70F8F8F87000000000207070707070707070707070F8F8F8F8F8F8F870> 8 29 -3 0 11.531] 33 @dc
[<01800001800007E0001FF00039B800718C00618E00C18600F18700F98700F98700718700218F00019F0001FE0007FE001FFC
  003FF8007FE0007F8000F98000F18E00E19F00E19F00E19F00E18F006186003186003D9C000FF80007E000018000018000> 24 33 -2 2 20.755] 36 @dc
[<07C03F001FF1FF803C1FE1C0780780E0F80F0060F01F8000F03E8000F07CC000F0F8600070F0600039F030001BE018000FC0
  180007C00C0007800C0007801F0007C07FE00F607FE00F3000000F1800000F1800000F0C00000F0C00000F0C0000070C0000
  070C00000398000001F8000000F00000> 32 29 -2 0 32.286] 38 @dc
[<060300000603000006030000070380000301800003018000030180000381C0000180C0000180C0000180C00001C0E0007FFF
  FFF8FFFFFFFC0060300000603000006030000060300000703800003018000030180000301800FFFFFFFC7FFFFFF8001C0E00
  000C0600000C0600000C0600000C0600000E070000060300000603000006030000070380000301800003018000030180> 32 37 -2 8 34.592] 35 @dc
[<0C0003C00E0007E006000E3007001C1803801C1801803C0C01C03C0C00E03C0C00603C0C00703C0C00303C0C00383C0C001C
  1C18000C1C18000E0E30000707E00F0303C01F83800038C1C0007060C0007060E000F0307000F0303000F0303800F0301800
  F0301C00F0300E00F037FE00707FFF007078078038E003801F8001C00F0000C0> 32 33 -2 2 34.592] 37 @dc
[ 300 ] /cmsy10.300 @newfont
cmsy10.300 @sf
[<001F0000FF0001F00003E00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C0
  000780000F0000FE0000F80000FE00000F000007800003C00003C00003C00003C00003C00003C00003C00003C00003C00003
  C00003C00003C00003C00003E00001F00000FF00001F00> 24 41 -2 10 20.755] 102 @dc
[<F80000FF00000F800007C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C0
  0001E00000F000007F00001F00007F0000F00001E00003C00003C00003C00003C00003C00003C00003C00003C00003C00003
  C00003C00003C00003C00007C0000F8000FF0000F80000> 24 41 -2 10 20.755] 103 @dc
1 @bop1
cmbx10.432 @sf
262 307 p 49 c
68 r (Simple) s
23 r 84 c
-5 r (ext) s
cmr10.300 @sf
262 398 p 87 c
-3 r (ords) s
14 r (are) s
15 r (separated) s
16 r 98 c
-1 r 121 c
15 r (one) s
15 r (or) s
15 r (more) s
15 r (spaces.) s
23 r 80 c
0 r (aragraphs) s
14 r (are) s
15 r (separated) s
15 r 98 c
0 r 121 c
14 r (one) s
262 448 p (or) s
13 r (more) s
13 r (blank) s
13 r (lines.) s
18 r (The) s
13 r (output) s
13 r (is) s
13 r (not) s
13 r (a\013ected) s
13 r 98 c
0 r 121 c
12 r (adding) s
13 r (extra) s
13 r (spaces) s
13 r (or) s
13 r (extra) s
262 498 p (blank) s
13 r (lines) s
14 r (to) s
14 r (the) s
14 r (input) s
14 r (\014le.) s
324 548 p (Double) s
16 r (quotes) s
16 r (are) s
16 r 116 c
0 r (yp) s
0 r (ed) s
16 r (lik) s
0 r 101 c
15 r (this:) s
23 r (\\quoted) s
16 r (text".) s
26 r (Single) s
16 r (quotes) s
16 r (are) s
16 r 116 c
0 r (yp) s
0 r (ed) s
262 597 p (lik) s
-1 r 101 c
13 r (this:) s
19 r (`single-quoted) s
13 r (text'.) s
324 647 p (Long) s
14 r (dashes) s
13 r (are) s
14 r 116 c
0 r (yp) s
0 r (ed) s
14 r (as) s
14 r (three) s
14 r (dash) s
14 r 99 c
-1 r (haracters|lik) s
-1 r 101 c
13 r (this.) s
324 697 p (Italic) s
15 r (text) s
15 r (is) s
15 r 116 c
0 r (yp) s
0 r (ed) s
15 r (lik) s
0 r 101 c
14 r (this:) s
cmti10.300 @sf
21 r (this) s
16 r (is) s
16 r (italic) s
16 r (text) s
cmr10.300 @sf
0 r 46 c
22 r (Bold) s
15 r (text) s
15 r (is) s
15 r 116 c
0 r (yp) s
0 r (ed) s
15 r (lik) s
0 r 101 c
14 r (this:) s
cmbx10.300 @sf
262 747 p (this) s
15 r (is) s
16 r 98 c
2 r (old) s
16 r (text) s
cmr10.300 @sf
0 r 46 c
cmbx12.300 @sf
262 863 p (1.1) s
56 r 65 c
18 r 87 c
-3 r (arning) s
17 r (or) s
19 r (Tw) s
-1 r 111 c
cmr10.300 @sf
262 940 p (If) s
15 r 121 c
-1 r (ou) s
14 r (get) s
15 r (to) s
2 r 111 c
15 r 109 c
-1 r (uc) s
-1 r 104 c
14 r (space) s
15 r (after) s
15 r 97 c
15 r (mid-sen) s
0 r (tence) s
14 r 112 c
1 r (erio) s
1 r (d|abbreviations) s
15 r (lik) s
0 r 101 c
14 r (etc.) s
262 989 p (are) s
14 r (the) s
14 r (common) s
14 r (culprits\)|then) s
14 r 116 c
0 r (yp) s
0 r 101 c
15 r 97 c
14 r (bac) s
0 r (kslash) s
13 r (follo) s
0 r 119 c
-1 r (ed) s
13 r 98 c
0 r 121 c
13 r 97 c
14 r (space) s
14 r (after) s
14 r (the) s
262 1039 p 112 c
1 r (erio) s
1 r (d,) s
14 r (as) s
13 r (in) s
14 r (this) s
14 r (sen) s
0 r (tence.) s
324 1089 p (Remem) s
0 r 98 c
0 r (er,) s
20 r (don't) s
19 r 116 c
0 r (yp) s
0 r 101 c
19 r (the) s
19 r (10) s
19 r (sp) s
1 r (ecial) s
19 r 99 c
0 r (haracters) s
18 r (\(suc) s
0 r 104 c
18 r (as) s
19 r (dollar) s
19 r (sign) s
19 r (and) s
262 1139 p (bac) s
-1 r (kslash\)) s
19 r (except) s
21 r (as) s
20 r (directed!) s
37 r (The) s
20 r (follo) s
0 r (wing) s
19 r (sev) s
0 r (en) s
19 r (are) s
20 r (prin) s
0 r (ted) s
19 r 98 c
0 r 121 c
19 r 116 c
0 r (yping) s
19 r 97 c
262 1189 p (bac) s
-1 r (kslash) s
13 r (in) s
14 r (fron) s
0 r 116 c
13 r (of) s
14 r (them:) s
19 r 36 c
14 r 38 c
14 r 35 c
14 r 37 c
17 r 12 2 ru
cmsy10.300 @sf
26 r 102 c
cmr10.300 @sf
14 r (and) s
cmsy10.300 @sf
14 r 103 c
cmr10.300 @sf
0 r 46 c
19 r (The) s
14 r (man) s
0 r (ual) s
13 r (tells) s
14 r (ho) s
0 r 119 c
13 r (to) s
14 r (mak) s
0 r 101 c
262 1238 p (other) s
13 r (sym) s
0 r 98 c
0 r (ols.) s
967 2574 p 49 c
@eop
@end

avolio@decuac.dec.com (Frederick M. Avolio) (09/27/89)

1. I believe that there is a bug in the dxpsview program, but I encourage 
you to submit an SPR even though I have.  The more the merrier :-).  I see
the same problem though.  If you edit the ps file and remove the letter
command it ends up working fine.  I believe that anything that a PS
printer can support, the previewer should.

2. I use xdvi for rpeviewing dvi files and it works great.

Fred

max@Neon.Stanford.EDU (Max Hailperin) (09/27/89)

In article <2748@decuac.DEC.COM> avolio@decuac.dec.com (Frederick M. Avolio) writes:
>
>1. I believe that there is a bug in the dxpsview program, but I encourage 
>you to submit an SPR even though I have.  The more the merrier :-).  I see
>the same problem though.  If you edit the ps file and remove the letter
>command it ends up working fine.  I believe that anything that a PS
>printer can support, the previewer should.

This isn't a bug, it's a documented feature.  There's even a documented
way to override it, namely the "Use Fake Trays"  item in the Options menu.

Note, however, that (as I responded to the original poster) dvi2ps generates
nonstandard PostScript in other more subtle ways that are likely to get
you into trouble down the road.  Rokicki's dvips 4.0 generates 100% standard
PostScript, on the other hand, and has other advantages.  In particular, I
do use it succesfully with dxpsview.  I would recommend switching to it.
You can ftp it as pub/dvips40.tar.Z from labrea.stanford.edu.

>2. I use xdvi for rpeviewing dvi files and it works great.

Right, the only problem is with things like PostScript figures included
in your TeX document.  On the other hand, using dxpsview with a file
generated using the default 300dpi bitmapped computer-modern fonts looks
terrible on a 75dpi screen because dxpsview averages together 16 pixels
to get each one.  (Too bad there isn't a zoom mode, where you see all the
pixels but bigger than life.).  On yet a third hand, this problem goes
away if you tell dvips to generate output for a 75dpi device and give it
the appropriate fonts (which you already must have for xdvi, right?), and
then just regenerate the output seperately for printing.  Alternatively,
you can use the PostScript outline fonts, which dvips supports.

chris@mimsy.UUCP (Chris Torek) (09/28/89)

In article <2748@decuac.DEC.COM> avolio@decuac.dec.com (Frederick M. Avolio)
writes:
>1. I believe that there is a bug in the dxpsview program, but I encourage 
>you to submit an SPR even though I have.  The more the merrier :-).  I see
>the same problem though.  If you edit the ps file and remove the letter
>command it ends up working fine.  I believe that anything that a PS
>printer can support, the previewer should.

This is not really a bug (although dxpsview would be perfectly justified
to accept and ignore `letter', `note', and `legal' commands---incidentally,
you can do this yourself on other printers, if necessary, by using

	<password-here> serverdict begin exitserver
	systemdict begin /letter {} def /note {} def /legal {} def end

which defines letter, note, and legal as empty (no-op) functions in
the system dictionary).  As it turns out, it is instead (or in addition,
if you want to argue that dxpsview should make letter a no-op) a bug
that the PostScript generator is emitting the `letter' call.  This
is an Apple LaserWriter specific function, as you can see by its
place in the PostScript `Red Book'% (Appendix D, I think).

I faced a similar problem with backwards compatibility for the MC-TeX
postscript program, and ended up using the following (warning, this is
only partially tested as yet):

% `Canclobber' controls whether the page selection operators are used.
% On many printers, these clear the frame buffer and set up the graphics
% state.  On others, they may do something different.  In any case, it
% is fairly likely you will not want them here.  The previous system used
% them, though, and you may want them to work as before.
%/canclobber true def % allow paper-mode commands
/canclobber false def % disallow paper-mode commands

% Set default resolution.  We always reset it later, but just in case....
/Resolution 300 def % pixels per inch

% There are three transform matrices carried about:
%
% - DefaultMatrix holds the usual device matrix.
% - SpecialMatrix holds an `extra' transform to be applied to specials.
% - Mtrx holds a matrix used to obtain TeX coordinate space.
%
% The normal (non-landscape) TeX coordinate system has (0,0) at the
% top left corner of the page, and x and y values become more positive
% as one moves rightwards and down respectively.  The landscaped system
% has (0,0) at the lower left corner of the page, and positive x and y
% are upwards and rightwards respectively.  All values are in pixels
% (from the device resolution in Resolution).
%
% Thus, the TeX transform would normally be either [1 0 0 1 0 0]
% (standard pages) or [0 -1 1 0 0 paperheight] (landscaped), but alas,
% things are not quite so simple.  For instance, the LaserWriter that
% Torek had in his office while editing this sentence had an initial
% matrix of [300/72 0 0 300/72 300(-1/4) 300(11-.04)], corresponding
% to a normal 8.5 inch by 11 inch page, except that the translations, which
% one would expect to be 0 and paperheight, are offset.  This is because
% that particular LaserWriter printed about 1/4 inch to the right, and .04
% inches down, from where it should.  We have to make sure that this
% offset is included in our TeX transform.
%
% The device default is assumed to be set up at the beginning of each page,
% and so DefaultMatrix is simply salted away at each BOP.
%
% Although the width does not figure into the calculation above, the
% code below takes it, in case someone has to do something different
% on some other printer.

/DefaultMatrix matrix def % create it now, to be set later, per page

% Little functions to set paper size (in inches) and the landscape flag.
/set@width { /paperwidth exch def } def
/set@height { /paperheight exch def } def
/set@wh { set@height set@width } def
/set@landscape { /landscape exch def } def


% @setmode		modename @setmode -
%
% Sets the mode, if canclobber allows this.  Otherwise it does nothing.
% It does nothing anyway, if the name is not known in any dictionary.
/@setmode {
	dup where { pop canclobber { load exec } if } { pop } ifelse
} bind def

% @setup		- @setup -
%
% This routine creates the TeX matrices.  The paper size and landscape
% flag are used to define the matrices.
/@setup {
	landscape {
		/SpecialMatrix [0 1 -1 0 0 0] def % rotate 90 degrees
		/Mtrx [0 72 Resolution div dup 0 0 0] def
		% [(r/72) 0 0 -(r/72) a b] [Mtrx] = [0 -1 1 0 a b]
	} {
		/SpecialMatrix matrix def % identity
		/Mtrx [72 Resolution div 0 0 2 index neg
			0 paperheight 72 mul] def
		% [(r/72) 0 0 -(r/72) a b] [Mtrx] = [1 0 0 1 a b-(h*r)]
	} ifelse
} bind def

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Document options (must be in opt[] table in postscript.c).
% All are argumentless.  A few appear later in this file.
% Here is a full list:
%	letter note legal a4size legalsize lettersize manualfeed draft

% these do nothing different from their counterparts below if canclobber
% is false
/@a4 { /letter @setmode @a4size } def
/@letter { /letter @setmode @lettersize } def
/@note { /note @setup @lettersize } def
/@legal { /legal @setmode @legalsize } def

/@a4size { 8.5 11.5 set@wh @setup } def
/@legalsize { 8.5 14 set@wh @setup } def
/@lettersize { 8.5 11 set@wh @setup } def
/@notesize { @lettersize } def % for completeness

/@landscape { true set@landscape @setup } def

/@manualfeed {statusdict /manualfeed true put} def

% n @copies - set number of copies
/@copies {/#copies exch def} def

% [much deleted here]

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Begin page, version for pass 0 and pass 1, and end page.
% The pass 0 and 1 versions are called with an array containing the
% ten count values and the absolute page number (in that order).

% called from bop1 to set everything up
/@@bop {
	DefaultMatrix currentmatrix pop % save it away
	/@bop@save save def	% ready to reclaim VM
	@save@state		% save graphics state for \specials
	Mtrx concat		% enter TeX coordinates
	0 0 moveto		% start us off
} bind def

/@BOP0 {pop} bind def

/@BOP1 {pop @@bop} bind def

/@EOP {
	showpage
	@bop@save restore	% put everything back
} bind def

% @DRAFTF and @DRAFTM put the word `draft' in stippled grey
% angled across the front of a page (@DRAFTF) or at the top
% (@DRAFTM) of each page.  These are used by the @draft document
% option.
/@DRAFTF {
	gsave newpath
	/Helvetica-Bold findfont setfont
	(Draft) dup stringwidth pop 8.875 exch div dup 72 mul dup scale
	52.3 rotate 2.5 exch div -.35 translate
	0.95 setgray
	0 0 moveto show
	grestore
} bind def

/@DRAFTM {
	gsave newpath
	/Helvetica-Bold findfont 72 scalefont setfont
	0.95 setgray
	576 702 moveto
	(Draft) dup stringwidth exch neg exch neg rmoveto show
	grestore
} bind def

% @draft document option redefines BOP1:
/@draft {
	/@BOP1 {	% page-vector @BOP1
		0 get 1 le {@DRAFTF} {@DRAFTM} ifelse
		@@bop
	} def
} def

% [much more deleted]

Much of the preceding (including avoiding initmatrix) is due to code
and commentary recieved from Joe Pallas since the beta release of MC-TeX.
-- 
In-Real-Life: Chris Torek, Univ of MD Comp Sci Dept (+1 301 454 7163)
Domain:	chris@mimsy.umd.edu	Path:	uunet!mimsy!chris

riley@batcomputer.tn.cornell.edu (Daniel S. Riley) (09/28/89)

In article <11984@polya.Stanford.EDU> max@Neon.Stanford.EDU (Max Hailperin) writes:
>This isn't a bug, it's a documented feature.  There's even a documented
>way to override it, namely the "Use Fake Trays"  item in the Options menu.

I wrote a reply that said essentially the same thing, but, just before
sending it off, I fired up dxpsview and tested it out.  I couldn't get
it to work.  With "Use Fake Trays" enabled, I could not get dxpsview to
accept any sort of tray command.  So, maybe this is a bug?

-Dan Riley (riley@tcgould.tn.cornell.edu, cornell!batcomputer!riley)
-Wilson Lab, Cornell U.

rr@csunb.cs.uh.edu (Ravindran Ramachandran) (10/01/89)

In article <8955@batcomputer.tn.cornell.edu> riley@tcgould.tn.cornell.edu (Daniel S. Riley) writes:
>In article <11984@polya.Stanford.EDU> max@Neon.Stanford.EDU (Max Hailperin) writes:
>>This isn't a bug, it's a documented feature.  There's even a documented
>>way to override it, namely the "Use Fake Trays"  item in the Options menu.
>
>I wrote a reply that said essentially the same thing, but, just before
>sending it off, I fired up dxpsview and tested it out.  I couldn't get
>it to work.  With "Use Fake Trays" enabled, I could not get dxpsview to
>accept any sort of tray command.  So, maybe this is a bug?
>

I got a couple of replies to my original message that mentioned to use
the "Fake Trays" option. I tried all combinations of this, but it does
not work. So the solutions are,

(1) DVI Previewers:
    (a) xdvi -- you should be able to anonymously ftp it from
                expo.lcs.mit.edu or prep.ai.mit.edu. I still
                haven't looked at it.

    (b) texx2: By Dirk Grunwald. Available in labrea.stanford.edu, in
               /pub. The only problem with it is that it uses `imake'
               and `ximake', which according to the author is a standard
               with X11 software - but DEC does not provide this.

(2) Using PostScript Previewer (dxpsview):
    Convert dvi file to ps using:
    (a) dvips: Available in labrea.stanford.edu. Have not tried it.

    (b) dvi2ps: Modify the tex.ps file that dvi2ps uses to include
                in the header, adding in the following lines anywhere
                after the `TeXDict begin':

% Define command letter if undefined  -Ravi.
/letter where {  %ifelse
	pop
    }{  %else
	/letter {} def
    } ifelse
% End of definition to be included.


  Well, that takes care of that. I think I had previously mentioned
to some to check for these software on score.stanford.edu; I would
like to restate that as to check in labrea.stanford.edu, in /pub
and /pub/tex. Bear with me, I have another posting in the wings
about some oddities of the FORTRAN compiler for the MIPS machines.

   --Ravi-

-------------------------------------------------------------------------------
                                          |          Ravindran Ramachandran
 Internet : rr@cs.uh.edu                  |          System Administrator
          : ramachandran@uh.edu           |          TCSUH, 617 SR1
 CSNET    : rr@houston.edu                |          University of Houston
 BITNET   : coschmd@uhvax1.bitnet         |          4800, Calhoun
                                          |          Houston, TX - 77204.
-------------------------------------------------------------------------------

Disclaimer :  The opinions mentioned here are purely my own (most of the time);
              however, sometimes my opinions are not THAT pure.

grunwald@foobar.colorado.edu (Dirk Grunwald) (10/01/89)

Someone mentioned that DECwindows doesn't come with Imake.  X11R3
comes with `imake' and `ximake' - DECwindows doesn't. This is annoying
because the X consortium put lots of effort in requiring Imakefiles
for contributed X11R3 applications, and all X11R4 applications are
required to have Imakefiles. But, since I'm using a PMAX now....

If you'd like a set of binaries for texx2 on the pmax, I've placed two tar
files on boulder.colorado.edu in pub/TeX.

	texx2-pmax-binaries.tar.Z
		- binaries for texx2, mftobdf and the application
		  defaults file (called Texx2).

		- texx2 looks at the TEXFONTS path for .tfm files,
		  or in /usr/local/lib/tex82/fonts by default.

		- The application defaults file should go in
		  /usr/local/lib/X11/app-defaults/Texx2 (I'm using
		  the MIT toolkit release, because of minor hassles
		  with DECwindows).

		- mftobdf will look for the fontdesc file in
		  /usr/local/lib/tex82/fontdesc, but you can change location
		  that using the TEXFONTDESC environment variable

	texx2-pmax-fonts.tar
		- A 1.3Mb collection of X11 fonts. I stripped the fonts from
		  my lfonts.tex and magnified each entry by 1000 and 1440,
		  so there's a very consistent and usable set of fonts.

This version of texx2 differs in minor ways from previous releases,
and if you haven't fooled with the Texx2.ad application defaults file,
you won't notice much of a change. I've made many more functions
accessible via action procedures, in the (vein) hope of being able to
add a simple menu interface using action procedures. This won't happen
until X11R4, it appears, because I haven't found a good menu package.

If anyone wants source, I can post this new version somewhere; otherwise,
I'll be waiting for X11R4 to pop out.

Dirk Grunwald -- Univ. of Colorado at Boulder	(grunwald@foobar.colorado.edu)

grr@cbmvax.UUCP (George Robbins) (10/02/89)

In article <12262@boulder.Colorado.EDU> grunwald@foobar.colorado.edu writes:
> 
> Someone mentioned that DECwindows doesn't come with Imake.  X11R3
> comes with `imake' and `ximake' - DECwindows doesn't. This is annoying
> because the X consortium put lots of effort in requiring Imakefiles
> for contributed X11R3 applications, and all X11R4 applications are
> required to have Imakefiles. But, since I'm using a PMAX now....

The same old problem...  How do you tell DEC that you really want is:

BSD 4.3 with (optional) DEC extensions - not Ultrixwith 4.x2compatibility.

X with (optional) DECwindows - not DECwindows with broken X.

Seems to be something they find very difficult to understand or undesirable...

-- 
George Robbins - now working for,	uucp: {uunet|pyramid|rutgers}!cbmvax!grr
but no way officially representing	arpa: cbmvax!grr@uunet.uu.net
Commodore, Engineering Department	fone: 215-431-9255 (only by moonlite)