## 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 12:56:39 -0400 text/plain (30 lines) > I get the following variations; all should check \@ifdefinable without > \@ifundefined, but differ in the other respects: > define > new If undefined, then define, else error. > renew If defined, then define, else error. > provide If undefined, then define, else do nothing. > override If define, then define, else do nothing. I don't have an opinion on cleaning up the internals of \@ifdefinable; I have been able to write a large number of defining commands without running into any problems in this regard (the moredefs package). But I would add the following to your list. The first is already in the kernel, the second is in moredefs:     check Compare given with existing definition;                   warn if not identical.     require If undefined, define, else check. When considering new defining commands, there are also (at least) four Boolean variations:         1) "robust" or not "robust"         2) \long or not \long         3) \global or not \global         4) advanced syntax that lets you compute the macro name and/or write a            complex parameter specification. I've organized and normalized some new defining commands to a small extent in moredefs, but certainly not with the completeness and efficiency that might be achieved by starting from scratch.