Subject: TeXhax Digest V89 #45 From: TeXhax Digest Errors-To: TeXhax-request@cs.washington.edu Maint-Path: TeXhax-request@cs.washington.edu To: TeXhax-Distribution-List:; Reply-To: TeXhax@cs.washington.edu 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 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 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) 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 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) 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 can go into an infinite (?) loop if 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 % 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 ************************** -------