[comp.text] TeXhax Digest V89 #44

TeXhax@cs.washington.edu (TeXhax Digest) (05/23/89)

TeXhax Digest    Friday,  November 11, 1989  Volume 89 : Issue 44

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:         

       Needed: E-mail addresses forr Mike Urban and Arthur L.Samuel
      Re: Problem with script which generates CM fonts automatically
               Wanted: programmer's guide to Web-to-C
                           TeX error$$$
                       Problem with Metafont
                       "saving" points in MF
            Metafont definitions for an Epson at 240DPI
                     Changebars/Revisions bars
                   Re: Query regarding nested ifs
              Re: TeXhax digest V89 #27 (nested ifs, \crcr)
                          \crcr, nested ifs
                       Lost \special in LaTeX
            Re: TeXhax digest V89 #32: \renewcommand {\endth}
                       \newcommand and \endxxx
   TeXhax-digest V89 #32 (DVILASER/PS, PostScript in DVI, \PrintChart)
                     Bibliography page sizes....

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

Date:  Wed, 3 May 89 10:49:36 -0500
From: gonzalez@emx.utexas.edu (Daniel C. Gonzalez)
Subject: Needed: E-mail addresses for Mike Urban and Arthur L.Samuel
Keywords: addresses

I work for the Computation Center at the University of Texas at Austin.
We would like to reproduce and distribute two documents to our TeX users,
but we need to obtain permission to do so from the authors of the documents.
The documents are "A Guide to TeX for the Troff User" by Mike Urban and
"First Grade TeX, A Beginner's TeX Manual" by Arthur L. Samuel.
(I think the Urban doc is distributed as part of the TeX sources.)

Does anyone have e-mail addresses for either of these two gentlemen?

Please e-mail replies to me.  Thanks. :-)

  Danny Gonzalez
  Computation Center, UT Austin
  gonzalez@emx.utexas.edu

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

Date: Tue,  2 May 89 11:53:43 CDT
From: William LeFebvre <phil@rice.edu>
Subject: Re: Problem with script which generates CM fonts automatically
Keywords: CM fonts, cmbase.tex

> Since reading cmbase.tex is so quick compared to actually generating
> fonts, there is no reason to explicitly include or preload cmbase when
> generating fonts; it will be read in if it is needed.

It may be quick in comparison, but on my machine (Sun 3/260) it takes,
on the average, an extra 1.2 seconds of user cpu time to load it in.
That doesn't seem like much, but when you consider that rebuilding all
the cmfonts requires running metafont for 75 fonts times 7
magnifications (at least) times two different devices (printer and
screen), that's 1260 extra seconds, or about 21 minutes, of cpu time.
That doesn't even count the extra disk activity or other system time.

So there is a great incentive for using this approach.  BUT, I agree
that one should not sacrifice accuracy.  This would be a very simple
problem to fix in the scripts while still retaining the use of a
preloaded cm metafont for all the appropriate fonts.

			William LeFebvre
			Sun-Spots moderator
			Department of Computer Science
			Rice University
			<phil@Rice.edu>

%%% Moderators' note:  Agreed.  There is no reason to deny oneself the
%%% speed and convenience of a predigested cmbase for all the fonts that
%%% properly require it.  Perhaps the best approach would be to modify
%%% any scripts for the production of LaTeX fonts so that line and circle
%%% fonts are treated specially.  

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

Date: Mon, 1 May 89 18:11:53 BST
From: David Osborne <cczdao%clan.nottingham.ac.uk@NSFnet-Relay.AC.UK>
Subject: Wanted: programmer's guide to Web-to-C
Keywords: WEB, C 

is there a document describing how to create a new changefile,
or amend an existing one, to use with Web-to-C on a Unix system ?

the only way i know of is to compare a pair of existing changefiles
for use with Pascal and Web-to-C against the WEB of something like DVItype,
but that seems rather tedious.

dave.

     David Osborne       |   JANET: d.osborne@uk.ac.nott.clan
 Cripps Computing Centre |  BITNET: d.osborne%uk.ac.nott.clan@ukacrl.bitnet
University of Nottingham |Internet: d.osborne%uk.ac.nott.clan@nsfnet-relay.ac.uk
 Nottingham NG7 2RD, UK  |  (Phone: +44 602 484848 x2064)

%%% Moderators' note:  Tedious it is, but that is all there is right now.
%%% The creation of a change file for Web-to-C is not really all that 
%%% different from the creation of a pascal change file.  You just
%%% have to watch out for a different set of traps.  This is perhaps 
%%% an opportune time to announce that the Web-to-C change file for
%%% GFtoDVI is under development, and should soon be completed. 
%%% The process is exactly what David Osborne describes---tedious.

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

Date: Mon,  1 May 89 16:40:25 PST
From: Peter Scott <PJS@naif.JPL.NASA.GOV>
Subject: TeX error$$$
Keywords: TeX, bugs

Anyone know how much the reward for finding a genuine TeX bug is up to
these days?  I haven't seen it lately, it must be up in serious money
by now!

Peter Scott (pjs@grouch.jpl.nasa.gov)

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

Date: Wed, 3 May 1989 16:31 EDT
From: Brian Holmes <BHOLMES%WAYNEST1.BITNET@UWAVM.ACS.WASHINGTON.EDU>
Subject: Problem with Metafont
Keywords: METAFONT

I'm trying to generate 240DPI fonts using Metafont which came
on the VM/CMS tape.  I issue the command:
MF &PLAIN
Which brings me to the '*' prompt.  Then I issue the command:
\mode=epson; \input cmr10
When it finishes processing, I have a file named MFPUT 2602GF A,
but I wanted a 240DPI GF file.  What am I doing wrong?
                                       Brian

%%% Moderators' note:  This is the commonest of all METAFONT mysteries.
%%% Unless you have taken steps to load a mode_def file along with
%%% plain, a mode such as "epson" is unknown to your instance of METAFONT.
%%% Unknown modes revert to proof mode by default.

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

Date: Tue, 02 May 89 15:51:53 CDT
From: Don Hosek <U33297%UICVM.UIC.EDU@UWAVM.ACS.WASHINGTON.EDU>
Subject: "saving" points in MF
Keywords: METAFONT

I figured out how to solve my problem with points the other night while
I was asleep (!)...

The reason I couldn't use save x,y was that I needed to keep the x and y
points that were passed to the radical; BUT if I did something like:

def beginradical(text t) =
 begingroup;
  save a,b;
  forsuffixes $ = t: a$:=x$; b$:=y$; endfor
  save x,y;
  forsuffixes $ = t: x$:=a$; y$:=b$; a$:=whatever; b$:=whatever; endfor
 enddef;

def endradical = endgroup enddef;

and then defined each radical to do something like:

def futatsu(suffix @,$) =
 beginradical(@,$);   % This used to be |beginradical(101,102,103,104)|
  x101=x@+thick; y101=y102=y$-thick; x102=x$-thick;
  x103=x@; y103=y104=y@+thin; x104=x$;
  horiz(101,102); horiz(103,104);
  endradical;
 enddef;

The big difference in this approach is that rather than getting rid of the
points I want to destroy, I keep the points I want to save.

There's something wrong with TeX and MF... I wrote my best TeX macro while
drunk and solved my hardest MF problem while asleep :-)

dh


    Don Hosek           Internet: U33297@UICVM.UIC.EDU
    3916 Elmwood        Bitnet: U33297@UICVM.BITNET
    Stickney, IL 60402          DHOSEK@YMIR.BITNET
    Work: 312-996-2981  UUNet: dhosek@jarthur.claremont.edu
                        JANET: U33297%UICVM.UIC.EDU@UK.AC.EARN-RELAY

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

Date: Mon, 1 May 1989 18:41 EDT
From: Brian Holmes <BHOLMES%WAYNEST1.BITNET@UWAVM.ACS.WASHINGTON.EDU>
Subject: Metafont definitions for an Epson at 240DPI
Keywords: METAFONT, Epson

Could someone tell me where I can get the metafont definitions
for an Epson printer at 240 DPI?  I can FTP.

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

Date: Mon, 1 May 89 12:26:12 -0400
From: Joe Boykin <boykin@encore.com>
Subject: Changebars/Revisions bars
Keywords: LaTeX, changebars

I'm looking for a way to generate change bars in LaTeX (sometimes
called revision bars) automatically.  I have a changebar.sty file
written by Michael Fine which supposedly does this, but uses the
\special command for the DEC LN03 printer; this doesn't work since I'm
using an Apple Laser Writer for output.

Joe Boykin
Encore Computer Corp.

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

Date: Mittwoch,  3. Mai 1989, 18.00 Uhr und 14 Sekunden MSZ
From: XITIJSCH%DDATHD21.BITNET@UWAVM.ACS.WASHINGTON.EDU
Subject: Re: Query regarding nested ifs
Keywords: nested ifs

Hello, Bitnet is back on the list again...

Stephan asks in TeXhax #27 (a while ago but no one has answered)
a query about nested ifs. Please note that the macro \IfSomething
must be \let to \iftrue or to \iffalse -- \def is not allowed because
the lexical scanner of TeX doesn't recognize that they are identical.
\def only defines them as equivalent---this is handled not until the
semantic analysis (in the `stomach').

The following input clarifies this problem:

        \let\IfSomething\iftrue

        \iffalse
                \IfSomething
                        Hallo
                \else
                        Huhu
                \fi
        \else
                Hugo
        \fi

This produces the output `Hugo'. If you change the line
        \let\IfSomething\iftrue
to
        \def\IfSomething{\iftrue}
TeX complains about an illegal \else.

                        Joachim


   Joachim Schrod
   c/o TH Darmstadt
   Institut f\"ur Theoretische Informatik
   Alexanderstr. 10
                               Bitnet: XITIJSCH@DDATHD21
   D-6100 Darmstadt               (Please try again if I don't answer ---
   West Germany                   our Bitnet connection is very instable...)

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

Date: Tue,  2 MAY 89 18:16:02 BST
From: CHAA006%vaxb.rhbnc.ac.uk@NSFnet-Relay.AC.UK
Subject: Re: TeXhax digest V89 #27 (nested ifs, \crcr)
Keywords: nested ifs, \crcr

Stephan v. Bechtolsheim asked a couple of very interesting questions
in TeXhax V89 #27 (well, he asked more, but I could only try to help
with two ...)

Nested IFs:  I had a long discussion with Graham Toal about this subject
earlier this year, and came to the conclusion that it was NOT possible to
declare a macro \if<something> which TeX could recognise as a real \if.
In particular, I wanted to define a macro \if with a fixed delimiter
structure:

        \def \if #1\then #2\else #3\fi

but after considerable introspection decided it could never work in
a nested context.  When you look into \newif, \iftrue, \iffalse
and their definitions, it seems clear to me that Knuth recognised the
problem, and implemented it in the only way possible: by \let ting 
the user-defined \if<something> = \iftrue | \iffalse, as appropriate.
Because \if<something> has been \let, rather than \def ined, it is
recognised as a `real' \if, and skipping/nesting is no longer a problem.
Does that make sense, Stephan ?

As to \crcr: \crcr is defined to act like a \cr if TeX is expecting
a \cr at that point.  So, if the user of \eqalign has neglected to
insert a final \cr, \crcr will insert one.  If, however, the user has
already inserted the final \cr, \crcr will have the null effect.  Since
\everycr is only called into play for \cr s and {\it non-redundant}
\crcr s, the definition of \eqalign using \crcr ensures that \everycr
is not elaborated twice, once for the user-supplied \cr and once for
the macro-defined \crcr.  If \cr were used in the definition, and the
user were to supply his/her own \cr, \everycr would be elaborated once
too many times.

					Philip Taylor
			    Royal Holloway and Bedford New College.

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

Date: 30 Apr 89 11:08:00 EST
From: Mike Schmidt <Mike_Schmidt%CMR001.BITNET@CORNELLC.cit.cornell.edu>
Subject: \crcr, nested ifs
Keywords: \crcr, nested ifs

Stephan Bechtolsheim writes:

 >Assume the following nested ifs:
 > \if 1|...
 >  then text 1
 >  \if 2| ...
 >   then text 2
 >  \else
 >   else text 2
 >  \fi 2|
 > \fi 1|
 >Now assume that instead of \if 2| there is a macro
 >\IfSomething which when expanded delivers a \if.
 >Everything is fine as long as \if 1| is true because
 >then \IfSomething is expanded. But if \if 1| is false
 >then \fi 2| will terminate the \if 1| and it's all wrong.
 >
 >Is there anyway to define a macro \IfSomething in such a way
 >that TeX will recognize it as a potential conditiona'' when
 >conditional text is being skipped?! How do you solve this problem?

The only reasonable way to solve this problem is to use macro names
starting with \if for your constructs. If you need to keep their
names apart from the normal TeX names, you could use \if@ or something
like that. My macro code generally uses \if@something macros for this
purpose.

 >Why do macros like \eqalign and \eqaligno use
 > \crcr
 >to terminate the preamble? I mean what is the difference
 >compared to using \cr to terminate a preamble?

These macros use \crcr just on the off chance that you may have ended
your \eqalign with a \cr. \crcr is only different from \cr in
that it does nothing if immediately preceeded by a \cr, so it can
safely be used when you don't know whether the user has put in a \cr
already (as is often the case in table or array structures).

Mike Schmidt          <bitnet: schmidtm@cmr001
                      <arpa:   schmidtm%cmr001.bitnet@cunyvm.cuny.edu

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

Date: Wed, 3 May 89 09:56:52 PDT
From: langdon@lll-lcc.llnl.gov (Bruce Langdon)
Subject: Lost \special in LaTeX
Keywords: LaTeX, \special

How would a person anticipate that one of the specials below would not get to
the dvi file? (On unix, run "strings xx.dvi".)  What does one do about it?
Sometimes latex seems much more mysterious than tex, at least to this 
middle-level tex user (tex doesn't drop either special).

% figureps.tex defines \insertfigure and has a special in it too.
% That special does not get into the dvi file!
% Here I just put a special after \input; makes it easy to try.
% The \special made by \insertfigure does get into the dvi file.
% On multipage documents, the first special does go into the dvi.
% Plain.tex has no trouble.
\documentstyle[11pt]{report}
%\input figureps Here replaced by next line:
\special{why doesn't this get into dvi file?}
\begin{document}
\begin{figure}[htbp]
\catcode`\@=11
\let\@currentlabel=\thefigure
\catcode`\@=12
\label{fig11}
\vbox to 5 in{\vss \hbox to 5 in{\kern 0 in
%\insertfigure d0meth0x 1 5 in 5 in
\special{figure special is here}
\hss}\kern 0 in}
\caption{Methane test problem after initial cycle.}
\end{figure}
\clearpage
\end{document}

	Bruce Langdon  L-472                langdon@lll-lcc.llnl.gov
	Physics Department                  14363%f@nmfecc.llnl.gov
	Lawrence Livermore National Laboratory       
	Livermore, CA 94550                 (415) 422-5444
UUCP: ..{qantel,ucdavis,pyramid,harvard,topaz}!lll-lcc!langdon

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

Date: Wed,  3 MAY 89 16:45:46 BST
From: CHAA006%vaxb.rhbnc.ac.uk@NSFnet-Relay.AC.UK
Reply-To: Philip Taylor (RHBNC) <P.Taylor%vaxb.rhbnc.ac.uk@NSFnet-Relay.AC.UK>
Subject: Re: TeXhax digest V89 #32: \renewcommand {\endth}
Keywords: LaTeX, \renewcommand

Ian Moor asked about the error message "\endth already defined" when
attempting a \renewcommand {\endth}{{\bf endth}}.  I am no LaTeX expert --
in fact, I never use LaTeX --- but it seems from testing that LaTeX looks
explicitly for command of the form \end <anything> and rejects them as
"already defined", even if they are not.  Presumably this is because LL
defines \end <thing> on the fly, perhaps as a side effect of defining
<thing> ?  Anyhow, it looks as if you cannot define your own \end <thing>s.

					Philip Taylor
			    Royal Holloway and Bedford New College.

P.S.  Try using \message {\meaning \endth}, 
      and \tracingall \newcommand {\endth}{{\bf endth}}

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

Date: Mon, 1 May 89 21:17 EDT
From: "Jerry Leichter (LEICHTER-JERRY@CS.YALE.EDU)"
Subject: \newcommand and \endxxx
Keywords: LaTeX, \newcommand , \endxxx

In a recent TeXhax, Ian Moor reports that LaTeX's \newcommand will not allow
him to define a command named \endth, even though \@undefined reports that it
is undefined.

\newcommand contains a special-case check that prevents macros whose first
three characters are "end" from being defined.  Presumably this is there as a
safety feature:  The definition of \end{xxx} is essentially:  If \endxxx is
defined, expand it; else do nothing.  (Of course, \end also does other
processing to close up the current environment.)  That's what allows you to
turn any command into an environment - \begin{tt} works even though there is
no \endtt macro.

Now, if you were to define an \endtt macro, you might be very surprised to see
it expanded at the end of your \begin{tt} environment, when you intended
nothing of the sort.

There is no way around this in LaTeX, but you can use \def directly.  Of
course, this disables ALL of LaTeX's checking, so you need to be careful about
what you define.  LaTeX contains a lot of undocumented macros, and not all of
them contain @-signs.  (Most do, but there are quite a number of things that
were clearly intended to be style file parameters, but never made it into the
LaTeXbook.  The only way to learn about them is to read the LaTeX source.)

	Jerry

---------------------------------------------------------------------------
						
Date: Wed,  3 MAY 89 18:21:24 BST
From: CHAA006%vaxb.rhbnc.ac.uk@NSFnet-Relay.AC.UK
Reply-To: Philip Taylor (RHBNC) <P.Taylor%vaxb.rhbnc.ac.uk@NSFnet-Relay.AC.UK>
Subject: TeXhax-digest V89 #32 (DVILASER/PS, PostScript in DVI, \PrintChart)
Keywords: DVILASER/PS, PostScript in DVI, \PrintChart

Gustav Jeppesen &  Per Nikolaj D. Bukh asked about including SAS generated
PostScript in DVI, using ArborText's DVILASER/PS.  Although I have not
use SAS, I have used ArborText's \PrintChart macro (admittedly somewhat
modified) to include PostScript files at the DVI/PS stage.  Here is my
modified version, which has been cobbled about a bit to support LaTeX
rather than Plain TeX.  I can supply the original on request, but finding
it will take a little longer.  I think the only change would be to replace
the \fbox {} with a \vbox {}; the former, I believe, draws a frame around
the included figure.

					Philip Taylor
			    Royal Holloway and Bedford New College

[Start of included file: PrintChart.TeX]

%
%       A very arcane TeX/PostScript macro
%       ==================================
%
 
\def \PrintChart file: #1 width: #2 height: #3 
		 x-offset: #4pt y-offset: #5pt scale-factor: #6
		 options: #7{%
        \vskip 10pt \nobreak
        \setbox0=\hbox {%
                \dimen0 = #2%
                \hbox to #6\dimen0{%
                        \dimen0=#3%
                        \vbox to #6\dimen0{%
                                \vss
                                \special {ps::[asis,begin]
                                        0 SPB
                                        /ChartCheckPoint save def
                                        /showpage {} def
                                        Xpos Ypos translate
                                        #6 dup scale
                                        #4 72 mul 72.27 div neg
                                        #5 72 mul 72.27 div neg translate
                                }%
				\special {ps::#7}
                                \special {ps:plotfile #1 asis}%
                                \special{ps::[asis,end]
                                        ChartCheckPoint restore
                                        0 SPE
                                }%
                        }%
                        \hss
                }%
        }%
	\fbox{\unhcopy0}
        \vskip 10pt
}

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

Date: Thu, 4 May 89 12:38 GMT
From: SCCS6038%IRUCCVAX.UCC.IE@Forsythe.Stanford.EDU
Subject: Bibliography page sizes....
Keywords: LaTeX, BibTeX

Hi all,

I am wondering if anyone in TeX lans can solve my problem. I have been using
LaTeX for some time and possess a SMALL knowledge of how the entire operation
is put together. This is my problem. I am attempting to format a document for
printing on A4 size paper. I need the left margin (by the way am printing
simgle sided) 40mm and the right margin a size of 20mm. Also in I need the
page number one ince from the bottom of the page. So far so good. All this I
have been able to achieve !!!! (I am using report style --- a hacked version).

My problem is as follows.....

To crossreference any references I use the THEBIBLIOGRAPHY environment (I no
NOT use BIBTeX, and have no real desire to do so). However upon printing my
resulting document I find that the right margin on the pages allocated to the
references has a margin well in excess of 20mm. Its size is irrelevant --- I
need it to be 20mm.  While my settings appear to work on the text of the
chapters, the setting does not appear to influence the right margins of
the `thebibliography' environment.

To achieve my measurements I am setting values to

                                  \topmargin
                                  \textheignt
                                  \textwidth
                                \oddsidemargin
                                    \hsize

Any assistance in making the `thebibliography' environment conform to my
measurements would be most grateful.......

If any responses could be sent to the address below, I would most thankful...

Thanks in advance..... Aidan Delaney

                   sccs6038%iruccvax.bitnet@cunyvm.cuny.edu

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

%%% 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 <your name>
%%% 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.
%%%
%%% 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.95 (2.98 coming)    metafont  1.7
%%%    plain.tex 2.94                  plain.mf  1.7
%%%    LaTeX     2.09 ( 8/10/88)       cmbase.mf see cm85.bug
%%%    SliTeX    2.09                  gftodvi   1.7
%%%    tangle    2.9                   gftopk    1.4 
%%%    weave     2.9                   gftype    2.2
%%%    dvitype   2.9                   pktype    2.2 
%%%    pltotf    2.3                   pktogf    1.0
%%%    tftopl    2.5                   mft       0.3
%%%    BibTeX    0.99c                 
%%%    AmSTeX    1.1d
%%%\bye
%%%

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