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
**************************
-------