🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.text.tex
Article #2363

One more ``\outer'' message (and that's all [from me]).

#2363
From: Daniel H. Luecking
Date: Tue, 08 Sep 1992 15:02
29 lines
2101 bytes
First of all I *do* know the trick of replacing \proclaim (or any other
\outer macro) with \csname proclaim\endcsname and I also know the trick
of using \edef\cs{...\noexpand\proclaim...}. Thus I do know how to get around
\outer'ness restriction on \outer macros in the replacement text of \def's.

The *reason* for outerness (as stated in the TeXbook) is to trap errors. Macro
writers are exhorted to use \outer for those macros which should only be
used at quiet times. So there I was, a TeX neophite, an end user (not a macro
writer except in a minor way) using plain TeX (LaTeX unavailable at the time,
though now I have come to prefer my TeX plain) and I attempt to simplify my
life by defining a few things like \def\theorem#1{\proclaim Theorem. #1\par}
and I get the most incomprehensible error message NOT EVEN MENTIONING the
term \outer. I was forced to check a (fortunately small) file for matching
braces, etc., rewrite the macro 5 different ways, and in general waste much
too much time, until (noticing later that \beginsection behaved similarly)
I looked up the text of plain.tex and discovered the problem.

THIS is error trapping! The ONLY error would not have been one had the format
writer not chosen to make \proclaim \outer.

So my point (in a previous posting) is that \outer may be a debugging tool
for macro writers, but it can be a headache for end users and it is my
humble opinion that Prof. Knuth erred several times in his choice of macros to
make \outer.

(I still believe that the phrase ``...since a user shouldn't be stating a
theorem in a macro definition...'' is absurd and misses the point of \def's.)

Dan Luecking
Technical Details
Message-ID: <8091374@MVB.SAIC.COM>
Path: arc1-ca.pugleaf.net!sparky!uunet!zaphod.mps.ohio-state.edu!news.acns.nwu.edu!network.ucsd.edu!mvb.saic.com!info-tex

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!sparky!uunet!zaphod.mps.ohio-state.edu!news.acns.nwu.edu!network.ucsd.edu!mvb.saic.com!info-tex
From: "Daniel H. Luecking" <DL24794@UAFSYSB.UARK.EDU>
Newsgroups: comp.text.tex
Subject: One more ``\outer'' message (and that's all [from me]).
Message-ID: <8091374@MVB.SAIC.COM>
Date: Tue, 08 Sep 92 10:02:06 CDT
Organization: Info-Tex<==>Comp.Text.Tex Gateway
X-Gateway-Source-Info: Mailing List
Lines: 29