## 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 >>]

 Re: \@ifdefinable 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 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.