# [texhax] Obsolete \centerline command used in amsbook class (Uwe L?ck)

Reinhard Kotucha reinhard.kotucha at web.de
Sun Sep 23 22:59:30 CEST 2012

On 2012-09-23 at 13:36:13 -0400, Michael Barr wrote:

> Well, I admit that I had confused amstex with amslatex.  I was
> talking of course of the latter.

You also confuse plain TeX with LaTeX.

> I certainly agree that redefining \newcommand is shoddy and I would
> never do that.  But undefining a tex (not plaintex, but actual tex)
> primitive such as \over is inexcusable.

It should be undefined, of course.  LaTeX provides \frac.  AFAIK
LaTeX3 will probably remove everything it doesn't support.  I don't
understand why people expect that LaTeX works as described in the
TeXbook.  LaTeX is something completely different.  Why is it so hard
to grok that?

> As for the use of \def, well if there were a procedure that had all
> the funcionality of \def and just gave a warning instead of
> stopping on error when you had redefined something, I would gladly
> use it.

Does \def give you such a warning?  Why don't you use \renewcommand in
order to redefine something?  Or add \nonstopmode to the top of your
file if you don't want it to stop on errors.

> I cannot imagine any other reason for deprecating \def
> than that you might inadvertently redefine something that you
> didn't realize.

Yes.  \def is only preserved because LaTeX2e doesn't provide a
powerful argument parser.  But LaTeX3 does.

Regards,
Reinhard

--
----------------------------------------------------------------------------
Reinhard Kotucha                                      Phone: +49-511-3373112
Marschnerstr. 25
D-30167 Hannover                              mailto:reinhard.kotucha at web.de
----------------------------------------------------------------------------
Microsoft isn't the answer. Microsoft is the question, and the answer is NO.
----------------------------------------------------------------------------