[comp.text.tex] \lowercase error

xiaofei@acsu.buffalo.edu (Xiaofei Wang) (01/04/91)

Dear TeXers,

TeX reports an error for `\+' for the following TeX code.
However when I remove the \lowercase, then it is perfectly OK.
I thought \lowercase is trivial command. How can it bring a mistake?
Any hint will be appreciated.

\lowercase
{\settabs 2 \columns
\+ Don Hosek                &TeX, LaTeX, and Metafont Consulting and\cr%
\+ dhosek@ymir.claremont.edu&production work. Free Estimates.\cr%
\+ dhosek@ymir.bitnet       & \cr%
\+ uunet!jarthur!ymir       &Phone: 714-625-0147\cr}%

xiaofei@acsu.buffalo.edu
Physics, SUNY-Buffalo, NY 14260

eijkhout@s41.csrd.uiuc.edu (Victor Eijkhout) (01/04/91)

xiaofei@acsu.buffalo.edu (Xiaofei Wang) writes:

>Dear TeXers,

>TeX reports an error for `\+' for the following TeX code.

>\lowercase
>{ [...]
>\+ 

\+ is an outer macro, and apparently it is not allowed to
appear inside a \lowercase command. Tough luck.
Redefine \+, or do something dirty:
\def\PLUS{\+}
\lowercase
{ ...
\PLUS
et cetera.

V.

xiaofei@acsu.buffalo.edu (Xiaofei Wang) (01/04/91)

In article <1991Jan3.210056.26436@csrd.uiuc.edu> eijkhout@s41.csrd.uiuc.edu (Victor Eijkhout) writes:
* >TeX reports an error for `\+' for the following TeX code.
* 
* >\lowercase
* >{ [...]
* >\+ 
* 
* \+ is an outer macro, and apparently it is not allowed to
* appear inside a \lowercase command. Tough luck.
* Redefine \+, or do something dirty:
* \def\PLUS{\+}
* \lowercase
* { ...
* \PLUS
* et cetera.

As you said the \+ is an outer macro and it is not allowed to 
appear as argument so the \def\PLUS{\+} won't work. Further
suggestions are appreciated. Thanks.

xiaofei@acsu.buffalo.edu (Xiaofei Wang) (01/04/91)

In article <53408@eerie.acsu.Buffalo.EDU> xiaofei@acsu.buffalo.edu (Xiaofei Wang) writes:
* In article <1991Jan3.210056.26436@csrd.uiuc.edu> eijkhout@s41.csrd.uiuc.edu (Victor Eijkhout) writes:
* * >TeX reports an error for `\+' for the following TeX code.
* * 
* * >\lowercase
* * >{ [...]
* * >\+ 
* * 
* * \+ is an outer macro, and apparently it is not allowed to
* * appear inside a \lowercase command. Tough luck.
* * Redefine \+, or do something dirty:
* * \def\PLUS{\+}
* * \lowercase
* * { ...
* * \PLUS
* * et cetera.
* 
* As you said the \+ is an outer macro and it is not allowed to 
* appear as argument so the \def\PLUS{\+} won't work. Further
* suggestions are appreciated. Thanks.

I come up with a solution which is to replace the \+ by
\tabalign. I don't understand why but \+ was defined as
\outer\def\+{\tabalign}.

eijkhout@s41.csrd.uiuc.edu (Victor Eijkhout) (01/04/91)

xiaofei@acsu.buffalo.edu (Xiaofei Wang) writes:

>Because In article <1991Jan3.210056.26436@csrd.uiuc.edu> 
             eijkhout@s41.csrd.uiuc.edu (Victor Eijkhout, me) wrote:
>* >TeX reports an error for `\+' for the following TeX code.
>* 
>* >\lowercase
>* >{ [...]
>* >\+ 
>* 
>* \+ is an outer macro, and apparently it is not allowed to

This is correct, but then I wrote:

>* \def\PLUS{\+}
>* \lowercase
>* { ...
>* \PLUS

And XW pointed out that:

>As you said the \+ is an outer macro and it is not allowed to 
>appear as argument so the \def\PLUS{\+} won't work. 

OOOOOOOOOPPPPPPSSSSSSS!!!!

Time for really dirty solutions (and this is the output of an
on-line test, so this one does work):

*\edef\plus{\expandafter\noexpand\csname+\endcsname}

*\show\plus
> \plus=macro:
->\+.
<*> \show\plus

(isn't TeX fun?)

Victor.