<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">
% BEST OF TEXHAX notes for TeXline
% by Sebastian Rahtz
% Malcolm - i am unused to plain TeX, and have quickly hacked together
% some macros. please feel free to redo at will. wish I was back in
% LaTeX.....
%---------------------------------------------------------------------
% program quoting macros
%
\def\UncatcodeSpecials{\def\do##1{\catcode`##1=12 }\dospecials}
{\begingroup\obeyspaces\catcode`\ =13\endgroup}
%
\def\SetupVerbatim{\tt\def\par{\leavevmode\endgraf}\catcode`\`=\active 
\obeylines\UncatcodeSpecials \obeyspaces\catcode`\ =13}
{\catcode`\`=\active \gdef`{\relax\lq}}
%
\def\program{\begingroup\parindent=0em\par
\SetupVerbatim\xprogram}
\begingroup
\catcode`\|=0 \catcode`\\=12
|obeylines|gdef|xprogram#1\endprogram{#1|endgroup|vskip 10pt|parindent=0em|par}
|endgroup
% 
% miscellaneous
\parindent=1em
\def\and{\item{$\bullet$}}
\def\sq{\smallskip\begingroup\leftskip=3em\noindent
\sf\parindent=0em\parskip=2pt}
\def\eq{\smallskip\hrule\smallskip
\parindent=1em\parskip=0pt\leftskip=0em\endgroup}
\def\bs{$\backslash$}
%
% names
\font\sf=cmss10
\def\texline{\TeX line}
%-------------------------------------------
\centerline{\bf Best of \hax, Summer 87}
\centerline{\it Sebastian Rahtz, Department of Electronics and
Computer Science, University of Southampton}
\medskip\noindent
Those readers of \texline\ who are not daily users of electronic mail,
and/or use \TeX\ primarily on micros, may not be aware of the
existence of the \hax\ mailing list, which exists to share information
around the international \TeX\ community. It is distributed from the
University of Stanford under the editorship of Malcolm Brown, and uses
a digest format; Malcolm stores incoming mail (requests for
information, news of new products, replies to other questions,
`official' communications from TUG in advance of TUGboat) until
it reaches critical mass, then bundles it together with a list of
contents and sends it to everyone on the \hax\ list. Typically, this
happens two or three times a week, and each issue contains about a
dozen contributions, which means that a vast amount of \TeX -related
material is flitting across the networks all the time. The purpose of
this article is to describe the range of \TeX ery covered in \hax, and
to reprint some of the more interesting topics. Readers who wish to
join in this activity (be prepared for  a lot of browsing of mail
messages!) must have an account on their local mainframe or mini with
access to network mail (consult your local guru); send mail to
{\tt texhax-request\%uk.ac.ucl.cs} and ask that
your name be put on the list to receive \hax\ (don't forget to tell
them your own mail address). As things stand at the moment, this
international mail will not cost you anything, as one copy is sent to
London and forwarded to you from there.

\hax\ is read by a very large number of people, to judge by
contributions, from America, Canada, Britain, Europe, Japan, Australia
etc. Leslie Lamport is a regular contributor with answers to \LaTeX\
problems, Barbara Beeton monitors it for TUG, and even Donald Knuth
adds the occasional note. It is a good place to send an esoteric
question, as usually someone with an unpronounceable name from an
institution you have never heard of will send in an answer. If you
want a more local answer (`who has got a copy of xxx in Britain?'),
there is a UK version of \hax, recently set up by Peter Abbott at
Aston, to bring together specifically UK \TeX xies---mail to {\tt
abbott@uk.ac.aston.mail} to get on that list.

For the purpose of this article, I have looked at the 36 issues of \hax\
that reached me between May 22nd and September 6th (an average of
about two a week). There were approximately 480 contributions dealing
with every sort of \TeX\ arcana; just searching the subject fields
(not necessarily a proper reflection of contents), I found 129 pieces
relating to \LaTeX\ (including 22 sets of {\it \LaTeX\ Notes} from
Leslie Lamport), 14 pieces on \BibTeX, 11 on \MF, 6 on
\SliTeX, and just 1 on \AmSTeX. My subjective impression is that
\LaTeX\ matters are an even higher proportion of \hax\ even than
appears from these figures. In general, contributions vary from the
questions about hardware (usually printers), to the private life of
\TeX\ macros, as evinced in the following two excerpts:

{\narrower\noindent
  My order for the IBM 4250 font tapes just came back with
   ``I no longer have a font tape for the 4250 printer. The person
    who supplied it to me originally has not made another one for version 2
    of TeX."
  Where can I get one of these tapes?
  What's the difference between V1.01(the one she doesn't have) and 2?
  Will they still work?
\smallskip
and
\noindent
Subject: TeX eats l's after fil
\noindent
If an `l' or and `L' follows a unit of glue such as `fil', even separated
by spaces, it is aparently parsed as part of the name of the unit.  This
leads to some fairly strange behavior.  For example, the following script
will put a `K' and a `M' in the dvi file, but no `L'!

\program
   \def\q#1{\hskip 0 pt plus 0 fil #1}
   \q{K}\q{L}\q{M}
   \end
\smallskip
\%\% Barbara Beeton responds:

the ``l"-gobbling you've encountered is legitimate, and easily explained.
the full syntax of \bs hskip is
\program
	\hskip&lt;dimen&gt; plus&lt;dimen&gt; minus&lt;dimen&gt;
\endprogram
since your example didn't include a ``minus", tex keeps looking.
since ``fil" is a ``pseudo-dimension" it can continue, up to 3 ``l"s
(if your data had been ``llama", all you would have gotten in the output
would have been ``ama").  similarly, if the data had started with the
word ``minus", not followed by a proper$&lt;$dimen$&gt;$, minus would have been
gobbled and you probably would have gotten a nasty message to the effect
that a$&lt;$dimen$&gt;$ was expected, and 0pt will be assumed.  the best way to
avoid this is to put \relax after your skip expression.
	this is covered explicitly in the texbook; look it up in the
index (page 469): ``l after fil".
					-- barbara beeton
\smallskip}

Sometimes \hax\ gets onto a general issue---there have been
discussions over the last year on such questions as:

{\narrower
\and Can University authorities be persuaded to drop their
`double-spaced Courier' thesis requirements for students who have
access to a proper typesetting system like \TeX?
\and What freedom should \LaTeX\ users have to tinker with the layout?
Leslie Lamport feels strongly that only experienced document designers
should be able to alter e.g. the font used in a running head.

\and Can a consistent set of standards for dvi drivers be put
together? What facilities should they have? How do you handle \bs
specials? This question was
addressed in detail at the TUG meeting in August, and a committee was
set up to look into it.

\and What is the relationship of \ps\ to \TeX? Lamport suggested
\TeX\ be changed to output pure \ps, others defend their LN03s to the
death. 
}

Usually, of course, \hax\ is question and answer;
here are some random selections of items that should give a general
flavour of what happens on a daily basis:
\program
   \def \dolist
        {\afterassignment\dodolist
         \let\next=}
   \def \dodolist
        {\ifx \next \endlist \let \next \relax
         \else \\ \let\next\dolist
         \fi \next}
   \def \endlist
        {\endlist}
   \def \\
        {\next\hfil }
   \def \spreadem#1#2{\hbox to #1{\dolist #2\endlist\hfilneg}}
   
   \spreadem{2.0 in}{spread}
   \spreadem{1.5 in}{the}
   \spreadem{1.0 in}{word}
   
   \bye
\endprogram

These macros were adopted from the macros given as the solution to
problem 11.5 in the TEXbook.  The idea is to stick an \bs hfil after every
letter (token) in the word (argument).  The glue after the final letter
causes the word to be ``ragged-right" in the box; this is fixed by
canceling the glue with an \bs hfilneg. 

\eq}

{\sq
Subject:  WEB for Ada?

Is there a version of WEB that accepts the Ada language?

                                 Thanks, Jack Sharer, JWS@PSUARLC

\eq}

{\sq
Subject:  Typesetting chemical papers

Like Th. Kneser, I also needed chemical equilibrium symbols and
came up with the following, which may be useful.  Note that these
are for plain TeX and for chemical equations that are being typeset
in Roman.

\program
%  Definitions and stuff for chemistry, equilibrium symbols :
%  \eq}bm  -- unlabeled equilibrium (longer than harpoons)
%  \eq}bmlab~#1_#2 -- long equilibrium sign with forward (#1) and backward (#2)
%                    labels
%  \yields       -- long right arrow
%  \yieldslab~#1 --  ``    ``      ``  with a label above (#1)
%    To typeset chemical equations,
%  type \rm just after the $ or $$.  Also, when using \eq}align or
%  \eq}aligno, type \cr\rm wherever you would normally type \cr.
%  The labels on \eq}bmlab and \yieldslab come out in italic automatically
%  (use \rm to get roman).  Elsewhere, italicize variables like K_W or N_0
%  using \cit.
%
\def\cit{\fam=-1}   \% Chemistry ITalic
\def\longrharpup{\relbar\joinrel\rightharpoonup}
\def\longlharpdn{\leftharpoondown\joinrel\relbar}
\def\rlPOON#1{\vcenter{\hbox{\ooalign{\raise2.3pt
        \hbox{$#1\longrharpup$}\crcr $#1\longlharpdn$}}}}
\def\eq}bm{\mathrel{\mathpalette\rlPOON{}}\rm}
\def\eq}bmlab~#1_#2{\mathrel{\mathop{\eqbm}\limits~{#1}_{#2}}\rm}
\def\yields{\longrightarrow\rm}
\def\yieldslab~#1{\mathrel{\mathop{\longrightarrow}\limits~{#1}} \rm}
\endprogram


To make subscripts come out aligned I have put (for example)
\program
\fontdimen16\twelvesymboltext=3.24pt
\fontdimen17\twelvesymboltext=3.24pt
\fontdimen16\twelvesymbolscript=2.65pt
\fontdimen17\twelvesymbolscript=2.65pt
\endprogram
in with my font definitions following the example of the TeXbook p.179.
These 12 pt numbers were determined by trial and eye...leading to a
question of my own:

         How can I look at the font parameters for an arbitrary font
         and determine the proper font dimensions to make chemical
         subscripts all come out aligned?  Or, Has someone determined
         the numbers already?

                               Donald
                               (asnd@triumfcl.bitnet  or
                                userasnd@ubcmtsg.bitnet)
\eq}

One common feature of \hax\ is the swopping of style files for \LaTeX.
For those who are not aware of it, here is the latest description of
the Rochester \LaTeX\ style file collection:
{\sq
 Subject: Contents of LaTeX style collection, 2nd August 1987

 Date: Sun, 02 Aug 87 14:03:33 -0400

 From: Ken Yap $&lt;$ken@cs.rochester.edu$&gt;$
 
 The LaTeX style collection now has the files listed below.  More
 submissions are very welcome.

{ \settabs 3 \columns
 \+ 00directory&amp;format.sty&amp;slem.doc \cr
 \+ 00index&amp;fullpage.doc&amp;slem.sty \cr
 \+ 00readme&amp;fullpage.sty&amp;spacecites.doc \cr
 \+ a4.sty&amp;geophysics.sty&amp;spacecites.sty \cr
 \+ a4wide.sty&amp;german.sty&amp;suthesis.doc \cr
 \+ aaai-instructions.tex&amp;ieeetr.bst&amp;suthesis.sty \cr
 \+ aaai-named.bst&amp;ist21.sty&amp;texindex.doc \cr
 \+ aaai.sty&amp;latex.bug&amp;texindex.pas \cr
 \+ acm.bst&amp;layout.readme&amp;texindex.sty \cr
 \+ agugrl.sample&amp;layout.tex&amp;texnames.doc \cr
 \+ agugrl.sty&amp;lcustom.tex&amp;texnames.sty \cr
 \+ agujgr.sample&amp;lfonts\_ams.readme&amp;textyl.readme \cr
 \+ agujgr.sty&amp;lfonts\_ams.tex&amp;textyl.shar1 \cr
 \+ amssymbols.sty&amp;lgraph.shar&amp;textyl.shar2 \cr
 \+ art10.txt&amp;local.suppl&amp;textyl.shar3 \cr
 \+ art11.txt&amp;memo.sty&amp;textyl.shar4 \cr
 \+ art12.txt&amp;mfr.sty&amp;textyl.shar5 \cr
 \+ article.txt&amp;mitthesis.sample&amp;textyl.shar6 \cr
 \+ biihead.sty&amp;mitthesis.sty&amp;textyl.shar7 \cr
 \+ ctex.readme&amp;natsci.bst&amp;textyl.shar8 \cr
 \+ ctex.shar1&amp;newalpha.bst&amp;textyl.shar9 \cr
 \+ ctex.shar2&amp;nopagenumbers.doc&amp;tgrind.sty \cr
 \+ ctex.shar3&amp;nopagenumbers.sty&amp;threepart.sty \cr
 \+ ctex.shar4&amp;remark.sty&amp;titlepage.txt \cr
 \+ ctex.shar5&amp;resume.sample&amp;trademark.sty \cr
 \+ ctex.shar6&amp;resume.sty&amp;uct10.doc \cr
 \+ cyrillic.sty&amp;sc21-wg1.sty&amp;uct11.doc \cr
 \+ dayofweek.tex&amp;sc21.sty&amp;uct12.doc \cr
 \+ deproc.sty&amp;sfwmac.sty&amp;ucthesis.doc \cr
 \+ deprocldc.tex&amp;showlabels.sty&amp;ucthesis.readme \cr
 \+ docsty.c&amp;siam.bib&amp;uuencode.shar \cr
 \+ docsty.readme&amp;siam.bst&amp;vdm.doc \cr
 \+ doublespace.sty&amp;siam.doc&amp;vdm.sty \cr
 \+ draft.sty&amp;siam.sty&amp;vdm.tex \cr
 \+ drafthead.sty&amp;siam.tex&amp;ws87.p \cr
 \+ dvidoc.shar1&amp;siam10.doc&amp;wsltex.c \cr
 \+ dvidoc.shar2&amp;siam10.sty&amp;wsltex.p \cr
 \+ epic.shar1&amp;siam11.sty&amp;xxxcustom.tex \cr
 \+ epic.shar2&amp;siam12.sty&amp;xxxslides.sty \cr
} 
 
 1. For Internet users - how to ftp:
 
 Here is an example session.  Disclaimer: ftp syntax varies from host to
 host. Your syntax may be different. The syntax presented here is that
 of Unix ftp. Comments in parentheses.
 
\program
 % ftp cayuga.cs.rochester.edu	(a.k.a. cs.rochester.edu, a.k.a. 192.5.53.209)
  ...				(general blurb)
 user: anonymous
 password: &lt;any non-null string&gt;
 ftp&gt; cd public/latex-style	(where the files are)
 ftp&gt; ls				(to see what is there)
  ...				(lots of output)
 ftp&gt; get 00index
  ...				(more blurb)
 ftp&gt; quit
\endprogram
 
 2. Non-Internet users - how to retrieve by mail:
 
 An archive server has been installed. Send a piece of mail to LaTeX-Style
 (@rochester.arpa, @cs.rochester.edu, via uucp or your favourite gateway) in
 the following format:
 
 Subject line should contain the phrase ``@file request".  Body of the
 mail should start with a line containing only an @ (at) sign.
 The first line following should be a mail address FROM rochester TO
[B you.  Then follow by the names of the files you want, either one to
 each line, or many to each line, separated by spaces.  End with a line
 containing only an @ sign.  Case is not significant.
 
 For example, if you are user at site.bitnet, this is what you should send:

\program
 
 To: latex-style@rochester.arpa
 Subject: @file request
 
 @
 user%site.bitnet@wiscvm.wisc.edu		(don't forget your address!)
 00readme
 00index
 @
\endprogram
 
 Caveat: our mailer is pretty ignorant of BITNET, CSNET or UUCP
 addresses unless they are in registered domains. It is best that you
 supply explicit gateway routes. Also use the new domainized form of
 addresses whenever possible because the old .ARPA addresses are fading
 away.
 
\program
 	user%site.bitnet@wiscvm.wisc.edu
 	user%site.csnet@relay.cs.net		(not csnet-relay.arpa anymore)
 	site!user@seismo.css.gov		(not seismo.arpa anymore)
\endprogram
 
 Long UUCP paths are discouraged. System administrators get upset and
 your turnaround is very slow anyway.
 
 Do not include any messages in the mail. It will not be seen by human
 eyes.  Be patient as the server is actually a batch program run once a
 day. Files will be sent in batches, each not exceeding 100kbytes in size.
 
 3. IBM PC and clone users - how to get a distribution:
 
 David Hopper of Toronto, Canada is offering copies of the style
 collection on diskettes.  This is not a commercial enterprise. David is
 doing this in his own time as a favour to the TeX community. The entire
 set of style files, not including the C-TeX files, as of June 1st, fits
 on one 1.2 MB diskette or three 360KB diskettes. No subsetting,
 please.  Send David
 
\item{ 1.} Formatted diskettes,
 \item{2.} Indication of the format required,
 \item{3.} A self-addressed mailer, and
 \item{4.} A \$5.00 donation per set of files, to cover postage and equipment wear
    \&amp; tear. (If you live outside North America, airmail delivery will probably
    require more postage. You should probably contact David for details.)
 
 David's address:
{\it 
 	David W. Hopper,

 	446 Main Street,


 	Toronto, Ontario,

 	Canada M4C 4Y2
}
 
 Thanks, David.
 
 	Ken

 	LaTeX-Style@Rochester.Arpa

 	LaTeX-Style@cs.Rochester.Edu

 	..!rochester!latex-style
 
\eq}
 
\bye
</pre></body></html>