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

Michael Barr barr at math.mcgill.ca
Mon Sep 24 23:18:53 CEST 2012

Well, going on a suggestion from someone, I can precede the loading with
\let\LET\let and \let\DEF\def and follow it with \LET\let\LET and
\let\def\DEF.  But isn't that all kind of silly?

Michael

On Mon, 24 Sep 2012, Joel C. Salomon wrote:

> On Mon, Sep 24, 2012 at 1:25 PM, Michael Barr <barr at math.mcgill.ca> wrote:
>> If Latex3 really disallows things it doesn't like, I am afraid the tex
>> community will fork and one branch (perhaps a very small branch) will not
>> adopt it.  Is that what the implementers want.  I get intimations that they
>> are seriously thinking of disallowing \def and \let.
>
> It's worse than you thought --- and better.
> On one hand, in the Expl3 programming modes you would use
> 'set_nopar'; signature 'takes arguments token, parameter code,
> token-list'.) And when LaTeX3 is built as a format, the name \def
> will be un-defined.
>
> On the other hand, \cs_set_nopar:Npn *is* the primitive \def, just as
> \cs_set_eq:NN is a very thin wrapper around \let; the new names are
> for consistency with the rest of the environment.
>
> On the gripping hand, all TeX primitives will remain available and
> identifiable as primitives: \tex_def:D and \tex_let:D, for example.
> (Read: namespace 'tex' for Knuth TeX primitives; function 'def' or
> 'let' or whatever; signature 'Don't use unless you know what you're
> doing'.)
>
> So yes, it will be difficult to write code that will work under Plain
> TeX and LaTeX3, but you'll have complete and unambiguous access to the
> primitives, so it shouldn't be too had to write a minitex environment
> that restores the old names.
>
>> As I just explained to Uwe Lueck, I cannot imagine doing my diagram macros
>> (a front end to xypic) using \newcommand.  It has one macro, \cube, that has
>> 20 required and 32 optional parameters that are delimited in various ways
>> (look at it if you are interested).
>
> Oh, wow. I suspect that the argument processor feature of LaTeX3's
> xparse *might* be able to handle that [but I don't know enough to
> suggest how]. But the primitives are all still there when you need
> them, just with different names.
>
> --Joel
>

--
The modern conservative is engaged in one of man's oldest exercises in
moral philosophy--the search for a superior moral justification
for selfishness.  --J.K. Galbraith