[comp.text] TeXhax Digest V89 #70

TeXhax@cs.washington.edu (TeXhax Digest) (08/01/89)

TeXhax Digest    Friday,  July 28, 1989  Volume 89 : Issue 70

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:         

                      Re: Strange kern in cmr10
                        AMS Euler script font
                         Catcode bug in TeX?
                          TeX vs Interleaf
                           PCs, Networking
                        Pronunciation of TeX
                 TeX macro with optional parameter
                       ***Announcing PSTEX***

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

Date: Tue, 25 Jul 89 09:28 EDT
From: "Jerry Leichter - LEICHTER-JERRY@CS.YALE.EDU"
Subject: Re: Strange kern in cmr10
Keywords: cmr10, kern

Hal Peterson asks why cmr10's TFM file seems to show two different kerns for
the "ka" combination.

Kerning and ligature information in a TFM file is stored as a simple program
in a very specialized language.  TeX scans the program in the order it was
specified, looking for a match with the characters it is dealing with.  Since
only the first match is used, multiple matches are ignored.

Here's an extract from ROMAN.MF, showing the Metafont code which generated
the CMR10.TFM file.  In the example, "#" is essentially part of the variable
names, despite its appearance; and u# is the "unit width", the basic size used
to define all measurements of the CM fonts.  (Design in terms of a unit width
is characteristic of the Monotype fonts from which Knuth drew the inspiration
for CMR.)  Also, \\ is like \relax in TeX:

	 k#:=-.5u#; kk#:=-1.5u#; kkk#:=-2u#; % three degrees of kerning
	 ...
	 ligtable "k": if serifs: "v": "a" kern -u#, fi\\"w": "e" kern k#,
	  "a" kern k#, "o" kern k#, "c" kern k#;

What's happening here is that for non-serifed fonts, the kerning tables for
"k" and "w" happen to be identical, and so are shared.  For serifed fonts, the
tables are identical except for the kerning in "ka",  and the resulting table
is the same as the table for "va".  Since TeX only uses the first match in the
table anyway, there is no harm in having an extraneous entry for "ka" in the
serifed tables.  Typical Knuthian optimization.

							Jerry

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

Date: Mon, 24 Jul 89 13:47:45 EDT
From: Art Werschulz <agw@cs.columbia.edu>
Subject: AMS Euler script font
Keywords: Euler fonts, calligraphic font

Hi.

I would like to use the Euler script font, instead of the standard
calligraphic font.  My main problem is that the standard calligraphic
S looks too much like the math italic S.  (I have had several people
tell me that they can't easily tell the difference.)

After reading Don Knuth's article about the typesetting of "Concrete
Mathematics", I decided to do the following:

  \font\eusmten=eusm10 \font\eusmseven=eusm7 \font\eusmfive=eusm5
  \textfont8=\eusmten \scriptfont8=\eusmseven \scriptscriptfont8=\eusmfive
  \def\cal{\fam8 }

Things like $SS^*{\cal S}$ worked fine, as well as ${\cal S}_n$,
My problem was with stuff like
$$\|v-v_n\|_{L_2(I)} = \inf_{s\in{\cal S}_n}\|v-s\|_{L_2(I)}.$$
Instead of printing the (sub)subscript "n" to the right of and below
the "S", it was printed too far to the left.  As a result, the "n" was
superimposed on the lower part of the "S".

Does anybody have any suggestions for how to fix this?

Thanks.

      Art Werschulz

      InterNet:  agw@cs.columbia.edu
      BITnet:    agw%cs.columbia.edu@cuvmb
      CSnet:     agw%cs.columbia.edu@csnet-relay
      USEnet:    ...!columbia!cs.columbia.edu!agw

      ATTnet:   Columbia University (212) 854-8642 854-2736
                Fordham University  (212) 841-5323 841-5396

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

Date: Fri, 28 Jul 89 11:17:28 GMT
From: "Wayne G. Sullivan" <WSULIVAN%IRLEARN.BITNET@UWAVM.ACS.WASHINGTON.EDU>
Subject: Catcode bug in TeX?
Keywords: TeX, catcode bug

In connection with the recent discussion of a problem involving catcodes,
I was experimenting with redefinitions of underscore. Following the example
in the TeXbook for %, I wrote the following:

\tracingstats=2
\catcode`\_=\active
\def_{\char`\_}

$ _ $


\bye

When TeX was run on this file, it went into a loop which could only be broken
by interrupting the program. Two PC versions of TeX and VM/CMS TeX  behaved
in identical fashion. A similar sort of problem was reported in TeXhax by
Chris Thompson some time ago, but that eventually caused a stack of the
operating system, which does not seem to arise with the above file.
                          Wayne Sullivan

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

Date: Wed, 26 Jul 89 09:59:46 PDT
From: tcipro!ramu (Ramu Iyer)
Subject: TeX vs Interleaf
Keywords: TeX, Interleaf

Could anybody enumerate the reasons why TeX is more powerful than
Interleaf apart from the mathematical advantage?

Thanks in advance.

  Ramu 

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

Date: Mon, 24 Jul 89 10:47:34 CDT
From: "Cliff Bergman" <S2.CHB@ISUMVS.IASTATE.EDU>
Subject: PCs, Networking
Keywords: PCs, Networking

We are considering networking a bunch of PCs and running PCTeX on at
least one of them.  The network we are looking at is Lantastic, by
Artisoft inc.  Another (simpler) possibility is the Alternet
dataswitch by Equinox systems.  Has anybody had experience (esp. in
TeX) with these or other systems?

Cliff Bergman
Dept. of Math
Iowa State Univ.
Ames, Iowa  50010
bitnet: s2.chb@isumvs

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

Date: Wed, 26 Jul 89 17:41:50 EDT
From: INHB000 <INHB%MCGILLC.BITNET@UWAVM.ACS.WASHINGTON.EDU>
Subject: Pronunciation of TeX
Keywords: TeX, pronunciation

Since the most important issue raging in the TeX community these days
appears to be the pronunciation, I cannot resist adding my opinions.
The letter of Anne Bruegemann-Klein claims that the TeXbook says that
TeX should rhyme with Blech and adds that this is the sound of ach in
German or loch in Scottish.  But it doesn't say that.  It says it should
rhyme with blecchhh and that is not a German word at all (not in my
Cassell's anyway).  It might be argued that it is not an English word
either, but it is to readers of Mad magazine.  Moreover, it is perfectly
clear how it is to be pronounced as an English word.  In such a way, as
Knuth says, that your computer screen becomes slightly damp.  Actually,
most people in my experience say it to rhyme with wreck.  (Most of the
rest say tecks.)

A much more difficult problem is the pronunciation of LaTeX.  This
appears to be pronounced lay-tex or lah-tex with about equal frequency.
I find the second illogical since it seems clear that the name was a
deliberate pun with the synthetic rubber product and the second
pronunciation of the `a' is mostly restricted to foreign words (and, for
Brits, `tomato' and a few other words).  An argument could be made that
the first syllable ought to rhyme with that of Lamport, that is either
the `a' of `mad' or possibly of `mat'.  Unlike Knuth, who gave clear
instructions (I think they were clear), Lamport has given the LaTeX
world absolutely no guidance on this difficult and important question.

Michael Barr

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

Date: Tue, 25 Jul 89 16:24:58 PDT
From: Jonathan Ross <jross@hpda.hp.com>
Subject: TeX macro with optional parameter
Keywords: TeX, macro, optional parameter

	I would like to define a macro which takes an optional parameter
	(in the LaTeX style).  I know about the \@ifnextchar construct
	from LaTeX.  What I want is macro where I can say 

		\foo[x]

	(where the [x] is optional), and generate
		
		\bar[x] \zed
	
	That is, \bar takes an optional parameter, and during the expansion
	of \foo I would like \bar to see that IT has the optional 
	parameter, and THEN do the expansion for \zed.

	In the things I have tried, \zed ends up being followed by [x]...

                                 SOLUTION:

	Well, I thought a little more about it, and came up with a solution.

\makeatletter
\def\foo{\@ifnextchar [{\optfoo}{\nooptfoo}}
\def\optfoo[#1]{\bar[#1] \zed}
\def\nooptfoo{\bar \zed}
\makeatother

	It is so trivial now that I see it, that I don't know if it is
	worth it to post the question/solution to the digest.

	Jonathan

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

Date: Fri, 28 Jul 89 10:34:43 PDT
From: Neil Hunt <neil@teleos.com>
Subject: ***Announcing PSTEX***
Keywords: PSTEX, man page, BibTeX-like preprocessor

LaTeX users,

The following is a manual page for a program called pstex, which is
a bibtex-like preprocessor for including figures into LaTeX documents.
It is based upon the premise that the size of an included figure
should not have to be specified in more than one place.

With the pstex system, the default is that the figure is included
at its design size (the size at which it would print out if it were
sent to the printer directly).  Modifiers can be applied, from the LaTeX
source text, including scaling the design size by some factor, or
overriding it completely.  For example, a figure can be included
at \textwidth or \columnwidth, or with a specified aspect ratio.

Pstex is available for distribution along with a modified version
of a standard dvips program, manual pages for both programs,
a LaTeX macro file defining the appropriate macros, and an example
document with included figures which discusses the motivations
behind the system, and which has a useful reference sheet.

This system is distributed under an FSF-like agreement:
/*
 * Copyright (c) 1989 Teleos Research, Inc 1989.
 *
 * Anyone can use this software in any manner they choose,
 * including modification and redistribution, provided they make
 * no charge for it, and these conditions remain unchanged.
 *
 * This program is distributed as is, with all faults (if any), and
 * without any warranty.  No author or distributor accepts responsibility
 * to anyone for the consequences of using it, or for whether it serves any
 * particular purpose at all, or any other reason.
 */

If you want a copy, send me mail at ``Neil%Teleos.com@ai.sri.com''.
If there is significant interest, I will see about getting it to some
distribution point, otherwise I will simply mail out copies.
It is currently in the form of 4 shar files of sizes 49, 48, 47, and 36 k.

Neil/.

                 

PSTEX(1)                  USER COMMANDS                  PSTEX(1)

NAME
     pstex - convert LaTeX figures.

SYNOPSIS
     pstex [ options ] file[.tex]

DESCRIPTION
     Pstex is a BiBTeX-like processor for including figures  into
     LaTeX  documents.  Figures are included using the ``\psbox''
     macro; this macro  causes  LaTeX  to  make  entries  in  the
     ``.aux''  file(s)  for  the job.  Pstex finds these entries,
     locates the corresponding PostScript files (which should  be
     in EPSF format as appropriate for dvips), and determines how
     to size the figure according to the options specified in the
     macro  in  the  LaTeX, and according to the nominal size and
     shape of the PostScript.  It creates a  ``.psz''  file  con-
     taining entries indicating the sizes which it has determined
     to be appropriate for each figure.  When LaTeX starts up  on
     subsequent  passes, this ``.psz'' file is read, and LaTeX is
     then able to leave the correct amount of space for each fig-
     ure as it encounters them in the text.

     The ``postscript'' macro file must be included in  the  list
     of  options  in the documentstyle command.  This defines the
     necessary macros.

     The    primitive    which    is    used    by    pstex    is
     ``\postscriptbox{width}{height}{file}''.   This  causes  the
     postscript of file.ps to be included into  the  document  so
     that  its  bounding  box  exactly fills the width and height
     specified.  This creates a box, which is just like a charac-
     ter,  and can be placed anywhere in the document.  Typically
     it is included within a  figure  environment  and  a  center
     environment, and is associated with a caption.

     The higher  level  macro  which  is  provided  by  pstex  is
     ``\psbox[options]{file}''.

     If the options string is omitted completely, the  figure  is
     included at its natural, or design size, as specified in the
     bounding box data of the PostScript.

     Combinations of four options can be specified, separated  by
     commas: width=<width>, height=<height>, aspect=<aspect>, and
     scale=<scale> The keyword can be abbreviated, and spaces are
     allowed.   The width and height options can be any valid TeX
     or LaTeX which expands into a dimension when placed  as  the
     argument    to    a    setlength    macro.    For   example,
     width=\columnwidth is a common  specification.   The  aspect
     ratio and scale parameters must be floating point constants,
     or must expand to such  at  the  time  the  macro  is  first
     invoked, for example scale=0.7.

     If one of width or height is specified, the figure is scaled
     to  that size, keeping its natural aspect ratio, unless that
     is overridden by the aspect parameter.

     If both of width and height are  specified,  the  figure  is
     made to fit the specification exactly, if necessary changing
     its aspect ratio.  In this mode, the aspect ratio  parameter
     is ignored.

     In any mode, the  scale  parameter  multiplies  all  of  the
     dimensions.   This  is especially useful to include a figure
     at some fixed fraction of its natural size, specifying  only
     a scale factor in the options.

     Note that the dimensions can be TeX rubber dimensions so  as
     to  fit into the page layout in the best possible manner, if
     desired.

EXAMPLES
     \psbox{file}
          Include file.ps at natural size.
 
     \psbox[s=0.7]{file}
          Include the document at natural  size  scaled  down  to
          70%.

     \psbox[w=\columnwidth, scale=\mydocscale]{file}
          Stretch the figure to the  width  of  the  column,  but
          scale it down to \mydocscale (which might be defined as
          0.9 for example).

OPTIONS
     -z psdirs Specify different area for postscript files to  be
               included.    Psdirs  will  be   searched  for  all
               postscript files, instead of the path specified in
               the environment variable.

ENVIRONMENT
     DVIPSPATH A  list  of  colon-separated   directories   where
               PostScript files may be found for insertion.    It
               defaults  to  ``:/usr/spar/font/ps''  which  means
               that  the current directory will be searched first
               and then the default directory.

FILES
     postscript.sty
          Macro file defining the macros for LaTeX.

     jobname.aux
          contains pointers for pstex.

     file.ps
          EPSF PostScript picture files.

     file.psz
          File generated by pstex and read in by LaTeX to  afford
          communication.

SEE ALSO
     dvips(1), latex(1).

BUGS
     LaTeX forces a cumbersome interface  on  its  preprocessors,
     such  as  BiBTeX  and  pstex.  After adding a new figure, or
     changing the specification in the LaTeX,  you  need  to  run
     LaTeX,  then  psbox,  then  LaTeX  again  to  see the update
     results.  After a change to the PostScript, only  the  final
     LaTeX step is required.

     It is very hard to get troff to put in  backslashes  in  the
     documentation  in  all  the right places.  Some are missing,
     others are replaced by slashes.

AUTHOR
     Pstex was written by Neil Hunt  at  Schlumberger  Palo  Alto
     Research, now at Teleos Research: Neil%Teleos.com@ai.sri.com

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

%%% 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.
%%%
%%% JANET users may choose to use
%%%           texhax-request@uk.ac.nsf
%%%
%%% 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.99                  metafont  1.7
%%%    plain.tex 2.94                  plain.mf  1.7
%%%    LaTeX     2.09 ( 5/24/89)       cmbase.mf see cm85.bug
%%%    SliTeX    2.09                  gftodvi   2.0
%%%    tangle    2.9                   gftopk    2.0 
%%%    weave     3.1                   gftype    3.0
%%%    dvitype   2.9                   pktype    2.2 
%%%    pltotf    2.3                   pktogf    1.0
%%%    tftopl    2.5                   mft       1.1
%%%    BibTeX    0.99c                 
%%%    AmSTeX    1.1d
%%%\bye
%%%

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