# [texhax] Is redefining primitives a good idea?

Reinhard Kotucha reinhard.kotucha at web.de
Wed Apr 25 00:08:47 CEST 2012

On 2012-04-24 at 09:04:42 -0400, Michael Barr wrote:

> IMHO, redefining primitives is a kind of vandalism, that the AMS
> (and AFAIK only the AMS) does all too often.  They "undefined"
> \over and its relatives (\overwithdelimiters,...) on the grounds (I
> got this explanation from the late Michael Downes) that \over as
> defined caused the engine to overwork because it could not know
> which of the four possible font sizes to use until it was finished,
> hence had to essentially use \mathchoice internally.  This may have
> been a reason in 1990, but is no longer a reason today.  A book I
> published then took about to tex; now it compiles in less than a
> minute.
>
> I was helping a colleague prepare a book for AMS publication and he
> had used \over over and over.  Eventually, by delving deep into
> amstex, I discovered that they had \let\over something else and
> used that something else to define \frac.  So what this was was
> discipline for the use of some future program that would replace
> tex.  Some of those future programs now exist; I wonder whether
> they have eliminated \over.
>
> Another thing the AMS has done is outlaw the use of the plain
> \matrix and its relatives.  In a book I published in 2002, with the
> AMS, there were dozens of instances of \pmatrix and the book
> wouldn't compile under amstex.  I just copied Knuth's original
> definition into my file.  But this cannot be done with primitives.
>
> Bottom line: it is a terrible thing to redefine or undefine
> primitives.

Michael, do you really mean amstex or are you talking about amslatex?
As far as LaTeX is concerned, it has its own syntax and thus it's
consequent to disable things which are not part of its specification.

Using non-LaTeX commands in LaTeX often cause a lot of trouble, at
least unless you know _exactly_ what you are doing.

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