[comp.text] TeXhax Digest V88 #81

TeXhax@Score.Stanford.EDU (TeXhax Digest) (09/21/88)

TeXhax Digest   Wednesday, September 21, 1988   Volume 88 : Issue 81

Moderator: Malcolm Brown

Today's Topics:

             Form letters using letter macros in TeX Book
               Re: TeXhax Digest V88 #77 (LaTeX notes)
               Re: TeXhax Digest V88 #78 (LaTeX notes)
                 reference works for document layout
                  TeXHaX submission---merge substyle
                           dates in letters
               Re: TeXhax Digest V88 #72 (LaTeX notes)
                         Euler fonts question
                      Infinite looping in LaTeX
                         TeX for Amiga wanted
             Has this LaTeX maybe-bug been fixed already?
                         LaTeX distribution?
                   Boxes within Boxes within Boxes
                            Danish letters
                EEPIC 1.0, fig2epic and a bug in EPIC
                DVI (w/ tpic specials) drivers Update
                         driver for CANON LBP

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

Date:     Sun, 4 Sep 88 21:39 CDT
From:     <MURALI%TAMLSR.BITNET@Forsythe.Stanford.EDU>
Subject:  Form letters using letter macros in TeX Book

Could someone please give me some ideas on how I could use the letter macros
on pages 404-408 of the TeX book to generate form letters, i.e. multiple copies
of the same letter with different receiver's address and name.  If there's an
efficient way to read the names and addresses from a separate file and
supply them for "\address" and "Dear XXXXX:" in the letter macro and generate
letters it would be great (I am familiar with the use of the letter macros
listed in the TeX book).  Will appreciate your help on this very much.

Thank you.                                                   MURALI@TAMLSR

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

Date: Sun, 4 Sep 88 11:24:46 PDT
From: lamport@src.dec.com (Leslie Lamport)
Subject: Re: TeXhax Digest V88 #77 (LaTeX notes)

Tom Schneider writes:

   When I use the LaTeX letter environment I automatically have a date
   supplied.  But the date given is always today, not the day that I wrote
   and sent the letter, so if I print out a copy of the letter later I get
   the wrong date.  I cannot locate anyplace in the manual that says how
   to over ride this (under date or letter or today or whatever), or even
   how to prevent the date from showing (so that I can insert my own).
   So: how do I prevent dates or over ride the default?  \date{mydate}
   doesn't work.
   
I believe that the letter style uses \today to generate the date,
so typing something like

   \renewcommand{\today}{July 4, 1776}

should work.

Leslie Lamport

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

Date: Sun, 4 Sep 88 11:38:08 PDT
From: lamport@src.dec.com (Leslie Lamport)
Subject: Re: TeXhax Digest V88 #78 (LaTeX notes)

Bernie Cosell writes:

   I'd appreciate pointers to reference works that might be suitable to
   use as "bibles" for document layout (much as one might use the Chicago
   Manual of Style for questions a level higher-up).  We're pondering some
   setting up an "official" set of LaTeX document styles, and there are
   two serious problems we have: (a) no one _really_ knows what they're
   doing, and (b) nonetheless, everyone has an opinion they feel strongly
   about.  It'd be neat to have something we could fall back on to help
   resolve things.  Are there some moral-equivalents of dictionaries and
   manuals-of-style for layout and design questions?  Thanks.

I rather doubt if he'll find what he's looking for.  "Digital
Typography: An Introduction to Type and Composition for Computer System
Design" by Richard Rubinstein (published by Addison-Wesley) has a few
useful ideas, but it's mostly about the problems of digitizing fonts.
Once upon a time, Marshall Henrichs (who is primarily responsible for
the LaTeX standard styles) and I were planning to write such a book,
but we both had too many other things to do.  The problem seems to be a
lack of designers who are competent, can explain their thought
processes, and understand the constraints placed by automated formatting
systems.  Richard Southall is the best qualified person I know to 
write such a book, since he is a designer who can also program computers.
However, his major interest is in font design and, when I worked with him
briefly a few years ago, he also had difficulty thinking in terms of
algorithms instead of concepts.

Leslie Lamport

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

Date: Mon 5 Sep 88 12:18:13-PDT
From: Barbara Beeton <BEETON@Score.Stanford.EDU>
Subject: reference works for document layout

though it's not a real "cookbook", a 2-part article in ep&p (electronic
publishing and printing) for april/may and june/july 87 presented some
sensible guidelines for deciding what is important from the point of
trying to communicate with readers.  the two parts are called
"communicating efficiently via functional page structures" and
"sense and sensibility: good design considerations"; they are by
jan v white, a communication design consultant.  (that is all i know
about this person.)  both parts start on p 38 of the respective issues.
the publisher's address is Maclean Hunter Corp., 300 W. Adams, Chicago,
IL 60606.

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

Date: Tue, 6 Sep 88 12:10 +1200
From: GRAEME%otago.ac.nz@RELAY.CS.NET
Subject: TeXHaX submission---merge substyle

Erich Neuwirth in TeX88.77 comments that my merge style doesn't handle running
headlines properly. Fair enough---it doesn't.

I have fixed this problem and other problems from the original version and
now have a new, `improved' version. Here it is:

%%%%%%%%%%%%%%%%%%%%%%%%%%% Cut with sharp axe here %%%%%%%%%%%%%%%%%%%%%%%%%%
% The following substyle should be used in conjunction with the letter
% style. This substyle allows a `standard' letter to be merged with a file
% containing a list of addresses and opening lines, e.g.,
%
%          {Computing Services Centre, \\
%           University of Otago, \\
%           Dunedin}
%          Dear Graeme,
%
%   Braces are matched. If the input is only one line then it is not necessary
% to contain it within braces.
%   To use the MERGE substyle:
%      \documentstyle[merge]{letter}
%
%        \signature{ ... }
%        \address{...}
%
%      \begin{document}
%      \begin{merge}{<mergefile>}
%
%          % contents of standard letter
%
%      \end{merge}
%      \end{document}
%
%  where <mergefile> is the name of the file containing the addresses and
%  opening lines (it has a default extension of `.tex')

\typeout{Merge substyle---release 6 October 1986 by Graeme McKinstry}

% The basic algorithm is:
%      1. open the address file
%      2. Read the addresses file getting the address and opening line.
%      3. Process the contents of the MERGE environment and store it
%         in a box (\@store). This is the standard part of the letter.
%      4. Produce the start of the letter (your address (including date),
%         their address, and the opening line).
%      5. Make a copy of the standard letter (\@store) and unbox this copy.
%      6. Repeat steps 2, 4, and 5 (not 3) until there are no more addresses.


\newbox\@store
\long\def\@contents{\global\setbox\@store=\vbox\bgroup}  % store the contents
\long\def\@endcontents{\egroup}                          % of the letter

\def\@sendaddress{test}
\def\@openingtext{test}
\newif\if@firsttime                          % For storing the standard letter
                                             %   the first time through.
\@firsttimetrue

\newread\@addrfile                           % allocate an input stream

\def\@openfile{\openin\@addrfile=\@mergefile % open the address file
\ifeof\@addrfile                             % i.e., didn't open successfully
  \loop
     \immediate\write16{Could not open file \@mergefile}
     \closein\@addrfile                      % close the input stream
     \read16 to \@mergefile                  % get another file name
     \openin\@addrfile=\@mergefile           % open up input stream
     \ifeof\@addrfile
  \repeat                                    % repeat until successfully opened
\fi}

% The merge environment (used as the \begin{merge}. The argument (#1) is
% the name of the file containing the addresses (a default of .tex extension)
% This file is opened (\@openfile), read (\@readfile), and then the box
% containing the contents of the standard letter is started (\@contents).
\def\merge#1{\def\@mergefile{#1 }\@openfile
                 \@readfile
                 \@contents}

% Read address file getting the address and opening line. If this is the
% first through then there is no reason to call \endmerge as this will
% be called later on (when \end{merge} is used).

\def\@getopeningline{\global\read\@addrfile
                            to\@openingtext}  % get the opening line

\def\@readfile{\global\read\@addrfile to\@sendaddress   % get the address
              \ifeof\@addrfile
                 \let\next=\relax
              \else
                 \@getopeningline
                 \if@firsttime
                    \let\next=\relax
                 \else
                    \let\next=\endmerge
                 \fi
              \fi\next}

\newbox\@letterbox       % For copy of \@store (the box containg the standard
                         %   letter.
\def\endmerge{\if@firsttime\@endcontents\global\@firsttimefalse\fi %
                                        % end contents if it is the first time
     \bgroup\let\oldletter=\letter
     \def\letter##1\@relax{\oldletter{##1}}  % redefines letter
     \expandafter\letter\@sendaddress\@relax % need to expand \@sendaddress
     \opening{\@openingtext\vskip2\parskip}
     \setbox\@letterbox=\copy\@store  % copy the contents of the letter
     \unvbox\@letterbox
     \endletter\egroup
     \ifeof\@addrfile
        \message{End of file}
        \let\next=\relax
     \else
        \let\next=\@readfile          % loop round yet again
     \fi\next}
%%%%%%%%%%%%%%%%%%%%%%%%%%% Cut with sharp axe here %%%%%%%%%%%%%%%%%%%%%%%%%%

\closing{Many happy merges,}

\signature{Graeme McKinstry, \\
           Computing Services Centre, \\
           University of Otago, \\
           Dunedin, \\
           NEW ZEALAND (where's that you ask)}

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

Date: Mon, 5 Sep 88 17:24:36 EDT
From: toms@ncifcrf.gov
Subject: dates in letters

A little while ago I asked how to make LaTeX do dates the way I want.
I received many responses, thanks to everybody!
The simplest, cleanest solution was given by loh@stat.wisc.edu (Wei-Yin Loh):

> You should put the line
> \renewcommand{\today}{May 6, 1901}
> after \documentstyle{letter}.

This one is nice, since I can do it the way I prefer:
\renewcommand{\today}{1908 May 6}
and both LaTeX and I are happy.
  Tom Schneider
  National Cancer Institute
  Laboratory of Mathematical Biology
  Frederick, Maryland
  toms@ncifcrf.gov

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

Subject: Re: TeXhax Digest V88 #72 (LaTeX notes)
Date: Tue, 06 Sep 88 14:28:23 +0100
From: Eamonn McManus <mcvax!cs.tcd.ie!emcmanus@uunet.UU.NET>

In V88 #76, Leslie Lamport writes:

> Jonathan Thornburg writes:
> 
>    I'm looking for a LaTeX "short verbatim" macro, rather like \verb|...|,
>    but which can be used in chapter/section titles, figure captions,
>    inside a box in math mode, and generally in arguments to other macros.
>    \tt alone almost does the job because I'm really only worried about
>    computer program names, which don't have many special characters in
>    them, *but* I don't want to have to say \_ to get an underscore.
>          
> Unfortunately, what he wants to do is impossible in TeX, since when TeX
> processes \macroa{\macrob{a}} the charcter code of the "a" is determined
> before \macrob is looked at.  The only solution is to define an
> environment "nosubscript" in which "_" is \catcoded to an ordinary
> character.  [...]

I don't think this is true.  In most cases, one can undo TeX's assignment of
category codes by replacing the argument with an equivalent one where all
the characters have category `other'.  The Dirty Tricks appendix to the
TeXbook provides a deviously simple way to do this:

\long\def\verbatim#1{\def\next{#1}%
  {\tt\frenchspacing\expandafter\strip\meaning\next}}
\def\strip#1>{}

So you can say \verbatim{under_score} and it will behave nicely.  This
obviously can't work for the `%' character, and may not do what is wanted
for `{', `}', `\', and space, but it seems to provide what the original
poster wanted.  In LaTeX it needs to be \protect'ed as appropriate, and one
would probably want a shorter name and a non-\long macro.

> Sorry guys, but your mother should have warned you about the evils of
> macro expansion languages.
I have a liberal mother.

,
Eamonn McManus

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

Date: Wed, 7 Sep 88 09:23:04 +0100
From: mcvax!ruuinf!piet@uunet.UU.NET (Piet van Oostrum)
Subject: Euler fonts question

Recently I got a new TeX tape from U of Washington. It contains amongst
others the Euler fonts. I noticed that they are not a complete replacement
for the Computer Modern math fonts. Does anybody have a macro set or style
file for the use of these fonts rather than math italic  et al.

Piet van Oostrum, Dept of Computer Science, University of Utrecht
Padualaan 14, P.O. Box 80.089, 3508 TB Utrecht, The Netherlands
Telephone: +31-30-531806              UUCP: ...!mcvax!ruuinf!piet

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

Mail-From: ROKICKI created at  8-Sep-88 13:59:49
Date: Thu 8 Sep 88 13:59:49-PDT
From: Tomas Rokicki <ROKICKI@Score.Stanford.EDU>
Subject: Infinite looping in LaTeX

The following file causes LaTeX to go into an infinite loop.

\documentstyle{article}
\begin{document}
\begin{list}
\end{list}
\section{test}
\end{document}

'Tis unfortunate that LaTeX doesn't like empty environments of
certain kinds.  I like to structure my document and fill them in
later.  Now I need to leave dummy entries.  Enjoy!   -tom

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

Date: Mon, 12 Sep 88 08:06:08 +0200
From: Olaf Heimburger <olaf%tub.BITNET@Forsythe.Stanford.EDU>
Subject: TeX for Amiga wanted

Hi there,

where can I get a copy of TeX or AmigaTeX?
Please e-mail me your replies.

Thanks in advance,
Olaf

Olaf Heimburger, <olaf@tub.UUCP> <olaf@db0tui6.BITNET> <olaf@tub.BITNET>
Technical University of Berlin (West), Department of Computer Science
uucp to tub:    ...!pyramid!tub!olaf     (from the US, only)
                ...!mcvax!unido!tub!olaf (from Europe only)

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

Date:     Monday, 12 September 1988 0936-EST
From:     DAVID%PENNDRLS.BITNET@Forsythe.Stanford.EDU
Subject:  Has this LaTeX maybe-bug been fixed already?

I am running version
  % LATEX VERSION 2.09 - RELEASE OF 19 April 1986
of LaTeX, and I find I must use \endtrivlist rather than the
documented \end{trivlist} in defining new environments if
I want paragraph indentation to be handled correctly after the
environment.  (Using (2) yeilds indent regardless of whether
the \end{xxx} is followed by a blank line or text.)  Is this a
bug and if so has it already been fixed?  (SCORE didn't answer
when I tried to FTP the bug file; if I know the fix is in I will
keep trying.  Then again, maybe it is time to send for a new tape
anyway . . .)

-- R. David Murray    (DAVID@PENNDRLS.BITNET, DAVID@PENNDRLS.UPENN.EDU)

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

Date: Mon, 12 Sep 88 14:07:54 pdt
From: Ritchey Ruff <ruffwork@mist.cs.orst.edu>
Subject: LaTeX distribution?

Is there an anonymous ftp site for getting LaTeX (and TeX)?
we need to install it on a Sun 4/280 and would like the
most current version (I hear that there is a version in C now?).
please send email, I'll summerize...

thanks in advance,
--ritchey ruff	ruffwork@cs.orst.edu -or- ...!tektronix!orstcs!ruffwork

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

Date:         Mon, 12 Sep 88 16:57:00 PDT
From:         S John Banner <CCSJB%UVVM.BITNET@Forsythe.Stanford.EDU>
Subject:      Boxes within Boxes within Boxes

   Hello, I have the following macro, in a macro package that I am
working on (primarily so that I can learn TeX).  The macro is supposed
be called like:
\PersonalInfo{BirthDay\\SIN}{Oct 15/63\\123 456 789}{
My Street\\My Address\\My Phone\\etc}
and produce (assuming \MyFullName is an hbox with "S. John Banner):
    S. John Banner                                   My Street
    BirthDay   Oct 15/63                             My Address
    SIN        123 456 789                           My Phone
                                                     etc
where the right most column is sitting on the right margin, and the
left most column is sitting on the left margin.  However, what I get is
the "S. John Banner" is indented by about 1 \quad, the "Birthday", and
"SIN", are indented a further \quad, and the stuff on the other side
of the page is about a \quad short of the margin.  Asside from that,
everything is working fine, however I have tried everything that I can
think of to get rid of the indents (except a "\kern -\quad", which as
I see it shouldn't be nessasary if you get it right).  Does anyone have
any suggestions, or anything that might help.  I have tried sticking in
"\undent" wherever there might be glue that I don't want, and also
"\kern 0pt", and a few other things besides, and I am stumped.  I am
using the Plain TeX macros as my basis on which I am building this.

                              Thanks,

                                  sjb.


\def\MyNL{\egroup\hbox\bgroup}    % We use this in places to make
                                  % some character act like a NL.

%
%   Create the Personal info table manually.
%
\def\PersonalInfo#1#2#3%
{
    {
    \vbox
         {
         \hbox to \hsize
              {
              \kern 0pt
              \vtop
                   {
                   \hbox {\MyFullName}   % The name line.
                   \hbox
                        {   % The stuff under the names.
                        \vtop
                             {   % The first column under the name.
                             \let\\=\MyNL
                             \hbox\bgroup
                             #1
                             \egroup
                             }
                        \quad
                        \vtop
                             {   % The second column under the name.
                             \let\\=\MyNL
                             \hbox\bgroup
                             #2
                             \egroup
                             }
                        }
                   }
              \hss
              \vtop
                   {   % The right aligned stuff.
                   \let\\=\MyNL
                   \hbox\bgroup
                   #3
                   \egroup
                   }
              \kern 0pt

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

Date: MON SEP 12, 1988 18.57.37
From: INHB%MCGILLC.BITNET@Forsythe.Stanford.EDU
Subject: Danish letters

In late August, Gustav Jeppesen and Per Nikolaj D. Bukh inquired how to
get the Danish letters \ae and \o put automatically into uppercase
in headings, when used in \section (in Latex).  They mentioned that
there was no problem with \aa.  So I looked up the definitions of \ae,
\o and \aa and discovered that the first two were defined with \chardef
and the last with a \def.  So I tried to redefine
\def\ae{~~Z}
\def\o{~~\}
\uccode`\~~Z=`\~~] % \ae
\lccode`\~~]=`\~~Z % \AE
\uccode`\~~\=`\~~_ % \o
\lccode`\~~_=`\~~\ % \O
and sure enough when you give the section head
\section{K\aa l, \ae rter and b\o nner}, the heading created will be
properly uppercsed (well, almost).  So far, so good.  Now the definition
of \ps@headings includes the TeX primitive \uppercase and if that is
removed, the headings are no longer uppercased.  So I naturally assumed
that \uppercase{K\aa l, \ae rter and b\o nner}, but it doesn't, rather
it gets you K\aa L, \ae RTER AND B\o NNER.

I looked up \uppercase in the TeXbook, which explains that it doesn't
expand its arguments.  Now one may ask why it doesn't, but anyway it
doesn't, so that explains that.  I then tried
\expandafter\uppercase{K\aa l, \ae rter and b\o nner}, but that gave the
same result.  In fact, no combination of \edef's and \expandafter's
resulted in the special characters being uppercased.  Can any TeXhaxer
explain what is going on here, in particular why the headings macros
succeed in getting them uppercased when they are \def'd, but not when
they are \chardef'd.

One monor point.  The def'n of \AA is not just the uppercase version of
that of \aa.  The actual uppercase \aa that the headings macro produces
is the uppercase version of \aa.  The difference is the latter is an `A'
with a little circle above it.  The macro \AA produces an `A' with a
circle touching the point.  I then looked up some Danish books and
discovered that in some of them the \AA (not very commoon in any case)
had the circle touching and in some it wasn't.  In one, it was touching
in the text and not touching in the smaller font used in the index!
Thus it appears that even in Denmark, there is no consistency on this
point.  I conclude that it would probably be better if the simpler
definition of \AA had been used so that the uppercase version of \aa
would be the same.

One last point.  If you type \uppercase{K\aa l, ~~Zrter and b~~\nner},
you get the uppercase versions, but you don't want to have to type that
all the time.

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

Date: Mon, 12 Sep 88 21:36:04 PDT
From: kwok@iris.ucdavis.edu (Conrad Kwok)
Subject: EEPIC 1.0, fig2epic and a bug in EPIC

EEPIC is an extension to LaTeX picture anvironment and EPIC. The
DVI files produced may require a DVI driver which understand tpic
specials. The major extensions in EEPIC includes:

o it allows drawing of lines of arbitrary slope and line thickness.
o it has new commands for drawing ellipses, arcs and splines.
o it increases the speed of EPIC and requires less TeX memory.

EEPIC 1.0 is posted to comp.text newsgroup a few weeks ago and it is
also available for anonymous ftp from iris.ucdavis.edu
[128.120.57.20] in pub/eepic10.shar. It is not yet available for
mailing request yet. As soon as it is available, I shall post a
note here.

fig2epic is the conversion program from Fig code to (E)EPIC
commands. It is now included in the Transfig distribution release
3a. Transfig is available from svax.cs.cornell.edu.

During the development of the above two macro/program, a bug in EPIC
is found. If a line segment in \drawline command is short and -ve
stretch is specified, it may cause arithematic error.  Here is an
example

> \setlength{\unitlength}{0.0125in}
> \begin{picture}(60,34)(0,-10)
> \drawline[-50](60,19)(60,0)
> \end{picture}

Below is the patch to fix the problem.
*** epic.sty.orig	Sun Jul  3 12:33:55 1988
--- epic.sty	Wed Aug 31 15:14:34 1988
***************
*** 496,501
  \else\num@segmentsi=#1 \advance\num@segmentsi by 100
       \multiply\num@segments \num@segmentsi
       \divide\num@segments by 100
  \fi\fi
  %%\typeout{num@segments after = \the\num@segments}
  %

--- 496,502 -----
  \else\num@segmentsi=#1 \advance\num@segmentsi by 100
       \multiply\num@segments \num@segmentsi
       \divide\num@segments by 100
+      \ifnum \num@segments=0 \num@segments=1 \fi
  \fi\fi
  %%\typeout{num@segments after = \the\num@segments}
  %

--Conrad

internet: kwok@iris.ucdavis.edu
csnet   : kwok@ucd.csnet 
csnet   : kwok%iris.ucdavis.edu@csnet.relay
uucp    : {ucbvax, uunet, ... }!ucdavis!iris!kwok

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

Date: Mon, 12 Sep 88 21:32:15 PDT
From: kwok@iris.ucdavis.edu (Conrad Kwok)
Subject: DVI (w/ tpic specials) drivers Update

I didn't mention QMS/Talaris QUIC language printer driver
written by Scott Simpson last time. Here is the message from the author.
+--------------------------------- 
| You forgot my drivers for the QMS/Talaris QUIC language printers.
| The TeX driver supports tpic and the software comes on the Unix
| TeX distribution tape.  The distribution is called quicspool.
| 		Scott Simpson, TRW
+---------------------------------

Thanks Scott.

--Conrad

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

Date:  Tue, 13 Sep 88 10:50:41 SET
From: "Dr. Kurt v. Sengbusch" <KVS%DGAIPP1S.BITNET@Forsythe.Stanford.EDU>
Subject:      driver for CANON LBP

Canon offers a new Laserprinter LBP-II, which at a price of about
10000.- DM is able to print on both sides of the paper.

Who has experience with this device and can offer to me a driver
for VM/CMS.

Thanks

Kurt v. Sengbusch

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

%%%
%%% Concerning subscriptions, address changes, unsubscribing:
%%%     BITNET: send a one-line mail message to LISTSERV@TAMVM1.BITNET:
%%%         SUBSCRIBE TEX-L <your name>    % to subscribe
%%%
%%%     All others: send mail to
%%%           texhax-request@score.stanford.edu
%%%     please send a valid arpanet address!!
%%%
%%%
%%% All submissions to: texhax@score.stanford.edu
%%%
%%% Back issues available for FTPing as:
%%%          machine:      directory:  filename:
%%%   [SCORE.STANFORD.EDU]<TEX.TEXHAX>TEXHAXnn.yy
%%%      nn = issue number
%%%      yy = last two digits of current year
%%%\bye
%%%

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

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