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