TeXhax Digest   Wednesday, February 17, 1988   Volume 88 : Issue 17
     A                   [SCORE.STANFORD.EDU]<TEX.TEXHAX>TEXHAX17.88

Editor: Malcolm Brown

Today's Topics:

                   immoderate notes: lots of TeXhax
                   Where do I get TeX for my Suns?
                       (Flame) Re: Latex notes
    Somthing similar . . . == Dropinitial (TeXhax Digest V88 #14)
                     Dynamic \parskip computation
           Flame of the week: Unix-style command interfaces
                   Fix for DVI2PS on a CONVEX C1-XP
                  TexHax14.88 An interesting puzzle
                       RE: \DOTFILL IN \HALIGN
                        TeX on the QMS PS-800+
                               AMSSMC40
                        Re: What is amssmc40?
                         MicroTeX Epson Fonts
                            Icelandic TeX
                                FWEB?
                        Re: ? under-twiddle ?

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

Date: 17 Feb 88
From: Malcolm
Subject: immoderate notes: lots of TeXhax

%% Yes, this is indeed the third digest in as many days.  This is due
%% to a sharp increase in the number of submissions.  I'm still attempting
%% to keep each digest about 20K bytes in size.  This would seem to keep
%% each issue more manageable, as well as allow us to fit the list of
%% topics on a single screen!  The previous two digests were larger than
%% the 20K target size.  This was again due to the flash flood of submissions.
%%   Malcolm

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

Subject: Where do I get TeX for my Suns?
Date: Fri, 12 Feb 88 15:54:58 EST
From: williams%nrl-css.arpa@nrl-css.arpa

	I would like to install TeX on the Sun 3 server we have here at
NRL.  I would appreciate information on how I can get the latest Unix TeX 
distribution, and/or how I can get either of the C versions of TeX
(one by Monardo, the other by Morgan) which I have seen mentioned
in texhax.  Thanks in advance!

Jim Williams
 ------------------------------------------------------------
There is no 'd' in "kluge"!  It rhymes with "deluge", not "sludge".

James W. Williams			williams@nrl-css.arpa
Information Technology Division		
Naval Research Laboratory		(202) 767-9035
Washington, DC

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

From: Julian Bradfield <jcb%lfcs.edinburgh.ac.uk@NSS.Cs.Ucl.AC.UK>
Date: Fri, 12 Feb 88 17:02:16 GMT
Subject: (Flame) Re: Latex notes

[ To the moderator: I know this matter has been the subject of previous
[ discussion in TeXhax, and I realize it may not be appropriate to include
[ it; please use your discretion, and if you decide not to include, please
[ send me a note so that I can mail Dr Lamport personally.

%% No reason not to send this out.  In general, I don't think it's my
%% job to decide what goes out and what doesn't, unless a submission is
%% clearly slanderous.  Malcolm

It seems that it is once more time to protest at Dr Lamport's treatment of 
those who wish to make modifications to LaTeX styles.
In TeXhax V88 #14, his reply to the question of why LaTex does not
indent the first paragraph of a section was:

  Because the document styles were designed by someone who understands
  the principles of good design.  Anyone wishing further details
  should spend some time learning about book design.  There are 
  numerous schools of design that teach the subject.

I do not believe this. I believe it was done because the style designer
happened to like unindented first paragraphs. Certainly there is no
golden rule that the first para must be unindented; and a survey of the
books on my shelves (ignoring TeXed conference reports and other amateur
productions) does not suggest that there is any correlation between the
indention of first paras and any other aspect of the style (although I
can think of some slightly infelicitous combinations). Of course, I
may be wrong; Dr Lamport knows far more about typographic design than
I do, but if there is a consensus on the issue, I should be obliged if
he would explain it, instead of preaching from on high (and I reserve
the right to disagree with the consensus!).

Enough of the particular. My complaint to Dr Lamport is that he seems
always to assume that those who disagree with him are wrong, ignorant
and stupid, which I find hard to take from someone responsible for
styles which I (and others) find very ugly. (And to forestall his
standard response, extreme ugliness is a sufficient condition for
unreadability, just as is bad writing.) I would ask Dr Lamport to
be less abrasive in his public utterances; the more so because his
general points, such as the importance and difficulty of design, and
the desirability of designing changes, rather than hacking them in,
are important, and it is a pity that they should be obscured by his
antagonistic style.

(Incidentally, I do not use LaTeX, and am unlikely to do so; I write
merely as a TeXhax reader who wishes to read a courteous and friendly
bulletin board. Also, I have no strong opinion on the indention of
first paragraphs!)

Julian Bradfield, jcb@lfcs.ed.ac.uk

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

Date: Fri, 12 Feb 88 14:02:31 PST
From: mackay@june.cs.washington.edu (Pierre MacKay)
Subject: Somthing similar . . . == Dropinitial (TeXhax Digest V88 #14)

What you are looking for is a DDD  ROPPED Initial, for which I supplied
                              D  D  some usable code in a previous 
                              D  D  TeXhax communication.  Maybe someone
                              DDD   else will remember which one.  This 
                              is a rather extreme example of a four line
                              dropped initial, which really needs some Irish
                              interlace to make it interesting.

There is a good overview of the criteria that should be applied to design
of a dropped initial in Frank Romano's \it{TypEncyclopaedia}.  The code
I developed for the Middle East Studies Association Bulletin does not
do nearly enough.  If I ever reform it enough to come closer to Frank Romano's
standard, I wil make the improvement available here

						Pierre A. MacKay
						TUG Site Coordinator for
						Unix-flavored TeX

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

Date: Fri, 12 Feb 88 17:06:36 EST
From: i5f@l.cc.purdue.edu (S Bechtolsheim)
Subject: Dynamic \parskip computation

Here is an interesting problem (actually I hope that I am missing
something and that it is easy to solve): \TeX will at the
beginning of a paragraph, among other things, do the following (in
this order):
	1. generate \parskip glue
	2. switch to horizontal mode
	3. evaluate \everypar

	What I would like to do though is to call at the beginning of each
paragraph a macro, let is call it \ComputeParSkip, which computes
the value for \parskip to be used for the paragraph. By the time
\everypar is evaluated it is already too late to do so because
\parskip was already inserted.

	Is there any way to insert automatically  a \vskip in front of the first
line of a paragraph? If one sets \parskip = 0pt and it would be possible
to sneak in a \vskip than this would work. But I don't think this is
possible.

	The next thing to do (I thought at least) was to use \everypar to
finish a paragraph instantly, to compute the desired value for
\parskip or to put in a \vskip manually, and then to start the
paragraph again. Here is how I did this:

	\parskip = 0pt	% No \parskip.

	\def\ComputeParSkip{... generates some dimension ...}

	% This macro loads \everypar.
	\def\LoadEveryPar{%
		\everypar = {% 
			\endgraf		% End paragraph immediately.
			\vskip -\baselineskip	% Undo effect of empty paragraph.
			\ComputeParSkip	% Loads result into \MyParSkip.
			\parskip = \MyParSkip
			\everypar = {}
			\leavevmode		% Start paragraph again.
		}
	}
	\LoadEveryPar	% Initialization.

	% \par reloads \everypar for another round.
	\def\par{% 
		\endgraf
		\LoadEveryPar
	}

Now what is the problem with this solution? The \vskip-\baselineskip
almost always neutralizes the effect of the empty paragraph but not
always. If you look at the main vertical list of the text then you
will see that the initial empty paragraph consists of three items:
	(1) \baselineskip glue
	(2) \parskip glue
	(3) empty hbox

	Assume now that (1) caused the page to overflow, i.e. a page break was
generated. This glue will disappear due to the break, the empty hbox
will end up on top of the next page and the subsequent
\vskip-\baselineskip which was generated through the \everypar deal
will cause the text to start one line higher than the text should
start.

	Any hints / thoughts would be appreciated.

Stephen v. Bechtolsheim
i5f@l.cc.purdue.edu

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

Date: Fri, 12 Feb 88 14:33 PST
From: Don Hosek <DHOSEK%YMIR.BITNET@forsythe.stanford.edu>
Subject: Flame of the week: Unix-style command interfaces

Why don't I like Unix-style interfaces? Because I'm not on a unix system!

Unix-style interfaces (USIs) are fine if you're on a system with a Unix-style
operating system, but when you are on a system such as VMS or CMS that has a
well-defined and intellegible style for command-line options, your
driver/utility/whatever should use that.

Writing in C is not a sufficient excuse.

-dh

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

Date:     Fri, 12 Feb 88 15:36:08 PST
From:     martyg@LBL.Gov (Martin Gelbaum)
Subject:  Fix for DVI2PS on a CONVEX C1-XP

A local programmer, Mr. Peter Fuller, fixed the problem in DVI2PS running
on a CONVEX C1-XP. Here is the output of the differences between
dvi2ps.c.  Note that Mr. Fuller started with version 2.10 of DVI2PS.

2d1
< 
164a164
> #include <sys/file.h>
2091a2092
>     register int m; /* sign mask */
2093c2094,2096
<     x = getc(fp);   /* get first (high-order) byte */
---
>     x = (getc(fp)<<24)/(1<<24);   /* get first (high-order) byte */
> 				  /* Sign extend Peter Fuller, 1 Feb 88 */
>     
2104,2105c2107,2108
<     x<<=32-8*n1;
<     x>>=32-8*n1;  /* sign extend */
---
> /*    x<<=32-8*n1;  /* Code removed 1 Feb 88, Peter Fuller */
> /*    x>>=32-8*n1;  /* sign extend */

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

Date:         Sat, 13 Feb 1988 02:34 EST
From: Jim Walker <N410109%univscvm.BITNET@forsythe.stanford.edu>
Subject:      TexHax14.88 An interesting puzzle

Don Hosek asks about a macro that would typeset a long title with the
last line centered, and all previous lines flush to the margins.
Here is my solution.
  \def\weirdtitle#1{%
       \setbox0=\vbox{\noindent #1}%
       \setbox1=\vbox{%
            \unvbox0
            \setbox2=\lastbox
            \line{\hfill\unhbox2 \hfill}%
       }%
       \unvbox1
  }%

Jim Walker, University of South Carolina

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

Date:     Sat, 13 Feb 88 17:19 EST
From: <KEE%PSUARLC.BITNET@forsythe.stanford.edu>
Subject:  RE: \DOTFILL IN \HALIGN

Barbara Beeton has already suggested one nice and simple solution to the
problem posted in TeXhax Vol. 88 No. 12 so perhaps the following is of
only academic interest. However, it does have the advantage of letting
\halign selects the width of the "extension" column (column 3 below)
rather than requiring that one guess at this value.

The only way that \halign will stretch out the table to some given size
(such as \hsize) above and beyond the minimum required is if there is
some stretchability in the \tabskip glue such as that which will be placed
between columns 1 and 2 in the following. However, TeX normally fills in
the stretched region with glue i.e. blanks. The following gets dots into
this region by \span`ing across it and then letting the \dotfill sitting
in column 1 do its thing. At least I think that is what happened (one can
never be sure with TeX).

One drawback is that there must be at least one line that does NOT use the
\span command to combine columns 1 and 2; this is the first line with the
\quad below (it could be any line). I'm not sure why this is needed.

\def\dotfill{\leaders\hbox to 1em{\hss.\hss}\hfill}

\halign to \hsize{#\dotfill\tabskip=0pt plus 500pt&#\tabskip=0pt&#\cr
&\quad\cr
entry text\span&                 extension\cr
another entry\span&              extension\cr
yet another entry (yawn)\span&   extension/extension\cr
lots more of them\span&          extension\cr}

\bye

Kent Eschenberg
Applied Research Laboratory, Penn State University, State College, PA
BITNET Address KEE@PSUARLC

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

Date: Sun, 14 Feb 88 00:20:13 ECT
From: HANCHE%NORUNIT.BITNET@CUNYVM.CUNY.EDU
Subject: TeX on the QMS PS-800+

In TeXhax 1988#10 and also in Laser-Lovers, I asked for help concerning
our new QMS PS-800+ laser printer.  Briefly, the problem was that we could
not produce teX output on it using the Textset DVILASER/HP (v.1.6) driver.
We are using IBM AT-compatible computers running MS-DOS.

I got several replies, have solved the problem, and will now summarize for
the lists like I promised to do.

John S. Gourlay <jsg@blue.arbortext.com> kindly informs me that Textset
have changed their name to ArborText, that they now ship version 4.6
of both their DVILASER/HP and DVILASER/PS, and that the latter works
fine with their own QMS PS printer.  Upgrades seem to be quite reasonable.

Gaspard A.  de Jong <GASPARD@HROEUR5> Uses the QMS PS-800 (*not* the
Plus) with DVILASER/PS v.4.0, and is very happy with it.  David J.
Buerger <dbuerger@scu.bitnet> also got that to work, but when he
upgraded to the Plus,

> [...] it stopped working all together.  I worked with
> an Arbortext technician to solve the problem, but despite her valiant
> efforts, we never solved the problem.  We tried coordinating our tests
> with QMS and they never solved it either.

He didn't get DVILASER/HP to work with the printer either.  Indeed, de
Jong offered the following insights on the sticky subject of HP LaserJet
emulation:

> I am not surprised you cannot obtain TeX output with the HP LaserJet
> emulation.
> We regularly evaluate laser printers at the computing center. One of the
> tests I use for the HP Laser Jet emulation that most claim to offer is
> a file of TeX output. Of all the printers tested so far the only ones that
> have passed this test are:
> HP LaserJet+
> HP LaserJet II.
> The problem arises with TeX output because this places high demands on the
> font management capabilities of the printer. And the font management is
> usually emulated incompletely by HP clones.
> The LaserJet II is a perfect (and very affordable) printer for TeX.

Ah, had I only known earlier!  Now, the good news, in Buerger's words:

> However, Nelson Beebe's DVIALW software works like a champ.  I love it.
> His DVIJEP (HP) driver does not work on the QMS in emulation mode either,
> but it works fine on a true LaserJet Plus/II.  Plus it's free. [...]
> Otherwise, the PS-800+ has been great.

I had been under the erroneus impression that DVIALW was only available
for Unix and VMS machines!  But no, it runs on MS-DOS computers too.

I got a hold of it and compiled it using Microsoft 4.0, and it works fine.
That is, I had to fix a bug in it first which caused a font change command
to be left out at the beginnings of some pages.  (Bug reported to Nelson
Beebe; I am sure it will be gone in the next release.)

By the way, I first tried compiling it using Microsoft 5.0 and it compiles
without error messages, but the linker produces no executable (also without
any error messages, most of the time).  It seems to work for others - maybe
something with my configuration?

My thanks also go to Harald Koenig who provided valuable help.
------
Here is my quick bug fix.  Use at your own risk only, until an
"official" workaround is found.  I do not claim to understand all the
subtleties of this program! If you do not usually have your laser
printer stop in midstream, don't apply this bug fix.  Your version of
DVIALW probably does not have this bug.

1.  You need to declare a global BOOLEAN variable ld_this_page.  It will
be TRUE if any characters have been loaded so far on this page.  The file
gblvars.h is the place for this I think, though dvialw.c will work too.

2.  In the routine bopact(), file dvialw.c, insert this statement someplace:

    ld_this_page=FALSE;        /* Force naming of first font (hh-o) */

3.  In the routine setstr() in dvialw.c, find a piece of code looking like

        if ( font_switched ||
            (fontptr->font_number != last_font_number))
        {
            OUT_FONTNAME;
            font_switched = FALSE;
        }
        loadchar(c);

(Maybe the if test is on one line - I don't remember and I am too lazy
to unpack the archive and find the original)  and change the if part
to look like

        if (!ld_this_page || font_switched ||
            (fontptr->font_number != last_font_number))

also, insert the statement

            ld_this_page = TRUE;

in between the curly brackets.

4.  Recompile and go.  And remember, I don't guarantee it...

- Harald

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

Date: 14 Feb 88  1342 PST
From: Joe Weening <JSW@SAIL.Stanford.EDU>
Subject: AMSSMC40  

In the change from AM to CM fonts, AMSSMC10 was replaced by CMSSDC10 and
AMSSMC40 was replaced by CMSSDC10 scaled 4000.  This is because AMSSMC40
was actually just a scaled version of AMSSMC10, so it wasn't really
right to give them separate names.

Barbara Beeton pointed out to me that fonts with a non-standard magnifi-
cation (i.e., 4.0 which is not a power of 1.2), can cause a problem for
systems that use a separate directory for each magnification.  My advice
is either to create a special directory for this font, or to have a
"miscellaneous" directory that is searched for fonts not otherwise
found.  That's what we do at SAIL and it has proved to be quite useful
when people need non-standard magnifications.  This only works if the
magnification is encoded in the file name as well as the directory name,
which not everyone does.  I wish they would since the redundancy is good
to have in this case.

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

Date: Sun, 14 Feb 88 13:58 PST
From: Don Hosek <DHOSEK%HMCVAX.BITNET@forsythe.stanford.edu>
Subject: Re: What is amssmc40?

In one of the information files on either the VMS or CMS distribution, it
is said that the cm equivalent of amssmc40 is cmssdc10 at 40pt. This is
inconvenient (to say the least) since very few people have 4x magnifications
of any fonts. I would imagine that it should be possible, however to simply
multiply the appropriate parameters in cmssdc10 by 4 to get a cmssdc40 driver
file.

-dh

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

Date: Mon, 15 Feb 88 12:51:39 EST
From: mroth@afit-ab.arpa (Mark A. Roth)
Subject: MicroTeX Epson Fonts

When you buy the MicroTeX Epson device driver from Addison-Wesley, you
only get a very minimum of am fonts for the Epson.  This consists of
the basic set of 5, 7 and 10pt fonts and their magnifications.  Notably
missing are the line and circle fonts for use with LaTeX.  They do have
a pxl to epson font convertion program, so if pxl files at the appropriate
sizes are available (240dpi and 120dpi) then you can convert them.

We are contemplating a Metafont run to generate the needed files, however,
if someone has already done this, it could save us a lot of time.

Please let me know if you have either pxl or epson fonts at the 240dpi or
120dpi sizes.

Thanks,
Mark Roth

mroth@afit-ab.arpa

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

Date:     Fri, 12 Feb 88 10:27 EST
From: <V999Q8BX%UBVMS.BITNET@forsythe.stanford.edu>
Subject:  Icelandic TeX

I recently read an article in the TeXhax Digest in which
the author referred to an Icelandic version of TeX.  I
could not find any reference to this TeX version in
the TeXhax Digest issues that were stored at the time
in the Bulletin utility at this university (SUNY at
Buffalo).  What is the best way for me to find out
about Icelandic TeX?

Thanks,

Armann Ingolfsson

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

Date: Sat, 13 Feb 88 13:04:25 pst
From: Alex Woo <woo@ames-pioneer.arpa>
To: texhax-request@score.stanford.edu
Subject: FWEB?

Is anyone working on FWEB or FORTRAN WEB?  If there is any language
which needs a self-documenting preprocessor it is FORTRAN.

Alex Woo

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

Date: Wed, 17 Feb 88 08:16:54 EST
From: "Paul H. Calamai" <phcalamai%water.waterloo.edu@RELAY.CS.NET>
Subject: Re: ? under-twiddle ?

Michael Meyer <mm8s+@andrew.cmu.edu>:
> 
> 
> One of my colleagues like to use an under-twiddle (or under-tilde) as part of 
> his notation.  (On the blackboard he uses this notation for vectors, and wants 
> his notes to look the same).
> 
> Does anyone have a good method of putting a tilde under a character.  I'm not 
> a TeX-hacker,  and though my simple efforts "work" they are far from perfect 
> (let alone elegant). I'm looking for something that will work like \underbar.
> 
> Please respond directly to me -- our local distribution of TeXhax seems to be 
> broken.
> 
> Many Thanks,
> --Mike Meyer   mikem@andrew.cmu.edu
> Statistics, Carnegie-Mellon U
> 
How about this:

% The command underwiggle puts a `wiggle' under the corresponding character.
% It is an adaptation of the TeX command \underbrace (TeXbook, page359)
\def\underwiggle#1{\mathop{\vtop{\ialign{##\crcr
    $\hfil\displaystyle{#1}\hfil$\crcr\noalign{\kern2pt\nointerlineskip}
    $\scriptscriptstyle\sim$\crcr\noalign{\kern2pt}}}}\limits}


------------------------------
%%%
%%% subscriptions, address changes to: texhax-request@score.stanford.edu
%%%     please send a valid arpanet address!!
%%%
%%% BITNET distribution: subscribe by sending the following
%%%   line to LISTSERV@TAMVM1.BITNET:
%%%       SUBSCRIBE TEX-L <your name>
%%%
%%% submissions to: texhax@score.stanford.edu
%%%
%%%\bye
%%%
------------------------------

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