[comp.text] TeXhax Digest V89 #45

TeXhax@cs.washington.edu (TeXhax Digest) (05/23/89)

TeXhax Digest    Friday,  May 5, 1989  Volume 89 : Issue 45

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:         

                         New PS-EXPRES release
                           IEEE Trans format
               Re: TeXhax digest V89 #31 (macro, acronym)
                    Re: Needed: acronym definition
                    Re: TeXhax V89 #32 (IPA, fonts)
                   Demand-loading fonts in math mode
                            Is PiCTeX usable?
                Including Framemaker figures with dvi2ps
                     FINGER fix for old MAIL files

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

Date: Wed,  3 May 89 12:11:52 -0400 (EDT)
From: Kim Costello <kimiko+@andrew.cmu.edu>
Subject: New PS-EXPRES release
Keywords: NSF, proposals, E-mail

The National Science Foundation is accepting proposals in electronic
form as part of an experimental program called EXPRES. This is being
done to speed and simplify the proposal review process. Specifically,
you are encouraged to send proposals as PostScript files. PostScript, a
trademark of Adobe Systems, Inc., is a standard language for driving
laser printers. There are several advantages to preparing your proposal
in PostScript:
  1. It will be less expensive in duplication and mailing costs because
     you need send only one paper copy to the NSF.
  2. Electronic transmission takes only minutes.
  3. Proposals look better because they are printed freshly on laser
     printers rather than being duplicated on copiers multiple times.
  4. The NSF can extract data from the electronically-prepared forms,
     making it easier to track your proposal.

The investigator may prepare the technical body of the proposal using
whatever document creation tools he or she wishes. The job of preparing
the budget, filling out the forms, and assembling the proposal can be
done by the investigator or another person, often a department secretary
or a grant office. We provide some programs to help them. These programs
can be run on UNIX, VMS, Macintosh, and PC systems. Proposal templates
for some common document processors are available, too.
 
There are different ways to obtain the software depending upon your
computing circumstances. In each case, you will receive a file guide.ps
which you should print on a PostScript printer, and read for further
instructions.
 
 1. Macintosh and PC users can request a disk by sending email to
  		ps-expres@andrew.cmu.edu
    or regular mail to
 
     PS-EXPRES
     Information Technology Center
     Carnegie Mellon University
     Pittsburgh, PA 15213
 
  Be sure to specify Mac or PC and the disk size.

 2. People with NSFNet/ARPANet connections can get the code in source
    and executable form via FTP. First, connect with a particular
    machine at CMU by typing the following commands:
    
    ftp 128.2.12.15
    ftp>Name: anonymous
    ftp>Password: anythingyoulike
    ftp>prompt
    ftp>ascii
    ftp>cd common
    ftp>mget *
    ftp>cd ..
 
    This will retrieve files everyone needs.
 
    If you simply want to run the software, copy everything 
    from the appropriate machine-specific
    binary directory below. For example, to retrieve
    the PC executable programs type
 
     ftp>binary
     ftp>cd pc
     ftp>mget *
     ftp>cd ..
     ftp>ascii
 
    The machine-specific directories are:
 
     mac (apply BinHex 4.0 to  files after retrieving)
     pc
     rt       (apply chmod +x after retrieving)
     sun3     (apply chmod +x after retrieving)   
     vax-unix (apply chmod +x after retrieving) 
  
    We haven't figured out how to distribute VMS
    binaries yet, so VMS users will have to rebuild
    the software themselves.
 
   The following directories contain document
   processor templates for proposals:
   
     scribe
     tex
     latex
     troff
 
   For example, to retrieve the tex template, type
 
   ftp>cd tex
   ftp>mget *
   ftp>cd ..
 
  You may also want to retrieve a set of blank
  forms used by the processor templates by
  typing
 
   ftp>cd blanks
   ftp>mget *
   ftp>cd ..
 
 If you want to modify or rebuild the software retreive
 the source code by typing

  ftp>cd src
  ftp>mget *
  ftp>cd ..

 The src directory contains
 
    SREADME: instructions for building
       executables
    C-Programs and Header files: *.c and *.h
    UNIX-specific files: Makefile
    VMS-specific files: compile.com, descrip.mms
    Macintosh-specific files:
       *.r, NSFForms.make, nsfmenus.c,
       window.c, nsfwndw.h
    PC-specific files: *.MAK
 
 To exit  type
 
    ftp>quit
 
 3. If you are a UNIX user but cannot use the FTP
    connection, request the software by email. If
    you send a request to
 
            ps-expres@andrew.cmu.edu
 
    We will send you the non-binary software in the
    form of shar files.

 
 4. If you do not need any of the software, but want
    to submit proposals electronically, contact NSF
    at the following address:
 
    Gerald B. Stuck
    National Science Foundation 
    1800 G Street NW
    Room 401
    Washington, DC 20550

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

Date: Tue, 02 May 89 22:08:37 -0900
From: Don-Rice%UWAVM.ACS.WASHINGTON.EDU:FTDDR@ALASKA.BITNET,
        Duckering 165 and else <FTDDR%ALASKA.BITNET@UWAVM.ACS.WASHINGTON.EDU>
Subject: IEEE Trans format
Keywords: TeX, IEEE

I believe TeX formats for professional journals were being discussed when
the Bitnet TeXhax vanished some months ago.  Now that it seems to be back,
I'll ask: has anyone developed a TeX format for camera-ready papers that
IEEE will accept for its various transaction journals (power engineering
in particular)?
The IEEE author guide is pretty fuzzy for typesetting use, but one of the
acceptable formats seems to be "just the way it looks in the journal":
two columns, figures pasted in, etc.  They say they are working on a new
version of the author guide...RSN no doubt.
I would be interested in any experiences that people may have had trying to
publish through IEEE with TeX.  Please send a message to me directly in
case Bitnet resumes eating digests.
Thanks very much,
Don Rice
University of Alaska Fairbanks
"Yet another R.A."
FTDDR@ALASKA.bitnet

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

Date: Wed,  3 MAY 89 17:15:54 BST
From: CHAA006%vaxb.rhbnc.ac.uk@NSFnet-Relay.AC.UK
Reply-To: Philip Taylor (RHBNC) <P.Taylor%vaxb.rhbnc.ac.uk@NSFnet-Relay.AC.UK>
Subject: Re: TeXhax digest V89 #31 (macro, acronym)
Keywords: macros, acronyms

Paul McKenney asked about a \acronym macro which would re-define itself
after the first applied occurence.  I think something like the following 
might be what he's after ...

	\def \acronym #1#2%
	{\expandafter \gdef \csname #1\endcsname{#2 (#1)%
	 \expandafter \gdef \csname #1\endcsname{``#1''}}}
	\acronym {TLA} {three-letter acronym}
	\TLA \TLA \TLA
	\end

(The extension to case-insensitivity and plurals is left to the student ...).

					Philip Taylor
			    Royal Holloway and Bedford New College.

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

Date: Tue, 02 May 89 14:14:31 CDT
From: Don Hosek <U33297%UICVM.UIC.EDU@UWAVM.ACS.WASHINGTON.EDU>
Subject: Re: Needed: acronym definition
Keywords: LaTeX, acronym

Below is a document style option I created for LaTeX (although the
definition is directly usable for plain TeX) for a \newacronym command.
The comments should be pretty lucid on how to use the option.


    Don Hosek           Internet: U33297@UICVM.UIC.EDU
    3916 Elmwood        Bitnet: U33297@UICVM.BITNET
    Stickney, IL 60402          DHOSEK@YMIR.BITNET
    Work: 312-996-2981  UUNet: dhosek@jarthur.claremont.edu
                        JANET: U33297%UICVM.UIC.EDU@UK.AC.EARN-RELAY


% This is ACRONYM.STY as of 5/2/89
% Definition of the \newacronym command for LaTeX
% Written by Don Hosek based on an idea by Paul McKenney
% Specify acronym on the \documentstyle command as an option to
% load this macro.
%
% Usage of \newacronym:
%        \newacronym{\cs}{acronym}{long version}
% where
%        \cs is a control sequence name
%        acronym is the acronym
%        and long version is the long version of the name
% For example,
%        \newacronym{\QOFP}{QOFP}{The Quixote Oriental Fonts Project}
% On the first call, \cs will produce:
%        long version (acronym)
% and on all subsequent calls:
%        acronym.
% For example
%        \QOFP\ has two goals... \QOFP\ accomplished this through a
%        large set of \MF\ macros.
% will produce
%        The Quixote Oriental Fonts Project (QOFP) has two goals...
%        QOFP accomplished this through a large set of METAFONT
%        macros.
% All arguments to \newacronym are moving arguments.

\def\newacronym#1#2#3{\def#1{#3 (#2)\def#1{#2}}}

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

Date: Wed,  3 MAY 89 17:40:19 BST
From: CHAA006%vaxa.rhbnc.ac.uk@NSFnet-Relay.AC.UK
Reply-To: Philip Taylor (RHBNC) <P.Taylor%vaxb.rhbnc.ac.uk@NSFnet-Relay.AC.UK>
Subject: Re: TeXhax V89 #32 (IPA, fonts)
Keywords: IPA, fonts

"Ann or Carol" asked about IPA fonts for use within LaTeX.
I use the Washington State University's IPA (contact: Dean Guenther),
which is fine according to my phoneticians.  I have no experience of
using it (or any other font) within LaTeX, but I forsee no real problems.

					Philip Taylor
			    Royal Holloway and Bedford New College

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

Date: Thu, 4 May 89 18:17:50 BST
From: asj%prg.oxford.ac.uk@NSFnet-Relay.AC.UK
Subject: Demand-loading fonts in math mode
Keywords: LaTeX, font loading

One problem with \LaTeX\ font loading is that you have to decide whether
you want a font demand-loaded, or to have scripts and scriptscripts.
The typewriter font, for example, is demand-loaded, and so scripts
and scriptscripts appear at the same size as the text font.

This is rather annoying, although once you've played around with
demand-loading in math mode you soon discover why Lamport put this
restriction in.  What I was looking for was demand-loading that:
\begin{itemize}
\item was invisible to the user, ie no \load instructions,

\item allowed scripts and scriptscripts, and

\item allowed \mathchardef to be used on the loaded family,
\end{itemize}
After much cursing and tearing out of hair, I finally came up with a solution
that met these requirements, which is given as a LaTeX style below.

This style is rather messy, and is addressing an issue that ought to
be covered at a much lower level.  As a note for designers of the next
generation of text formatters --- if font space is limited, then a font
should be loaded in from disk when it is {\em used}, not when it is 
{\em defined}.

Alan Jeffrey

Programming Research Group,
8--11 Keble Road,
Oxford OX1 3QD,
UK.

asj@uk.ac.ox.prg

%- - - - - - - - - - - - - - cut here - - - - - - - - - - - - - - - 

% Demand loading style for fonts in math mode only. 
% 31 March 1989.  Alan Jeffrey.

% This allows you to (sort of) demand-load fonts for math mode.  It copes 
% with demand loaded fonts with subscripts and subsubscripts, and which are
% used in \mathchardefs.  You get three new commands:
%
%    \@newmathstyle[NUMBER]{NAME}
%    \@newmathfont{FONT}{LOADING INSTRUCTIONS}
%    \@bindmath{NAME}{SIZE}{FONT}{SCRIPTFONT}{SCRIPTSCRIPTFONT}
%
% First of all, set up a new demand loaded style using \@newmathstyle.
% For example,
% 
%   \@newmathstyle{foo}
%
% sets up a new style, foo.  This style can be selected by saying
% \foo, in the same way as any other style (such as \it, \rm, \sc etc.)
% can.  It will only work in math mode.  It also gets you a new family,
% \foofam.  Using the optional parameter, you can set which family number
% to use.  For example,
%
%    \@newmathstyle[\scfam]{foo}
%
% will over-write the small caps family with the foo family.
% This is useful because TeX only has 16 (16!) font families, of which
% 11 (11!) are already used up.  It's all too easy to run out of
% font families...  
%
% The foo fonts are always set at the correct size, the first time math
% mode is entered at that size.  This is a bit inefficient ---
% if you enter math mode at twenty point, all of the large foo fonts
% will be loaded in, even if they're not used.  There's not much
% that can be done about that though.
%
% You then have to tell LaTeX where to find the new fonts.  This is done
% with \@newmathfont.  For example,
%
%   \@newmathfont{twlfoo}{foo10 scaled \@magscale1}
% 
% says we'll be using a font twlfoo, which is loaded as foo10 scaled up
% by one magstep.  This identifier ``twlfoo'' should {\em only\/} be
% used inside a \@bindmath command.  It {\em doesn't\/} give you
% a new command \twlfoo to use as you would a normal font.
%
% Finally, you have to tell LaTeX which fonts to use at which point size.
% This is done with \@bindmath.  For example,
%
%   \@bindmath{foo}{xiipt}{twlfoo}{egtfoo}{sixfoo}
%
% says ``for style foo at twelve point, use twlfoo for text, egtfoo
% for scripts, and sixfoo for scriptscripts.''

% On with the show...

% A handy command:
%
%   \@exp\FOO{NAME}  expands out to  \FOO\NAME

\def\@exp#1#2{\expandafter#1\csname#2\endcsname}

% Then we can get on with demand loading...  First of all, 
% \@newmathstyle.  Saying
%
%    \@newmathstyle{foo}
%
% causes one new command to be defined: \foo, which expands out to
% \fam\foofam.  It also sets up a new family \foofam, and adds the 
% command \@getfoofam@ into the beginning of \everymath
% and \everydisplay.  The macro
%
%   \@insertintotokenlist\foo\bar
%
% inserts \foo at the beginning of \bar.

\def\@newmathstyle%
   {\@ifnextchar[{\@newmathstyle@yes}{\@newmathstyle@no}}

\def\@newmathstyle@yes[#1]#2%
   {\@exp\edef{#2}{\fam\@exp\noexpand{#2fam}}%
    \@exp\let{#2fam}=#1%
    \@exp\@insertintotokenlist{@get#1fam@}\everymath%
    \@exp\@insertintotokenlist{@get#1fam@}\everydisplay}

\def\@newmathstyle@no#1%
   {\@exp\edef{#1}{\fam\@exp\noexpand{#1fam}}%
    \@exp\newfam{#1fam}%
    \@exp\@insertintotokenlist{@get#1fam@}\everymath%
    \@exp\@insertintotokenlist{@get#1fam@}\everydisplay}

\def\@insertintotokenlist#1#2%
   {\@temptokena={#1}%
    \edef\@tempa{\the\@temptokena\the#2}%
    #2=\expandafter{\@tempa}}

% Next, \@newmathfont{tenfoo}{foo10} defines one new command,
% \@gettenfoo@  which expands out to 
%
%   \global\font\@tenfoo@   = foo10
%   \global\let\@gettenfoo@ = \relax
%
% So if \@gettenfoo is ever expanded, it will set up the font
% \@tenfoo@, then define itself to do nothing.  Thus, the first time
% \@gettenfoo@ is encountered, it will load in the relevant font,
% but after that it does nothing.

\def\@newmathfont#1#2%
   {\@exp\edef{@get#1@}%
       {\global\font\@exp\noexpand{@#1@} = #2%
        \global\let\@exp\noexpand{@get#1@} = \relax}}

% The command \@bindmath{foo}{xiipt}{twlfoo}{egtfoo}{sixfoo} defines two
% new commands, \@getfoofamxiipt@, which expands out to
%
%    \@workfoofamxiipt@
%    \aftergroup\@workfoofamxiipt@
%
% and \@workfoofamxiipt@, which expands out to
%
%    \@gettwlfoo@
%    \@getegtfoo@
%    \@getsixfoo@
%    \textfont\foofam         = \@twlfoo@
%    \scriptfont\foofam       = \@egtfoo@
%    \scriptscriptfont\foofam = \@sixfoo@
%    \let\@getfoofam@ = \relax
%
% In addition, it uses \@addfontinfo to make \@getfoofam@ expand 
% out to \@getfoofamxiipt@ when we're in twelve point text.  
%
% This works because \@getfoofamxiipt@ is only ever called by
% \@getfoofam@, which is only ever used in \everymath and \everydisplay.
% So, if $stuff$ is encountered for the first time at twelve point,
%
%    $stuff$ ==> $\everymath stuff$
%            ==> $\@getfoofam@ stuff$
%            ==> $\@getfoofamxiipt@ stuff$
%            ==> $\@workfoofamxiipt@\aftergroup\@workfoofamxiipt@ stuff$
%            ==> $\@workfoofamxiipt@ stuff$\@workfoofamxiipt@
%            ==> ...\let\@getfoofam@=\relax
%
% So the next time $morestuff$ is encountered, \@getfoofam@ will be
% \relax, so it won't do anything.  It'll stay as \relax until the
% next size-changing command.  Demand loading is very very complicated.

\def\@bindmath#1#2#3#4#5%
   {\@exp\edef{@get#1fam#2@}%
       {\@exp\noexpand{@work#1fam#2@}%
        \aftergroup\@exp\noexpand{@work#1fam#2@}}%
    \@exp\edef{@work#1fam#2@}%
       {\@exp\noexpand{@get#3@}%
        \@exp\noexpand{@get#4@}%
        \@exp\noexpand{@get#5@}%
        \@exp\textfont{#1fam} = \@exp\noexpand{@#3@}%
        \@exp\scriptfont{#1fam} = \@exp\noexpand{@#4@}%
        \@exp\scriptscriptfont{#1fam} = \@exp\noexpand{@#4@}%
        \let\@exp\noexpand{@get#1fam@} = \relax}%
    \@exp\@addfontinfo{@#2}%
       {\@exp\def{@get#1fam@}{\@exp\@prtct{@get#1fam#2@}}}}

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

Date: Tue, 2 May 89 09:26:10 EDT
From: beck@cs.cornell.edu (Micah Beck)
Subject: Is PiCTeX usable?
Keywords: PiCTeX

PiCTeX is used w/LaTeX at Cornell, and I'd have to say it is a serious
macro package.  It serves as an output form for the Fig graphics editor 
via the fig2tex translator program, and figures do get very complex.
This is only possible because we build a very large version of LaTeX using
web2c.  No one here uses \savelinesandcurves and \replot as far as I know,
since the PiCTeX code is generated automatically.

/micah

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

Date: Tue, 2 May 89 13:05:25 edt
From: mmatlack@andrew.ge.com (Mike Matlack, 609/866-6612)
Subject: Including Framemaker figures with dvi2ps
Keywords: Framemaker, dvi2ps
 
I am having problems including Framemaker figures into dvi2ps output.  My
environment is a Sun 3/60, Unix 4.2, Tex 2.95, LaTeX 2.09.
 
What I do is:
 
	open a Framemaker doc, draw my picture and save the document to
	a postscript file, my-pict.ps
 
	edit a LaTeX file, including the lines:
 
	    \begin{figure}
	    \special{psfile=my-pict.ps}
	    \vspace{4.0in}
	    \caption{my caption}
	    \label{fig:my-pict}
	    \end{figure}
 
	latex the file, and then run dvi2ps, piping the output to lpr
 
What happens is that I only get a print banner page, no other output, no
error messages, etc.  The laser printer seems to think about it awhile, but
then it appears that something says "let's frustrate this guy, don't print
any output":-). I can lpr my-pict.ps with no problems.  When I pipe the
dvi2ps output to a file and examine it, it looks as if everything is there
(the original TeX'ed text, the figure, the tex.ps header).
 
Any ideas what the problem could be?
 
MikeM
mmatlack@atl.ge.com or mmatlack%atl.decnet@ge-crd.ARPA
            ...!mcnc!ge-rtp!ge-dab!atl.ge.com!mmatlack 

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

Date: Wed, 3 May 89 07:31:31 PDT
From: KARNEY%PPC.MFENET@CCC.MFECC.LLNL.GOV
Subject: FINGER fix for old MAIL files
Keywords: mail, finger

FINGER <user> can go into an infinite (?) loop if <user> has unread mail
from version 4.x.  Here are a couple of patches that go into subroutine
personal_info in finger.for.  I have no idea what the full format of the
mail records is, so undoubtedly there are better fixes possible.

Look for sender's name in old position if from is nonsensical:
                from=mailrec.rec(ptr:ptr+size-1)
                ptr=ptr+size
becomes
                from=mailrec.rec(ptr:ptr+size-1)
                if (size.gt.80.or.index(from,char(0)).gt.0) then
                   ptr=67
                   csize=mailrec.rec(ptr:ptr+1)
                   ptr=ptr+2
                   from=mailrec.rec(ptr:ptr+size-1)
                   if (size.gt.80.or.index(from,char(0)).gt.0)
     $                  from='Unknown'
                end if
                ptr=ptr+size

Stop ptr increasing beyond end of mailrec.rec:
                  do while ((.not.(got_subj)).or.(fn.eq.5))
becomes
                  do while (ptr.lt.3047.and.
     $                     ((.not.(got_subj)).or.(fn.eq.5)))

There are a couple of other (innocuous) problems with this mail code:
              If (len(mailrec.folder).GT.1) then
is presumably always true.  Maybe it should be btrim not len?  Also
                if (index(from,you(:btrim(you))).gt.0) then
would seem to cause problems one person's username was a subset of someone
else's.

    Charles Karney
    Plasma Physics Laboratory   Phone:    +1 609 243 2607
    Princeton University        MFEnet:   Karney@PPC.MFEnet
    PO Box 451                  Internet: Karney%PPC.MFEnet@NMFECC.LLNL.GOV
    Princeton, NJ 08543-0451    Bitnet:   Karney%PPC.MFEnet@LBL.Bitnet

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

%%% 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@xxx
%%%          where xxx is the nearest geographical site in the
%%%          tree shown below
%%%         SUBSCRIBE TEX-L <your name>    % to subscribe
%%%      or UNSUBSCRIBE TEX-L 
%%% Here is the BITNET re-distribution tree as shown in a recent
%%% REVIEW (The geography is guessed at from the subscription list)
%%%
%%%                        CLVM    TAMVM1      FINHUTC
%%%                           |    |     (Finland, UK, Scand, CERN)
%%%                           |    |           |
%%%  TeXhax ----> UWAVM ----- MARIST ----- EB0UB011 ----- BNANDP11
%%%                           |     (France,Italy,Spain)  (Belgium)
%%%                           |                |
%%%                        UBVM      HEARN --- DEARN
%%%                              (Netherlands) (Germany)
%%%
%%% Internet: send a similar one line mail message to
%%%           TeXhax-request@cs.washington.edu
%%%     Please be sure you send a valid internet address!!
%%%        in the form name@domain or name%routing@domain
%%%     and use the style of the Bitnet one-line message, so that
%%%     we can find your subscription request easily.
%%%
%%% 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
%%%
%%% For further information about TeX Users Group services and publications
%%%  contact Karen at KLB@SEED.AMS.COM or write to TUG at
%%%   TeX Users Group
%%%   P.O. Box 9506
%%%   Providence, R.I. 02940-9506
%%%   Telephone      (401) 751-7760
%%%
%%% Current versions of the software now in general distribution:
%%%    TeX       2.95 (2.98 coming)    metafont  1.7
%%%    plain.tex 2.94                  plain.mf  1.7
%%%    LaTeX     2.09 ( 8/10/88)       cmbase.mf see cm85.bug
%%%    SliTeX    2.09                  gftodvi   1.7
%%%    tangle    2.9                   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                 
%%%    AmSTeX    1.1d
%%%\bye
%%%

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