[comp.text] TeXhax Digest V88 #57

TeXhax@Score.Stanford.EDU (TeXhax Digest) (06/18/88)

TeXhax Digest   Friday, June 17, 1988   Volume 88 : Issue 57

Moderator: Malcolm Brown
%%% Reminder: Please hold all TeXhax submissions until June 30, as
%%%   the moderator will be away until them.

Today's Topics:

                        \tt, \ptt, and \index
               Re: TeXhax Digest V88 #54 (LaTeX notes)
                           Re: TeX headline
                 Re: TeXhax Digest V88 #52 LaTeX bug
                    Parbox in tabbing enviroments
                          Threecolumn style?
                       Two texhax shell scripts
                         Directory pointers?
                   \baselineskip command in \halign
                            TeX under A/UX
                         TeX in the big world
                Character codes of implicit characters
             space around operator in eqnarray (solution)
         Creating suitable TeX fonts for LN03 (Re: TeXhax 55)
      Beginners question: How to change the textwidth on the fly

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

Date: Thu, 9 Jun 88 11:45 EST
From: "Jerry Leichter (LEICHTER-JERRY@CS.YALE.EDU)"
Subject: \tt, \ptt, and \index

Bruce Langdon asks:

	How does @{\tt turn into @{\ptt in the following, and how does one 
	prevent it?

	documentstyle[11pt,makeidx]{article}   
	\makeindex     
	\begin{document}  
	% both of these generate \indexentry{number@{\ptt number}}{1} !!!
	\newcommand{\indextta}[1]{\index{#1@{\tt #1}}}
	\def\indexttb#1{\index{#1@{\tt #1}}}
	Attempt to make a macro that prints index entry in tt font, like
	verbatim.
	\indextta{one}
	\indexttb{two}                
	What we want is the effect of \index{three@{\tt three}}.
	\end{document}  

\tt and many similar commands have underlying implemenation that are not
robust (in LaTeX's technical sense).  Since they are so widely used, it would
be inconvenient to require that the user type \protect\tt in every moving
argument.  Hence, \tt is defined as \protect\ptt, where \ptt does the actual
work.

The whole reason the \protect mechanism exists is that writing things out to
files - AUX files, TOC files, and so on - involves repeated expansion:  Once
when the stuff is written to the file, once after it is read back in. "Fra-
gile" constructs are those that will not operate correctly under repeated
expansion.

Why does having \ptt, rather than \tt, in your index entry bother you?  The
effect should be pretty much the same - though it will fail if you then
proceed to use the index entry as read back in in a moving environment.

The only way I can think of to actually get \tt back from the index entry is
to treat \tt as fragile:  Use \protect\tt and one level of expansion will be
supressed.
							-- Jerry

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

Date: Thu, 9 Jun 88 09:17:08 PDT
From: lamport@decwrl.dec.com (Leslie Lamport)
Subject: Re: TeXhax Digest V88 #54 (LaTeX notes)

Bruce Langdon observes that

      \newcommand{\indextta}[1]{\index{#1@{\tt #1}}}
      \indextta{one}

produces 

       \indexentry{one@{\ptt one}}{1}

on the .idx file instead of the desired

       \indexentry{one@{\ptt one}}{1}

He asks why? and how can one get the desired result?

The answer to the first question is long and uninteresting except to
the most intrepid TeX hackers.  The answer to the second question turns
out to be, for rather mysterious reasons

     \newcommand{\indextta}[1]{\index{#1@{\string\tt\space #1}}}

However, the \ptt command is essentially equivalent to \tt, (it is part
of the mumbo-jumbo that makes \tt nonfragile) so there's probably no
reason to bother fixing this "problem".

Leslie Lamport

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

Date:         Thu, 09 Jun 88 23:04:31 EDT
From: Eric Skinner <ERIC%UOTTAWA.BITNET@Forsythe.Stanford.EDU>
Subject:      Re: TeX headline

Daya Atapattu writes:

>I am TeX-formatting a dictionary. The dictionary has two columns per page.
>The headline I am trying to get looks like:
>
>| board            <pageno>               boat |
>|                                              |
>| <left column>        :    <right column>     |
>
>when the first "main-word" in left column is "board" and the last in the
>right column is "boat".
>
>I use the output routine in page 257 of The TeX book to get two columns. When
>all the main-words are "\mark"ed, reference to \firstmark within \makeheadline
>gives me the first word of the *right* column. I tried to grab the \firstmark
>within the scope of the first column by \global\let but failed.
>
You were on the right track;  you do have to make a (fairly simple)
modification to the output routine listing on page 257, since the behavior
you described is to be expected with the existing output routine.

The following redefinitions of a few components of the output routine
do the necessary magic: trapping the first mark from the first column
and storing it for use when outputing the second column.

\newbox\firstone
\newdimen\fullhsize
\fullhsize=6.5in \hsize=3.1in
\def\fullline{\hbox to \fullhsize}
\catcode`@=11
\def\makeheadline{\vbox to\z@{\vskip-22.5\p@
  \fullline{\vbox to8.5\p@{}\the\headline}\vss}\nointerlineskip}
\def\makefootline{\baselineskip24\p@\fullline{\the\footline}}
\catcode`@=12
\let\lr=L \newbox\leftcolumn
\output={\if L\lr
            \global\setbox\leftcolumn=\columnbox \global\let\lr=R
            \global\setbox\firstone=\hbox{\bf\firstmark}
         \else \doubleformat \global\let\lr=L\fi
         \ifnum\outputpenalty>-20000 \else\dosupereject\fi}
\def\doubleformat{\shipout\vbox{\makeheadline
  \fullline{\box\leftcolumn\hfil\columnbox}
  \makefootline}
  \advancepageno}
\def\columnbox{\leftline{\pagebody}}

(Put together real quick so may not be terribly elegant)

Eric Skinner (ERIC@UOTTAWA.BITNET)
Computing Centre, University of Ottawa

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

Date: Thu, 9 Jun 88 10:21:02 EDT
From: <gordan@maccs.uucp>
Subject: Re: TeXhax Digest V88 #52 LaTeX bug

You must put the \label in a figure after the \caption (or in its
argument).  See section 4.2 of the LaTeX book.

                 Gordan Palameta
            uunet!mnetor!maccs!gordan

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

Date:		10-JUN-1988 12:57:48 GMT
From:		ABBOTTP%aston.ac.uk@NSS.Cs.Ucl.AC.UK
Subject: Parbox in tabbing enviroments

If a parbox is used in a tabbing environment the spacing is incorrect on 
the last line printed. Andrew Trevorrow has suggested the following 
solution.

include \strut at the end of the parbox

The spacing then becomes regular in line with the remainder of the tabbing 
environment. Can this modification be made to the relevant file in the 
LaTeX distribution.

Peter

Computing Service     JANET	abbottp@uk.ac.aston
Aston University      ARPA	pabbott@nss.cs.ucl.ac.uk
Aston Triangle	            or  abbottp%uk.ac.aston@nss.cs.ucl.ac.uk
Birmingham B4 7ET     UUCP	...!ukc!aston!abbottp
U.K.		      BITNET	abbottp%uk.ac.aston@ac.uk
Tel (+44) 21 359 5492					     

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

Date:		10-JUN-1988 15:17:21 GMT -01:00
From:	THOWARD%graphics.computer-science.manchester.ac.uk@NSS.Cs.Ucl.AC.UK
Subject:	Threecolumn style?

For part of a magazine I'm working on (in LaTeX), I'd like to use 
a three column format. The multi-column format published in TUGboat 
vol 8 no 2 (July '87) used plain TeX. Has anyone tried it with LaTeX? 
Might there even be a threecolumn.sty lurking out there?

Thank you
Toby

Toby Howard 
Computer Graphics Unit, Department of Computer Science,
Manchester University, Oxford Road, Manchester, England, M13 9PL. 
Phone: +44 61 275 6224
Janet: toby@uk.ac.man.cs.cgu  
ARPA:  toby%cgu.cs.man.ac.uk@nss.cs.ucl.ac.uk                    

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

Date: Fri, 10 Jun 88 11:23:32 EDT
From: clayton@thumper.bellcore.com (R. Clayton)
Subject: Two texhax shell scripts

   What follows is a shell script that produces a kwic index of the form 

      tex:  arbortext's * fixed (texhax054)
      tex/latex:  * training (texhax054)
      texts:  grammar-school math * (texhax053)
      training:  tex/latex * (texhax054)
      undump:  unix_tex * for tahoe system v (texhax054)
      unix:  indexing the * way -- revisited (texhax053)
      unix:  re: wanted: dvi re-ordering program for * (texhax053)

from the "Subject:" fields in a set of texhax digests:

      #!/bin/ksh
      #
      # kwic - Make a kwic index for texhax issues.

      if   [ $# -lt 1 ]
      then echo 2>&1 "command fomat is \"`basename $0` <texhax files>\""
	   exit 1
      elif [ $# -lt 2 ]
      then echo 2>&1 "`basename $0` doesn't work with one file"
	   exit 1
      fi

      grep '^Subject' $* | sed 's/Subject: */ /' | tr 'A-Z' 'a-z' | \
      awk 'BEGIN {
	      skip["and"] = "t"	; skip["for"] = "t"
	      skip["are"] = "t"	; skip["can"] = "t"
	      skip["about"] = "t"	; skip["the"] = "t"
	      skip["digest"] = "t"	; skip["there"] = "t"
	      skip["texhax"] = "t"	; skip["with"] = "t"
	      skip["for"] = "t"	; skip["which"] = "t"
	      skip["where"] = "t"	; skip["immoderate"] = "t"
	      skip["problem"] = "t"	; skip["question"] = "t"
	      skip["was"] = "t"	; skip["wanted"] = "t"
	      skip["from"] = "t"	; skip["get"] = "t"
	      skip["how"] = "t"	; skip["notes"] = "t"
	      skip["now"] = "t"	; skip["problems"] = "t"
	      skip["using"] = "t"	; skip["problem"] = "t"
	      skip["need"] = "t"	; skip["needed"] = "t"
	      skip["very"] = "t"	; skip["available"] = "t"
	      }
	   {name = substr($1, 1, length($1) - 1)
	    for (i = 2; i <= NF; i++) {
		key = $i

		# Find the left-most alpha-numeric character.
		for (f = 1; f < length(key); f++) {
		    ch = substr(key, f, 1)
		    if (("a" <= ch) && (ch <= "z")) break
		    if (("0" <= ch) && (ch <= "9")) break
		    if ("\\" == ch) break
		    }

		# Find the right-most alpha-numeric character.
		for (l = length(key); f <= l; l--) {
		    ch = substr(key, l, 1)
		    if (("a" <= ch) && (ch <= "z")) break
		    if (("0" <= ch) && (ch <= "9")) break
		    }
		l = l + 1

		k = substr(key, f, l - f)

		if ((length(k) > 2) && (skip[k] != "t")) {
		   printf "%s(%s):  ", k, name
		   for (j = 2; j <= NF; j++) 
		       if (j != i) printf "%s ", $j
		       else {printf "%s", substr(key, 1, f - 1)
			     printf "*" 
			     printf "%s", substr(key, l, length(key) - l + 1)
			     printf " "
			    }
		   print "(" name ")"
		   }
		}
	   }' | \
      sed '/^[0-9][0-9]*[(:]/d
	   /^#.*[(:]/d
	   /^v[0-9][0-9]*[(:]/d
	  ' |\
      sort |\
      sed 's/(texhax.*):  /:  /'

   One subtlety is that kwic works best when the texhax digests are in
files named "<name><i>", where <name> is (in this case) "texhax" and
<i> is the issue number represented as a three-digit number
zero-padded to the left (kwic uses the filename as a secondary sort
key).  What follows is a shell script which moves an arbitrarily named
file in the working directory to a properly named file in some other
directory.  The file should contain a texhax digest.

      #!/bin/ksh
      #
      # mtexhax - move a texhax article to its directory.
      
      texhaxdir=/usr/local/src/lib/tex/docs/texhax
      
      if [ $# != 1 ]
      then echo 2>&1 the command format is \'`basename $0` file\'
           exit 1
           fi
      
      if [ ! -r $1 ]
      then echo 2>&1 can\'t find $1
           exit 1
           fi
      
      issue=`grep '^TeXhax Digest.*Issue' $1 | \
      sed 's/^TeXhax Digest.*Issue *//'`
      
      if [ "$issue" = "" ]
      then echo 2>&1 can\'t find the issue number in $1
           exit 1
           fi
      
      issue=`echo $issue | awk '{print sprintf("%03d", $0)}'`
      mv $1 $texhaxdir/texhax$issue

   These scripts have been used under the k-shell running on bsd unix. 

R. Clayton
clayton@thumper.bellcore.com

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

Date:     Fri, 10 Jun 1988 11:22:52.33 CST
From: <bed_gdg%shsu.bitnet@Forsythe.Stanford.EDU> (George D. Greenwade)
Subject:  Directory pointers?

Is there any way (preferably EASY) to change the directory pointers within a
LaTeX document under Vax/VMS or is the logic of LaTeX inappropriate for such a
change?

For example, if a \documentstyle[option] resides in your current directory
(say, [BED.GDG]) as OPTION.STY, then [BED.GDG]OPTION.STY is used for the LaTeX
run; if it does not reside in the current directory, then the system default
TEX$INPUTS:OPTION.STY is used.  Is there any way to customize a run such that a
user can establish their own specified subdirectory (say, [BED.GDG.STYLES])
such that the logic of LaTeX is changed to check, in sequence, the current
directory, a user-specified default directory, then the system default
directory?  Alternatively, is it possible to simply point to a subdirectory
somehow and NOT specify a user-defined first level default (i.e.,
\documentstyle[[bed.gdg.styles]option], much the same as the \bibliographystyle
logic allows for BiBTeX, although the directory specification (unfortunately)
counts as part of the 40 character limit in that environment)?

This feature is (or would be) desirable since I use a number of \input files,
as well as a number of .STY and .BST files in my personal work and in my
capacity as Editor of the {\em Journal of Business Strategies} (which is
another LaTeX-formatted Journal).  Since I am the only one who uses these
files, there is no need for them to be written to TEX$INPUTS:.  However, since
I use them in many subdirectories, I necessarily must either copy the wanted
file to multiple subdirectories (which eats up disk space) or work in a
subdirectory which really does not satisfy MY logic of where to store certain
.TEX file (i.e., different subdirectories for teaching, Directing, Editing,
departmental, college, university, research, ....).

Any assistance along this line would be appreciated; hopefully, I have simply
overlooked something simple somewhere.

George


George D. Greenwade, Director        Bitnet:  BED_GDG@SHSU
Center for Business and Economic Research     THEnet: SHSU::BED_GDG
Sam Houston State University               Internet: BED_GDG@SHSU.BITNET
Huntsville, Texas  USA  77341-2056        Voice: (409) 294-1518

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

Date: Fri, 10 Jun 88 16:03:54 EDT
From: Brian_Holmes%Wayne-MTS@um.cc.umich.edu
Subject: \baselineskip command in \halign

How can you expand the width of rows in \halign mode?
I know about \strut but is there some way I can give a point
size width of the row?  \baselineskip appears not to work in
\halign mode.  Here is the source in question.  Notice how the
the HELLO's have a larger vertical space between them.  How can
I do this inside the \halign?
--------------------------CUT-----------------------------------
\baselineskip=20pt{
\halign to 6.5in{\vrule#\hfill\tabskip=1em plus4em&\vrule#\hfill&
                 \vrule#\hfill&\vrule#\hfill&\vrule#\hfil&
                 \vrule#\hfill&#\vrule\tabskip=0pt\cr
\bf{NAME}&\bf{PHONE}&\bf{ADDRESS}&\bf{MTS ID}&\bf{CMS ID}&
\bf{DELIVERY}\cr \noalign{\par\hrule}
Adair, Joan&75636&113 IBM& &*ADAIR&F& \cr\noalign{\hrule}
Adams, Larry&74776&282 MEZZ&LDA&*LADAMS&T& \cr\noalign{\hrule}
Ader, Jim&70631&SCIL 59&UC29&*JADER&H& \cr\noalign{\hrule}
}
Hello\par
Hello}
\vfil\eject
---------------------------CUT---------------------------------
Brian Holmes
Wayne State University
BITNET : BHOLMES@WAYNEST1
INTERNET : Brian_Holmes%WU@UM.CC.UMICH.EDU

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

Subject: TeX under A/UX
Date: Fri, 10 Jun 88 16:46:41 EDT
From: ribbens@vtopus.cs.vt.edu

Has anyone brought TeX up on the A/UX side of
an Apple Macintosh II?

Cal Ribbens
Dept. of Computer Science
Virginia Tech
Blacksburg, VA

(ribbens@vtopus.cs.vt.edu)

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

Date:     Fri, 10 Jun 88 15:09 EDT
From: <LAV%BRANDEIS.BITNET@Forsythe.Stanford.EDU> (John Lavagnino)
Subject:  TeX in the big world

An interesting reference to TeX from the world of commercial
publishing:

@Article{campbell88,
  author = "Peter Campbell", title = "New Looks, New Newspapers",
  journal = "London Review of Books", volume = 10, number = 11,
  month = jun, day = 2, year = 1988, pages = "7--8" }

``When Donald Knuth, author of a classic text on computer algorithms,
found the American Mathematical Society's standards of typesetting
were falling disastrously, he wrote TEX [sic], a computer typesetting
program which allows complex mathematical setting to be generated by
codes input by the author.  It is now very commonly used by scientists,
and has changed the look of much that is issued in the area where
the concepts of circulation and publication overlap.  Most of the
typographic inventions we have inherited from the first
half-millennium of printing can be imitated electronically'' (page 8).

The author is one of the designers of the journal in which this appeared;
his main topic is large-scale journalism, and he observes that, while
electronic ``short-cuts'' have made it easier to produce cheap fluff,
those who want to produce something more substantial ``have never
had a better technological environment in which to do it.''

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

Subject: Character codes of implicit characters
Date: Sat, 11 Jun 88 11:07:40 -0400
From: Larry Denenberg <larry@ALEXANDER.BBN.COM>

Suppose the control sequence \xyzzy is an implicit character known to be a
letter;  that is, someone has said \let\xyzzy=a or maybe \let\xyzzy=Z or even
\catcode`\^^U=11\let\xyzzy=^^U.  How can I get the letter's character code?
Solutions involving 128-way \ifx tests will be laughed at.  Solutions based on
\meaning\xyzzy are possible but very difficult.  Isn't there a simple answer?

/Larry Denenberg
larry@bbn.com
larry@harvard.harvard.edu

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

From: ZACCONE%BKNLVMS.BITNET@Forsythe.Stanford.EDU
Date: Sat, 11 Jun 88 17:22 EDT
Subject: space around operator in eqnarray (solution)

In TeXhax volume 88 number 11, (2/5/88), Wai Hung Leung explained a
problem with eqnarray.  It puts too much space around a binary
operator.

I found a solution on netlib.  The following file fixes the above
problem with eqnarray, and a problem with \bigl, \bigr, etc. that I
wasn't aware of.  Shouldn't these changes been incorporated into
LaTeX? (By the way, I didn't write these changes.  I would gladly give
credit to the author if I knew who it was.)

Rick Zaccone
zaccone@bknlvms.bitnet

Note: if this message is too big to post, the file can be retrieved by
sending the message "send latex from typesetting" to
netlib@anl-mcs.arpa.
-----------------------------------------------------------------------
% FIXUP DOCUMENT STYLE OPTION
%    for LaTeX version 2.09
%
% (This should follow any previous document style options that might need
% fixing.)


% define \newmathfont
%\input fontext.sty


\hyphenation{non-zero}

% Define the Metafont logo so that it tries to match the slant of the current
% font and only loads fonts when needed.

\def\logo{\global\font\logo=logo10 at1\@ptsize\p@ \logo}
\def\logosl{\global\font\logosl=logosl10 at1\@ptsize\p@ \logosl}
\def\MF{{\ifdim \fontdimen\@ne\font >\z@ \def\logo{\logosl}\fi
    {\logo META}\-{\logo FONT}}}



\def\id#1{\def\arg@{#1}\futurelet\next\id@}
\def\id@{\hbox{\it\arg@ \if\next.\else\if\next,\else\/\fi\fi}}

\def\key#1{\def\arg@{#1}\futurelet\next\key@}
\def\key@{\hbox{\bf\arg@ \if\next.\else\if\next,\else\/\fi\fi}}



% Fix Plain's \bigl, \Bigl, etc. macros so that they try to scale with
% LaTeX size changes.  This uses the fact that \@setsize sets \dp\strutbox
% to be 30% of the point size.

\def\big#1{{\hbox{$\left#1\vcenter to1.428\ht\strutbox{}\right.\n@space$}}}
\def\Big#1{{\hbox{$\left#1\vcenter to2.142\ht\strutbox{}\right.\n@space$}}}
\def\bigg#1{{\hbox{$\left#1\vcenter to2.857\ht\strutbox{}\right.\n@space$}}}
\def\Bigg#1{{\hbox{$\left#1\vcenter to3.571\ht\strutbox{}\right.\n@space$}}}



% Fix \sbox and \mbox so that they do not take the box contents as a parameter.
% This makes environments that  depend on catcode changes work inside

\def\sbox#1{\setbox#1\hbox}
\def\mbox{\leavevmode\hbox}



% Remove the redundant \hbox from \rule to save memory

\def\@rule[#1]#2#3{\@tempdima#3\advance\@tempdima #1\vrule
  \@width#2 \@height\@tempdima \@depth-#1\relax}



% We now redefine the eqnarray environment to correct the space around
% the operator.  Since the fleqn document style option also redefines
% this environment, we carefully check the previous definition before
% making any changes.  Any changes to the definition in LaTeX itself
% or in the fleqn document style option will cause the `Warning: unable...'
% message to appear.  If this happens it will be necessary to update the
% definitions of \@tempa and \@tempb below and incorperate the changes into
% the new definitions of \eqnarray.


% This is the current definition of \eqnarray for the fleqn document style
% option:

\def\@tempa{\stepcounter{equation}\let\@currentlabel=\theequation
\global\@eqnswtrue
\global\@eqcnt\z@\tabskip\mathindent\let\\=\@eqncr
\abovedisplayskip\topsep\ifvmode\advance\abovedisplayskip\partopsep\fi
\belowdisplayskip\abovedisplayskip
\belowdisplayshortskip\abovedisplayskip
\abovedisplayshortskip\abovedisplayskip
$$\halign to
\linewidth\bgroup\@eqnsel\hskip\@centering$\displaystyle\tabskip\z@
{##}$&\global\@eqcnt\@ne \hskip 2\arraycolsep \hfil${##}$\hfil
&\global\@eqcnt\tw@ \hskip 2\arraycolsep $\displaystyle{##}$\hfil
\tabskip\@centering&\llap{##}\tabskip\z@\cr}


% Here is the corresponding defintion from latex.tex:

\def\@tempb{\stepcounter{equation}\let\@currentlabel=\theequation
\global\@eqnswtrue
\global\@eqcnt\z@\tabskip\@centering\let\\=\@eqncr
$$\halign to \displaywidth\bgroup\@eqnsel\hskip\@centering
  $\displaystyle\tabskip\z@{##}$&\global\@eqcnt\@ne
  \hskip 2\arraycolsep \hfil${##}$\hfil
  &\global\@eqcnt\tw@ \hskip 2\arraycolsep $\displaystyle\tabskip\z@{##}$\hfil
   \tabskip\@centering&\llap{##}\tabskip\z@\cr}


\ifx\eqnarray\@tempa        % If the fleqn document style option is in effect

    \def\eqnarray{\stepcounter{equation}\let\@currentlabel=\theequation
    \global\@eqnswtrue
    \global\@eqcnt\z@\tabskip\mathindent\let\\=\@eqncr
    \abovedisplayskip\topsep\ifvmode\advance\abovedisplayskip\partopsep\fi
    \belowdisplayskip\abovedisplayskip
    \belowdisplayshortskip\abovedisplayskip
    \abovedisplayshortskip\abovedisplayskip
    $$\halign to \linewidth\bgroup\hfil
      $\displaystyle\tabskip\z@{##}$&\global\@eqcnt\@ne
      \hfil$\displaystyle{{}##{}}$\hfil
      &\global\@eqcnt\tw@ $\displaystyle{##}$\hfil
       \tabskip\@centering&\llap{##}\tabskip\z@\cr}

\else\ifx\eqnarray\@tempb    % Else try the default eqnarray environment

    \def\eqnarray{\stepcounter{equation}\let\@currentlabel=\theequation
    \global\@eqnswtrue
    \global\@eqcnt\z@\tabskip\@centering\let\\=\@eqncr
    $$\halign to \displaywidth\bgroup\hfil
      $\displaystyle\tabskip\z@{##}$&\global\@eqcnt\@ne
      \hfil$\displaystyle{{}##{}}$\hfil
      &\global\@eqcnt\tw@ $\displaystyle{##}$\hfil
       \tabskip\@centering&\llap{##}\tabskip\z@\cr}

\else    \typeout{Warning: Unable to fix unknown version of \string\enarray.}
\fi\fi

\def\@tempa{}            % Free up TeX's memory
\def\@tempb{}


%----------------------------------------------------------------------

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

Date: 11 Jun 1988 23:52:17 EST
From: dragon@NSCVAX.PRINCETON.EDU (Richard B. Gilbert)
Subject: Creating suitable TeX fonts for LN03 (Re: TeXhax 55)

   This is in reply to KINOSHITA Yoshiki's request for a "mode_def" for the
DEC LN03 laser printer.  The following file is by John Sauter and was taken 
from the DECUS Font tape.  

-------------------------------- Cut Here ---------------------------------
% This file can be loaded after PLAIN.MF.
% It adds the LNOthree device and redefines ``bye'' to augment
% the TFM header.

% LNOthree mode: for the DEC LN03 printer (Ricoh LP)
mode_def LNOthree =
proofing:=0;                    % no, we're not making proofs
fontmaking:=1;                  % yes, we are making a font
tracingtitles:=0;               % no, don't show titles in the log
pixels_per_inch:=300;           % pixels per inch
blacker:=0.65;                  % blacker pens
%blacker:=0.3;                  % makes CMR5 "a" look better
fillin:=-0.1;                   % compensate for light diagonals
o_correction:=.5;               % overshoot
enddef;

localfont:=LNOthree;

% Place the font coding scheme and font identifier in bytes 9-48 and
% 49-68, respectively.  Also, place an encoding of the design size in
% byte 72 in some cases.  Although TeX does not use this information,
% TFTOPL does.  This code is based on an example in Appendix F of
% The METAfont Book.

def counted_string(expr s,n) = % string s becomes an n-byte counted string
 for l:=if length(s)>=n: n-1 else: length(s) fi: l
  for k:=1 upto l: , substring (k-1,k) of s endfor
  for k:=l+2 upto n: , 0 endfor endfor enddef;

inner end;
def bye = if fontmaking>0:
  headerbyte 9: counted_string(font_coding_scheme_,40);
  special "codingscheme " & font_coding_scheme_;
  headerbyte 49: counted_string(font_identifier_,20);
  special "identifier " & font_identifier_;
  headerbyte 72: max(0, 254 - round 2designsize); fi
 end enddef;
outer bye,end;

base_version:=base_version&"/sauter LN03/augmented TFM header";
------------------------------ Cut Here---------------------------------
I hope this answers the question.

                                     Richard B. Gilbert
                                     dragon@nscvax.princeton.edu

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

Date: "Ralph Becker Szendy" 11-JUN 88 18:08:00 GMT
From: UHHEPG::RALPH <"UHHEPG::RALPH"@uhhepg.phys.hawaii.edu>
Subject: Beginners question: How to change the textwidth on the fly

Hi
Thanks for all the answers to my last question, including Dr. Lamports. This,
again, is a simple question; so LL should not read it EXCEPT IF ALL OTHER
WIZARDS HAVE GIVEN UP ON IT. I am sorry to post such an easy question, but the
next LaTeX wizard is 2500 miles west, and the people at Talaris (who sold us
TeX) shouldn't even be allowed to sell pencils.

How do I change \textwidth dynamically within a (long) document? Reason: I have
some chapters (for example the "Executive Summary") with a lot of marginal
notes, so I increased \marginparwidth and decreased \textwidth by 80 points
each; most other chapters have no marginal notes, but a lot of figures, so the
margin shouldn't be wasted (both to save paper, and because a two-inch margin
looks ugly). Unfortunately, \textwidth can only be changed in the preamble;
that means: changing either \textwidth or \columnwidth within the document just
doesn't have any effect. The LaTeX book explicitly states that \textwidth
should not be changed in the text.

So, how do I do it ? What parameter do I have to change to make the text
narrower on the fly ?? I promise to do the change only at page breaks (using
\clearpage before the change). My favourite solution would be something like a
"narrow with marginnotes" pagestyle, so I could use a \pagestyle{narrow}
command. I tried defining a \ps@narrow with the the \addtolength commands for
\textwidth and \marginparwidth in it, but that doesn't have any effect, as
explained above.

Any help appreciated.

Ralph Becker-Szendy                            RALPH@UHHEPG.PHYS.HAWAII.EDU
University of Hawaii / High Energy Physics Group        RALPH@UHHEPG.BITNET
Watanabe Hall #203, 2505 Correa Road, Honolulu, HI 96822      (808)948-7391
"Hawaii - it's not just for tourists. People actually live and work there."

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

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