X-VM-v5-Data: ([nil nil nil nil nil nil nil nil nil] ["941" "Thu" "30" "September" "1999" "09:42:27" "-0400" "William F. Hammond" "hammond@CSC.ALBANY.EDU" nil "27" "Re: xparse and end-users" "^Date:" nil nil "9" nil nil nil nil nil] nil) Received: from mail.listserv.gmd.de (mail.listserv.gmd.de [192.88.97.5]) by mail.Uni-Mainz.DE (8.9.3/8.9.3) with ESMTP id PAA05405 for ; Thu, 30 Sep 1999 15:43:38 +0200 (MET DST) Received: from mail.listserv.gmd.de (192.88.97.5) by mail.listserv.gmd.de (LSMTP for OpenVMS v1.1a) with SMTP id <15.04D57686@mail.listserv.gmd.de>; Thu, 30 Sep 1999 15:43:34 +0200 Received: from RELAY.URZ.UNI-HEIDELBERG.DE by RELAY.URZ.UNI-HEIDELBERG.DE (LISTSERV-TCP/IP release 1.8b) with spool id 445020 for LATEX-L@RELAY.URZ.UNI-HEIDELBERG.DE; Thu, 30 Sep 1999 15:42:12 +0200 Received: from sarah.albany.edu (sarah.albany.edu [169.226.1.103]) by relay.urz.uni-heidelberg.de (8.8.8/8.8.8) with ESMTP id PAA25599 for ; Thu, 30 Sep 1999 15:41:50 +0200 (MET DST) Received: from hilbert.math.albany.edu (hilbert.math.albany.edu [169.226.23.52]) by sarah.albany.edu (8.9.3/8.9.3) with ESMTP id JAA02258 for ; Thu, 30 Sep 1999 09:42:28 -0400 (EDT) Received: (from hammond@localhost) by hilbert.math.albany.edu (8.9.3/8.9.3) id JAA23860 for LATEX-L@URZ.UNI-HEIDELBERG.DE; Thu, 30 Sep 1999 09:42:27 -0400 (EDT) Message-ID: <199909301342.JAA23860@hilbert.math.albany.edu> Reply-To: Mailing list for the LaTeX3 project Date: Thu, 30 Sep 1999 09:42:27 -0400 From: "William F. Hammond" Sender: Mailing list for the LaTeX3 project To: Multiple recipients of list LATEX-L Subject: Re: xparse and end-users Status: R X-Status: X-Keywords: X-UID: 3340 Dear Friends -- Frank Mittelbach writes: > well xparse offers the ability to produce macros that have the look > and feel of standard LaTeX without the need to resort to lowlevel > programming, e.g., if you want to write a macro which has two optional > argument (with default values) and one mandatory one you simply write > > \DeclareDocumentCommand \foo { O{default1} O{default2} n } > { < code for the macro where #1 is first optional #2 is second optional > and #3 is mandatory argument > } This is very nice. 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 {...}{...} ? Of course, usage this way at variance with that of "\newcommand" might cause confusion for an author. (Since I do not code for TeX, I have no idea whether it might "cost" more.) -- Bill