LATEX-L Archives

Mailing list for the LaTeX3 project


Options: Use Forum View

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

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

Print Reply
David Carlisle <[log in to unmask]>
Reply To:
Mailing list for the LaTeX3 project <[log in to unmask]>
Thu, 30 Sep 1999 14:59:46 +0100
text/plain (33 lines)
> Since what is happening is that "foo" is being added to a namespace,
> would it not be logical for the usage to be:

> \DeclareDocumentCommand foo {...}{...}      ?

You may want to describe it that way, but that isn't really the latex
view. The latex view is that the name of the command is `\foo' not that
\ is markup and the command is called `foo'. (What happens at the
primitive TeX level is probably nearer the latter, but much of latex is
concerned with hiding primitive tex notions with higher level
constructs, so the implementation details are not really relevant here.)

It would probably be

\DeclareDocumentCommand {foo} {...}{...}
                        ^   ^
as otherwise the exact syntax for what is the `foo' argument appears to
be somewhat under specified.

but while some things (environments, pagestyles, ...) are referred to by
name (with no backslash), commands are always referred to by name
starting with \. There are no user level constructs that use both of
these forms. (Internal macros such as \@ifundefined do switch between
these views).

In latex the `name' of the \mbox command is `\mbox'. The fact that
if you go \catcode`j=0 then  jbox{this} also works as well as
\mbox{this} is a technical detail that probably you don't want to