LATEX-L Archives

Mailing list for the LaTeX3 project

LATEX-L@LISTSERV.UNI-HEIDELBERG.DE

Options: Use Classic View

Use Monospaced Font
Show Text Part by Default
Show All Mail Headers

Topic: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Matthew Swift <[log in to unmask]>
Mon, 20 Oct 1997 18:38:46 -0400
text/plain (34 lines)
>>>>> "H" == Hans Aberg <[log in to unmask]> writes:

    >> 4) advanced syntax that lets you compute the macro name and/or
    >> write a complex parameter specification.

    H>   Isn't this just the usual (in-reality-not-so-advanced) TeX
    H> parameter definitions you are thinking of here?

    H>   I think the LaTeX parameter style \newcommand[6]... is
    H> pointless. Should it not be scrapped in LaTeX3, only be allowed
    H> in compatibility mode?

If you are going to reengineer the whole system of defining commands
in LaTeX, then a fortiori you are going to redefine \@ifdefinable.

If anyone does this, I think it makes sense to continue to permit one
or more abbreviated forms of defining commands in the present manner:
a form for <N> simple arguments; a form that accommodates common
optional arguments; and a form with full generality -- at least these
forms.

TeX macro parameters and their TeX syntax may be
"in-reality-not-so-advanced" to multi-year veterans of TeX such as
Hans and myself, but the easier it is for all users to BOTH WRITE and
READ defining commands, the better for everyone.  The current system
of permitting the majority of definitions to be written in a simple
form is the right idea.  Imagine if every definition were as hard to
read as this one from the kernel:

    \long\def\@tf@r#1#2\do#3{\def\@fortmp{#2}\ifx\@fortmp\space\else
    \@tforloop#2\@nil\@nil\@@#1{#3}\fi}

...or another macro I use has that has a full 32 #'s in front of it.

ATOM RSS1 RSS2