> 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 do not want to go much into the context, but the problem shows up when
> trying to do new variations of \newcommand, \newenvironment, \newobject,
> etc.)
\providecommand was a big improvement in LaTeX2e when one is writing
mutually compatible macro packages. The stuff mentioned above is of
course relevant to the idea of standard journal macros, redefinable by
various .cls, able to harmonise with personal macros etc.
There is another possibility:
cancel If defined, then undefine, else do nothing
Which might be useful to cancel (and provoke an error message) for
certain commands. To use a journal macros front matter example,
something like
\cancelcommand{\thanks}
might be useful :)
Also, something like this could be useful
force If undefined, then define, else override and provide warning
Back to journal macros, they could ALL be of the form \forcecommand,
assuming that they were processed after an author's personal commands.
A warning would be nice.
--
Phillip Helbig Email ... [log in to unmask]
Nuffield Radio Astronomy Laboratories Tel. ..... +44 1477 571 321 (ext. 297)
Jodrell Bank Fax ................. +44 1477 571 618
Macclesfield Telex ................. 36149 JODREL G
UK-Cheshire SK11 9DL Web .... http://www.jb.man.ac.uk/~pjh/
My opinions are not necessarily those of NRAL or the University of Manchester.
|