[comp.text] TeXhax Digest V88 #105

TeXhax@cs.washington.edu (TeXhax Digest) (12/03/88)

TeXhax Digest    Tuesday,  December 2, 1988  Volume 88 : Issue 105

Moderators: Tiina Modisett and Pierre MacKay

%%% The TeXhax digest is brought to you as a service of the TeX Users Group %%%
%%%       in cooperation with the UnixTeX distribution service at the       %%%
%%%                      University of Washington                           %%%

Today's Topics:         

                            TeXhax Problems
                         Multipage split tables
           RE: Multi-page tables with page headings on each page
                             Wanted: PStoDVI
      Needed: dvi2proprinter driver for the IBM Proprinter(X24) family
                           LISP Pretty Printer
                         BluTeX discussion list
                  Problems with LaTeX picture environment
                   LaTeX \stackrel for chemical equations
                          Son Of Texpictex.tex 
                    RE: including Macdraw and laserprep 
                     Macintosh illustrations and psfig
                          Questions in TeXtures

-------------------------------------------------------------------------------

Date: Fri, 2 Dec 88 08:49:23 PST
From: mackay (Pierre MacKay)
Subject: TeXhax Problems.

We must appeal for your patience.  These are nightmare days for anyone
involved with a mail system.  As most readers will know by now, one
of the primary targets in the recent invasion of Berkeley 4.3 Unix
systems was the sendmail program, and the often panicky response has
not done the network any good at all.  It is our strong impression that
network performance has declined steadily from issue 100 through 104,
and this is not surprising.  

You are likely to find yourselves receiving truncated copies (many did
of 104 but this also happened with 95, so it is not unique to the
present state) duplicate copies (many did of 103) and heaven knows what else.
Our return mailbox is a minimum of half a Megabyte on each issue now,
and there is an almost equal amount bucked back into the texhax submissions
by mailers which can't or don't read the Errors-to: line.  We have only
minimal control over any of this.  Our people are working long and hard
to control any errors that can be traced to our own mailer, but the
complex topology of the network makes the sources hard to isolate in
some cases.  We expect that things will get worse before they get better.

Since we cannot be sure who got good copies of 104, we will have to
resend.  Please bear with us if you get two copies.

For the BITNET people, We can only say that every address received from
the Stanford list was put onto our server.  We don't know how
to reach the people who are not getting bitnet copies, there is a
traditional logical problem there
   "If you happen to be deaf or dumb
   "Or do not understand a word I say,
   "Then wave your hand to signify as much."    
						A.E. Housman
The BITNET (non)recipients who have communicated directly with us do
not appear explicitly on the SCORE listing, so they must be on some
BITNET remailer or other.  We have certainly tried not to leave any
such remailer out.  In fact we hope to foster them.  

We are hoping that it will be possible to set up a LISTSERV archive of
TeXhax and other things here to serve the BITNET community better.
We can only appeal for patience.  At the moment we are nearly
buried under the more direct mailer problems.

One last, and we hope a positive note.  The trailer now includes a
list of the generally current versions of TeX and Metafont software.
These versions shown represent the versions that have been ported
over a wide range of systems, and should never be more than one
behind what is on SCORE.  (For example, TeX is officially at 2.94,
but we want to know from a few more sites that it works on a wide range
of machines before listing it).  

Email:  modisett@cs.washington.edu		Tiina Modisett
Email:  mackay@cs.washington.edu		Pierre A. MacKay

------------------------------------------------------------------------------

Date: Sun, 20 Nov 88 01:54 PST
From: <ASND%TRIUMFCL.BITNET@uwavm.acs.washington.edu>
Subject: Multipage split tables
Keywords: tables

I may have what Greg McGary is after.
I have a macro for splitting tables, and it is very easy to use:
just put \splittable between two lines of the table.  Unfortunately
it is for my own set of table macros which are too long to post.
The idea though is simple, and should even be usable with LaTeX tables
with a bit of study.

First put the title, \halign command, preamble, and column headings in
one or two global macros.  Use them to start the table.  Somewhere in
the table, between two lines put \splittable which should be defined to

  o end the \halign (\crcr\egroup)
  o say continued
  o end any boxes (\vfil\egroup)
  o end the insert (\endinsert)
  o start new page (\pageinsert etc.)
  o regurgitate the table title
  o regurgitate the table headings.

What this will NOT do is split the table automatically at the bottom of
the page.  To do that would require a different class of insertion for
long tables and then it would be very difficult to preserve the order
of tables in the output.  Besides, I get so few very long tables that
it is easier to split them by hand.

                                   Donald Arseneau
                                   asnd@triumfcl.bitnet
                                   asnd@mtsg.ubc.ca

----------------------------------------------------------------------------

Date: 21-NOV-1988 16:56:34 GMT
From: ABBOTTP%aston.ac.uk@NSS.Cs.Ucl.AC.UK (Peter Abbott)
Subject: RE: Multi-page tables with page headings on each page
Keywords: tables

In TeXhax V88 #100 (the first issue from Washington) Greg McGray asks about 
multi-page tables with column headings on each page.

For LaTeX users:-

There is a file in the Aston Archive ( and probably also in the US 
wherever the score directories are now held) called taj.txh. This is 
supertabular which allows multipage tables with headings repeated on 
continuation pages. Supertabular is described in earlier issues of TeXhax.

Peter


Computing Service     JANET	abbottp@uk.ac.aston
Aston University      ARPA	pabbott@nss.cs.ucl.ac.uk
Aston Triangle	            or  abbottp%uk.ac.aston@nss.cs.ucl.ac.uk
Birmingham B4 7ET     UUCP	...!ukc!aston!abbottp
U.K.		      BITNET	abbottp%uk.ac.aston@ac.uk
Tel (+44) 21 359 5492					     

-------------------------------------------------------------------------------

Date:  Sat, 19 Nov 88 10:54:50 EST
From: spooky!witr@bu-it.BU.EDU
Subject: Wanted: PStoDVI
Keywords: dviware

I know that there are such things as DVItoPS programs that convert
a DVI file to a PS file.  I know that there are PStoXXX programs that
convert a PS file to an XXX file where XXX is some laser printer.  What
I need is a PStoDVI program that would convert a PS file to a DVI file.
It seems that these days a lot of documentation is being distributed in
the form of Postscript files and I dont have a Postscript printer.  I
DO have an old clunky Cannon LBP8A1 (the one with almost no memory) and
I have written a DVItoCANNON program that works nicely with it (which
cannot be said for the Beebe drivers which only work on the A2).  I doubt
that I will find a PStoCANNON program and I sure don't want to write
one!  Hence ``PStoDVI psfile | DVItoCANNON > /dev/cannon''.  What's
a poor TeXhacker to do???

Robert Withrow, R.W. Withrow Assoc., 27 Greenwood Ter., Swampscott, MA 01907
           witr%spooky.UUCP@buita.bu.edu, (Work) +1 617 593 8452.

-------------------------------------------------------------------------------

Date: Tue, 22 Nov 88 09:08:40 EST
From: anderson@secd.cs.umd.edu (Gary Anderson)
Subject: Needed: dvi2proprinter driver for the IBM Proprinter(X24) family
Keywords: dviware

I am looking for a dvi2proprinter driver that will generate rough
drafts for the ibm proprinter(X24) family of printers on ibm ps/2 
machines.  

I suppose I could use/modify dvitty (I have microsoft C.), but I am hoping
that there is a public domain program that drives the printer in graphics mode.

Thanks in advance.

Gary
Organization: UMIACS, Univ. of Maryland, College Park, MD 20742

----------------------------------------------------------------------------

Date: Mon, 21 Nov 88 08:09:10 -0800
From: eric@cs2.wsu.edu
Subject: LISP Pretty Printer
Keywords: printer

Hi TeXXies,
	Does anyone know of a pretty printer for LISP code?  I have been using
Tgrind for other languages, but I miss 'vpr' from BSD for LISP code.  I would
most like something that works with LaTeX.

			Thanks in advance,

			Eric Schneider (eric@cs2.wsu.edu)

-------------------------------------------------------------------------------

Date: Sat, 19 Nov 88 15:11:28 CST
From: J E PITTMAN <JEPTEX@venus.tamu.edu>
Subject: BluTeX discussion list
Keywords: BluTeX, TeX

BluTeX is a TeX format for theses, dissertations, and records of study at Texas
A&M University.  It is public domain and may be ported to other universities 
under the restrictions of proper acknowledgement of the author and proper 
software engineering practices.

I have established a BluTeX discussion list on the list server at TAMVM1.  To 
subscribe to the list, please mail the command:

   subscribe BluTeX-L full_name

to LISTSERV@TAMVM1 (bitnet).  As soon as possible, I will be placing the BluTeX
code and the manual on the list server for distribution. 

I would like to begin a discussion on thesis, et cetera, production using TeX 
beginning two weeks after this submission is redistributed through TeXhax.  One 
of the items that I would like to determine is ``How heterogeneous are the 
thesis requirements of various universities?''

J E Pittman
User Services Group
Computing Services Center
Texas A&M University

P.S.  To send material to myself only, please send mail to the address 
      BluTeX@Venus.TAMU.EDU (internet) or BluTeX@TAMVenus (bitnet).

-------------------------------------------------------------------------------

Date: Sun, 20 Nov 88 13:17 EST
From: Jeffrey Mark Siskind <Qobi@ZERMATT.LCS.MIT.EDU>
Subject: Problems with LaTeX picture environment
Keywords: LaTeX

I have been struggling with the LaTeX picture environment for the
past two days. I am trying to align several superimposed objects.
I have isolated the problem down to a very small core. Here is
the sample problem: I want a square with cross hatching with an
inscribed circle and a disk located at the center whose diameter
is half the length of the side of the square. Enclosed is a 
LaTeX file which is very simple and which prints five obvious
pages most of which fail in alignment. The first page prints
a cross-hatched square with an inscribed circle and disk. It
fails to align. The second page prints a non-cross-hatched square
with a circle and disk and does align. The third page prints
both squares and both circles and fails to align. The fourth
and fifth pages are the same as the first and third but use a
version of the cross-hatched square created by a \savebox
with the dimensions specified while the first and third pages
use a version where \savebox was called without the dimensions
specified.

Help me please, what am I doing wrong?
        Thanks,
        Jeffrey Mark Siskind

% -*- Mode: Latex -*-
\documentstyle{article}
\newcommand{\LastEditDate}{November 20, 1988}
\newcommand{\LastEditTime}{Sunday, 20--November--1988 12:56:46 EST}
\begin{document}
%
\setlength{\unitlength}{0.05in}
\newsavebox{\DarkSquareA}
\savebox{\DarkSquareA}{
\begin{picture}(10,10)
\thinlines
\put(0,0){\framebox(10,10){}}
\put(0,9){\line(1,1){1}}
\put(0,8){\line(1,1){2}}
\put(0,7){\line(1,1){3}}
\put(0,6){\line(1,1){4}}
\put(0,5){\line(1,1){5}}
\put(0,4){\line(1,1){6}}
\put(0,3){\line(1,1){7}}
\put(0,2){\line(1,1){8}}
\put(0,1){\line(1,1){9}}
\put(0,0){\line(1,1){10}}
\put(1,0){\line(1,1){9}}
\put(2,0){\line(1,1){8}}
\put(3,0){\line(1,1){7}}
\put(4,0){\line(1,1){6}}
\put(5,0){\line(1,1){5}}
\put(6,0){\line(1,1){4}}
\put(7,0){\line(1,1){3}}
\put(8,0){\line(1,1){2}}
\put(9,0){\line(1,1){1}}
\end{picture}}
%
\newsavebox{\DarkSquareB}
\savebox{\DarkSquareB}(10,10){
\begin{picture}(10,10)
\thinlines
\put(0,0){\framebox(10,10){}}
\put(0,9){\line(1,1){1}}
\put(0,8){\line(1,1){2}}
\put(0,7){\line(1,1){3}}
\put(0,6){\line(1,1){4}}
\put(0,5){\line(1,1){5}}
\put(0,4){\line(1,1){6}}
\put(0,3){\line(1,1){7}}
\put(0,2){\line(1,1){8}}
\put(0,1){\line(1,1){9}}
\put(0,0){\line(1,1){10}}
\put(1,0){\line(1,1){9}}
\put(2,0){\line(1,1){8}}
\put(3,0){\line(1,1){7}}
\put(4,0){\line(1,1){6}}
\put(5,0){\line(1,1){5}}
\put(6,0){\line(1,1){4}}
\put(7,0){\line(1,1){3}}
\put(8,0){\line(1,1){2}}
\put(9,0){\line(1,1){1}}
\end{picture}}

Hello 18.

\setlength{\unitlength}{0.05in}
\begin{picture}(10,10)
\put(0,0){\usebox{\DarkSquareA}}
\put(5,5){\circle*{5}}
\put(5,5){\circle{10}}
\end{picture}

Goodbye.
\newpage

Hello 18.

\setlength{\unitlength}{0.05in}
\begin{picture}(10,10)
\put(0,0){\framebox(10,10){}}
\put(5,5){\circle*{5}}
\put(5,5){\circle{10}}
\end{picture}

Goodbye.
\newpage

Hello 18.

\setlength{\unitlength}{0.05in}
\begin{picture}(10,10)
\put(0,0){\usebox{\DarkSquareA}}
\put(0,0){\framebox(10,10){}}
\put(5,5){\circle*{5}}
\put(5,5){\circle{10}}
\end{picture}

Goodbye.
\newpage

Hello 18.

\setlength{\unitlength}{0.05in}
\begin{picture}(10,10)
\put(0,0){\usebox{\DarkSquareB}}
\put(5,5){\circle*{5}}
\put(5,5){\circle{10}}
\end{picture}

Goodbye.
\newpage

Hello 18.

\setlength{\unitlength}{0.05in}
\begin{picture}(10,10)
\put(0,0){\usebox{\DarkSquareB}}
\put(0,0){\framebox(10,10){}}
\put(5,5){\circle*{5}}
\put(5,5){\circle{10}}
\end{picture}

Goodbye.

\end{document}

-------------------------------------------------------------------------------

Date:     22-NOV-1988 11:11:43 GMT
From: <CHESIMMIE%CS8700.UCG.IE@Forsythe.Stanford.EDU>
Subject: LaTeX \stackrel for chemical equations
Keywords: LaTeX

The LaTeX command \stackrel{top}{bottom} is fine for most equations,
stacking one symbol above another but does not cope with chemical
reactions too well. For example:

                  Pt/Rh catalyst
4 NH_3 + 5 O_2 --------------------> 4 NO + 6 H_2O
                  1120 K  5 atm

where one would want to have text and/or math both atop and below the
(usually) \longrightarrow .

Does the command \stack{top}{middle}{bottom} exist? Any pointers?

John Simmie                    EARN address: CHESIMMIE@cs8700.ucg.ie
Chemistry Dept.                Tel. (091)24411 ext. 2451
University College, Galway     Fax. (091)25700
Ireland.

------------------------------------------------------------------------------

Date: Tue, 22 Nov 88 12:22:07 CST
From: grunwald%guitar.cs.uiuc.edu@a.cs.uiuc.edu (Dirk Grunwald)
Subject: Son Of Texpictex.tex 
Office: 72 DCL (217) 333-1925
Keywords: macros

Although I am loath to submit another version of this, the following changes
to texpictex.tex clip the line drawing to the bounding box. It works
in the standard way: just say \setboundscheckon.

Actually, this garbage should be done by extending the set of texpic/tpic
specials to provide a ``current clipping region''. Then, while those
changes are being made, you could slip in a modified arc command to avoid
computing arctan() in TeX and a texpic/tpic special to handle quads.
If someone does this, please do write, I'd love to use it.

%
% texpictex.tex -- The following macros over-ride certain definitions in the
% PiCTeX macro package. The net effect is that line-drawing is done using
% the \special's used by texpic (tpic). Several DVI printers understand
% and handle these specials.
%
% Currently, only straight lines are translated. Recently, I added a
% clipping routine to clip to the bounding box.
%
% If people extend this to included elliptic circles and quadratics,
% please forward the extensions to me (quads are used in the \arrow
% macro, making them very slow).
%
% Dirk Grunwald
% Univ. of Illinois
% grunwald@m.cs.uiuc.edu
%
\def\makebangletter{\catcode`\!=11\relax}
\def\makebangother{\catcode`\!=12\relax}
%
\makebangletter
%
% The units that texpic deals in. You should define it this way instead
% of simply saying ``0.001in'' because the difference in resolution
% actually makes a big difference
%
\newdimen\!tpu
\!tpu=1in
\divide\!tpu by 1000
%%%
%%	\!maptpus	-- map a PiCTeX dimension to a TeXPiC dimension
%%			using the \!tpu conversion factor.
%%
%%	uses: dimen0
%%
\def\!maptpus#1#2 {\dimen0=#1\divide \dimen0 by \!tpu #2=\dimen0}
%
% **  \setplotsymbol ({PLOTSYMBOL} [ ] < , >)
% **  Save PLOTSYMBOL away in an hbox for use with curve plotting routines
% **  See Subsection 5.2 of the manual.
\def\setplotsymbol(#1#2){%
  \!setputobject{#1}{#2}
  \setbox\!plotsymbol=\box\!putobject%
  \!plotsymbolxshift=\!xshift 
  \!plotsymbolyshift=\!yshift
%
% Additions: compute size of dot, convert to TPUs and issue a pensize
%  
  \!dimenB=\wd\!plotsymbol
  \!dimenC=\ht\!plotsymbol
  \advance\!dimenC by \dp\!plotsymbol
  \ifdim\!dimenB<\!dimenC \!dimenF=\!dimenC  \else \!dimenF=\!dimenB\fi
  \!maptpus{\!dimenF}{\!countC}
  \special{pn \the\!countC}
  \ignorespaces}

\setplotsymbol({\fiverm .})%       ** initialize plotsymbol

% **  The following routine is used to draw a "solid" line between (xS,yS)
% **  and (xE,yE).  Points are spaced nearly every  \plotsymbolspacing length
% **  along the line.  
%
%	Note: this is a replacement for PicTeX \!linearsolid.
%	If line clipping is enabled, the line to be drawn is
%	clipped using \!clipline. If there's anything left
%	to draw after clipping, it's drawn. If clipping is off,
%	the line is simply drawn. In either case, line drawing
%	is done by \!texpicline.
%
\def\!linearsolid{%
  \let\!nextLinearAct=\!texpicline
  \expandafter\ifx \!initinboundscheck \relax
    \else \!clipline \if!InBounds \else \let\!nextLinearAct=\relax \fi \fi%
  \!nextLinearAct%
}
%
% Texpic has increasing origin in the upper left corner, while
% pictex has origin in bottom left corner. Ergo, we flip the signs
% for y-coordinates.
%
\def\!texpicline{%
\!maptpus{\!xS}{\!countC} \!maptpus{\!yS}{\!countD} \!countD=-\!countD%
\special{pa \the\!countC \space \the\!countD}%
\!maptpus{\!xE}{\!countC} \!maptpus{\!yE}{\!countD} \!countD=-\!countD%
\special{pa \the\!countC \space \the\!countD}\special{fp}%
\ignorespaces}
%
%%%
%	Code to support line clipping
%
%	Line clipping routine. Clips to bounding box specified
%	by (!checkleft, !checkbot) and (!checkright, !checktop).
%	Note that this box is only defined if \initboundscheckon
%	has been called.
%
%	The clipping algorithm was published in ACM TOG Vol 3 No 1
%	by people at Berkeley, but I've forgotten the complete reference.
%	This was translated from a version I wrote in C.
%
%%
%	After calling \!cliplines, !InBounds tells you if the line contains
%	any points within the clipping window.
%
\newif\if!InBounds
%
%%
%	\!clipt	-- this corresponds to the routine by the same name
%	in the published algorithm.
%
%	Dimens used are descibed below. All are grouped and know that
%	PiCTeX doesn't use dimen0..9. Variable names are taken from
%	the TOG article. The junk on the r.h.s. is indenting information
%
%	Globals:	dimen8 corresponds to t0
%			dimen9 corresponds to t1
%
%	clipt		dimen0 corresponds to p
%			dimen1 corresponds to q
%			dimen2 corresponds to r
%
%	!fastclip	Uses bounding boxes
%
%	!clipline	passes dimen3 to clipt as p
%			passes dimen4 to clipt as q
%			uses   dimen0, dimen2
%
%
\def\!clipt#1#2{%
  \dimen0=#1 \relax \dimen1=#2 \relax
  \ifdim \dimen0 < \!zpt%						>0
	\!divide{\dimen1}{\dimen0}{\dimen2}%
	\ifdim \dimen2 > \dimen9%					>1
		\global\!InBoundsfalse
	\else%								=1
		\ifdim \dimen2 > \dimen8 \dimen8=\dimen2 \fi
	\fi%								<1
  \else \ifdim \dimen0 > \!zpt%						=0>1
	\!divide{\dimen1}{\dimen0}{\dimen2}%
	\ifdim \dimen2 < \dimen8%					>2
		\global\!InBoundsfalse
	\else%								=2
		\ifdim \dimen2 < \dimen9 \dimen9=\dimen2 \fi
	\fi%								<2
   \else%								=1
	\ifdim \dimen1 < \!zpt \global\!InBoundsfalse \fi
   \fi%									<1
  \fi%									<0
}
%
%	fastclipcheck
%
\def\!fastclip#1#2{%
  \ifdim #1<\!checkleft \global\!InBoundsfalse \else
    \ifdim #1>\!checkright \global\!InBoundsfalse \else
      \ifdim #2<\!checkbot \global\!InBoundsfalse \else
         \ifdim #2>\!checktop \global\!InBoundsfalse \else
         \fi 
      \fi
    \fi
  \fi}
%
%	clipline	- clip a line to the current bounding box.
%	assumes line is in (!xS, !yS) and extends to (!xE,!yE) and that
%	\!xdiff and \!ydiff has been set up. This is normally done
%	in \!lstart.
%
%	\!clipline first checks to see if the start & end points are
%	conainted in the clipping box. If the simple compare works,
%	then no clipping is done, else \!doclip is called to
%	do the actually clipping computations.
%
\def\!clipline{%
   \!!initinboundscheck
   \!InBoundstrue
   \!fastclip{\!xS}{\!yS}%
   \!fastclip{\!xE}{\!yE}%
   \if!InBounds\else\!doclip\fi}
%
\def\!doclip{%
\begingroup%
  \global\!InBoundstrue%
  \dimen8=0pt
  \dimen9=1pt
  %
  \dimen3=-\!xdiff
  \dimen4=\!xS \advance\dimen4 by -\!checkleft%		fromX-minX
  \!clipt{\dimen3}{\dimen4}%
%
  \if!InBounds% 0
    \dimen3=\!xdiff
    \dimen4=\!checkright \advance\dimen4 by -\!xS%	maxX - fromX
    \!clipt{\dimen3}{\dimen4}%
%
    \if!InBounds% 1
%
      \dimen3=-\!ydiff
      \dimen4=\!yS \advance\dimen4 by -\!checkbot%	fromY-minY
      \!clipt{\dimen3}{\dimen4}%
%
      \if!InBounds% 2
%
        \dimen3=\!ydiff
        \dimen4=\!checktop \advance\dimen4 by -\!yS%	maxY-fromY
        \!clipt{\dimen3}{\dimen4}%
%
	\if!InBounds% 3
	  \dimen0=1pt
%
%	The following \if's truncate the line based on the solution
%	to the parametric solution to the bounding box.
%
%	Note that we don't have a \!multiply, the equivilent to \!divide.
%	The code below compute X * Y as (x / ( 1/ Y)), which is far
%	from optimal.
%
	  \ifdim\dimen9 < \dimen0% 4
	     \!divide{\dimen0}{\dimen9}{\dimen2}%
%
	     \dimen3=\!xdiff \!divide{\dimen3}{\dimen2}{\dimen4}%
	     \global\!xE=\dimen4 \global\advance\!xE by \!xS
%
	     \dimen3=\!ydiff \!divide{\dimen3}{\dimen2}{\dimen4}%
	     \global\!yE=\dimen4 \global\advance\!yE by \!yS
	  \fi% 4
	  \ifdim\dimen8 > \!zpt% 4
	     \!divide{\dimen0}{\dimen8}{\dimen2}%
%
	     \dimen3=\!xdiff \!divide{\dimen3}{\dimen2}{\dimen4}%
	     \global\advance\!xS by \dimen4
%
	     \dimen3=\!ydiff \!divide{\dimen3}{\dimen2}{\dimen4}%
	     \global\advance\!yS by \dimen4
	  \fi% 4
        \fi% 3
      \fi% 2
    \fi% 1
  \fi% 0
\endgroup}
%
\makebangother

----------------------------------------------------------------------------

Date: Tue, 22 Nov 88 08:55:17 pdt
From: mcdonald%loki.edsg@hac2arpa.hac.com (louis mcdonald)
Subject: RE: including Macdraw and laserprep 
Keywords: MacDraw, Laserprep

In the last couple of issues, questions about mixing Macdraw, Macpaint,
or most postscript files from the Macintosh have appeared. In our
environment, we have be successfully mixing the two (TeX and pictures).
We use DVIPS from Arbortext with no problem. NOTE: when using
the pictures, the `printer memory' needs to be reduced in DVIPS, 
otherwise the printer will have problems.

The following is a response I sent out last time, but seemed to
get lost.


>I would like to include MacDraw documents in a Tex file and then
>print the resulting .PS file on a DEC LPS40 printer. I am using 
>DVIALW to convert .DVI files to .PS files and have been
>able to include the sample file given in the DVIALW manual, but
>have not had any luck with MacDraw files. I have a suspicion that
>a special Apple dictionary is required, but don't know enough about
>Postscript etc. to be sure. Any help greatly appreciated.

The infamous Laserprep problem. If I remember correctly, the Macdraw sample
that you have been using with DVIALW has an old laserprep file, or a `hacked'
version. The main problem with Macdraw (or Mac-anything) is having the correct
Postscript dictionary (laserprep-xxx). When we got Arbortext's DVIPS program,
it included a laserprep dictionary. However, our Macs where using Laserprep 40, so
the Postscript output by the Macs would not work with the Laserprep dictionary from
Arbortext. So, we had to move the Laserprep 40 dictonary from the Mac to our Apollo
system. Thanks to Jim Sterken's comments in the Arbortext Laserprep for making it
easy to get the new Laserprep dictionary working.

To get the Laserprep dictionary from your Mac - (from JS's comments)

      To put the PostScript description of a MacDraw document into 
      a file, select the PRINT option, and then LASERWRITER from the 
      menu.  Note that the LaserWriter driver must be installed in 
      order to do this.  When the Mac comes back and says ``printing'', 
      press  <flower>F  together.  A PostScript file will be generated 
      on the disk.  If you press  <flower>K you get a PostScript file 
      prefaced with the LaserPrep file.  We don't know how you get 
      just the LaserPrep file itself, but one approach is to make 
      a document that is trivially short and then edit it---the 
      separation point between the LaserPrep stuff and the regular
      MacDraw figure stuff is obvious.

It should be noted that some items in the Laserprep dictionary need to be
commented out. I have been able to send a MacDraw/MacPaint file to LPS40
with our `fixed' Laserprep.

Things to comment out (based on Laserprep 40 and JS's comments) -

  The next step is to edit a few lines in your LaserPrep file to keep
  it from trying to load itself in the printer permanently, and to keep
  it from blanking the page before printing the figure---both of these
  things cause problems when trying to merge MacDraw figures into TeX
  generated pages containing other material.  It is difficult to explain
  which lines should be edited since this may change with each version
  of LaserPrep released by Apple.  Generally only five to ten lines need
  be commented out to make things work.  The following excerpts from
  Apple's version 36.0 LaserPrep file show the lines we commented out
  to make things work.  If your version of LaserPrep is significantly
  different from this, you are on your own to figure out what must
  be done...  After you've finished making the necessary changes to
  LaserPrep, you should again verify that you are still on the right
  track by concatenating your edited LaserPrep file and your MacDraw
  test figure and transmitting them to your printer.

  File laserprp.pro (excerpts):

      %!
      % LaserPrep.
      %
      % Modified a little to keep it from doing any permanent downloading
      % or page pre-blanking.  All changed lines are marked with "%-jjs-%".
      %
      %    Jim Sterken
      %    ArborText, Inc.
      %    September 6, 1986
      %
      %-jjs-% 0000000000
      % ) CopyRight Apple Computer, Inc. 1984, 1985   All Rights Reserved.
      %{appledict version #36.0
      %-jjs-% serverdict begin exitserver
      systemdict /currentpacking known{currentpacking true setpacking}if
      /LW{save statusdict /product get(LaserWriter)anchorsearch
      exch pop{length 0 eq{1}{2}ifelse}{0}ifelse exch restore}bind def
      /LW+{LW 2 eq}bind def
      /ok{systemdict /statusdict known dup{LW 0 gt and}if}bind def
      %-jjs-% ok{statusdict begin 9 sccinteractive 3 ne exch 0 ne or{9 0 3 setsccinteractive}if
      %-jjs-% waittimeout 300 lt{/waittimeout 300 def}if end}if
      /md 250 dict def md begin
      /av 36.0 def
      
         .
         .
         .

      /fe{tmp /Encoding 2 copy get dup length array copy put}bdf
      /ce{tmp /Encoding get 3 1 roll put}bdf
      %-jjs-%/xs{JJ serverdict begin exitserver}bdf
      %/xs{0 serverdict begin exitserver}bdf
      %-jjs-%
      /bmbc{wd begin
      
         .
         .
         .

      statusdict begin bind end readonly def}if
      systemdict /currentpacking known{setpacking}if
      %-jjs-%currentfile ok userdict /smooth known not and{eexec}{flushfile}ifelse


    In Laserprep 40, there was a LARGE block of hexidecimal values. I had to comment these
    out also. Found out later it was microcode fixes for the Laserwriter (not used by
    our Apollo printer).


    Finally, I was able to successfully host Laserprep 65 into our Postscript environment
    by following these rules.


    Good Luck!!!

    PS. Maybe Laserprep files should be put into an accessible area for easy 
FTPing.
        Or is this a legal problem


Louis McDonald
Company: Hughes Aircraft; El Segundo, CA  90245

-------------------------------------------------------------------------------

>Date: Fri, 4 Nov 88 17:31:18 PST
>From: munson@renoir.Berkeley.EDU (Ethan V. Munson)
>Subject: Macintosh illustrations and psfig
>Keywords: Macintosh, macros, PostScript
>
>I am trying to create documents which include figures generated by
>drawing programs on a Macintosh.  I have the psfig macros and am able to
>use them successfully with hand generated PostScript and with PostScript
>generated by a program called "PS from Mac".  The latter solution is
>the most useful, but the PostScript files created by "PS from Mac" do
>not have a perfect correspondence with the normal Mac output.  I
>would like to do better.
>
>I have tried Ed Moy's prepfix, but while it permits me to print the
>MacDraw files using the UNIX lpr command, it doesn't solve the problem
>with psfig.  I have also tried Encapsulated PostScript files generated
>by Cricket Draw.  I can't get these to print anything other than a blank
>page.

I had the same problems when I tried to print an Encapsulated PostScript
file generated by Cricket Draw.  By changing the line:

 [] settransfer

into

 %[] settransfer

I was able to print the ps file and I was also able to include it with
the psfig-macro into a LaTeX document :-)

Henk Tullemans
Philips Research Laboratories
Eindhoven, The Netherlands
tullemans@apolloway.prl.philips.nl

-------------------------------------------------------------------------------

Date: Tue, 22 Nov 88 12:47 GMT
From: GTEO%cs.tcd.ie@Forsythe.Stanford.EDU
Subject: Questions in TeXtures
Keywords: LaTeX, TeXtures

   Can TeXtures run LaTeX as described in the LaTeX manual?
   If it can what is the System configuration requiredment, such as main
   memory, disk space etc?
   How long does it normally take to print a page on a Image writer?
   Thanks in advance.

Ghee.

-------------------------------------------------------------------------------

%%% The TeXhax digest is brought to you as a service of the TeX Users Group
%%%       in cooperation with the UnixTeX distribution service at the 
%%%                      University of Washington
%%%
%%% Concerning subscriptions, address changes, unsubscribing:
%%%  BITNET: send a one-line mail message to LISTSERV@UWAVM.ACS.WASHINGTON.EDU
%%%         SUBSCRIBE TEXHAX <your name>    % to subscribe
%%%
%%%     All others: send mail to
%%%           TeXhax-request@cs.washington.edu
%%%     please send a valid internet address!!
%%%        in the form name@domain or name%routing@domain
%%%
%%%
%%% All submissions to: TeXhax@cs.washington.edu
%%%
%%% Back issues available for FTPing as:
%%%          machine:              directory:  filename:
%%%   JUNE.CS.WASHINGTON.EDU         TeXhax/TeXhaxyy.nn
%%%              yy = last two digits of current year
%%%                       nn = issue number
%%% Current versions now in general distribution:
%%%    TeX       2.93                  metafont  1.5
%%%    plain.tex 2.92                  plain.mf  1.0   
%%%    LaTeX     2.09 (10/26/88)       cmbase.mf see cm85.bug
%%%    SliTeX    2.09                  gftodvi   1.7
%%%    tangle    2.8                   gftopk    1.4 
%%%    weave     2.9                   gftype    2.2
%%%    dvitype   2.9                   pktype    2.2 
%%%    pltotf    2.3                   pktogf    1.0
%%%    tftopl    2.5                   mft       0.3
%%%    bibtex    0.99c
%%%\bye
%%%

End of TeXhax Digest
**************************
-------