Received: from mx0.gmx.net (mx0.gmx.net [213.165.64.100]) by h1439878.stratoserver.net (8.14.2/8.14.2/Debian-2build1) with SMTP id p4GLiMPD025762 for ; Mon, 16 May 2011 23:44:23 +0200 Received: (qmail 14412 invoked by alias); 16 May 2011 21:44:17 -0000 Delivered-To: GMX delivery to rainer.schoepf@gmx.net Received: (qmail invoked by alias); 16 May 2011 21:44:16 -0000 Received: from relay2.uni-heidelberg.de (EHLO relay2.uni-heidelberg.de) [129.206.210.211] by mx0.gmx.net (mx058) with SMTP; 16 May 2011 23:44:16 +0200 Received: from listserv.uni-heidelberg.de (listserv.uni-heidelberg.de [129.206.100.94]) by relay2.uni-heidelberg.de (8.13.8/8.13.8) with ESMTP id p4GLg2h3031574 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Mon, 16 May 2011 23:42:02 +0200 Received: from listserv.uni-heidelberg.de (localhost.localdomain [127.0.0.1]) by listserv.uni-heidelberg.de (8.13.1/8.13.1) with ESMTP id p4GKkjK4004064; Mon, 16 May 2011 23:42:02 +0200 Received: by LISTSERV.UNI-HEIDELBERG.DE (LISTSERV-TCP/IP release 16.0) with spool id 1306617 for LATEX-L@LISTSERV.UNI-HEIDELBERG.DE; Mon, 16 May 2011 23:42:02 +0200 Received: from relay2.uni-heidelberg.de (relay2.uni-heidelberg.de [129.206.210.211]) by listserv.uni-heidelberg.de (8.13.1/8.13.1) with ESMTP id p4GLg2Ix018920 for ; Mon, 16 May 2011 23:42:02 +0200 Received: from moutng.kundenserver.de (moutng.kundenserver.de [212.227.17.8]) by relay2.uni-heidelberg.de (8.13.8/8.13.8) with ESMTP id p4GLfwWE031559 for ; Mon, 16 May 2011 23:42:01 +0200 Received: from morse.mittelbach-online.de (p3EE3F64F.dip.t-dialin.net [62.227.246.79]) by mrelayeu.kundenserver.de (node=mreu2) with ESMTP (Nemesis) id 0LlrOO-1PmknV2hSS-00ZSpg; Mon, 16 May 2011 23:41:57 +0200 Received: by morse.mittelbach-online.de (Postfix, from userid 501) id C015D74F20; Mon, 16 May 2011 23:41:54 +0200 (CEST) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit References: <4DCA93CC.5020605@morningstar2.co.uk> <19920.15087.714131.100464@morse.mittelbach-online.de> <447088.31292.qm@web24704.mail.ird.yahoo.com> <4DD0BFB3.7070007@morningstar2.co.uk> <27DAD3FD-9C28-4707-9454-FBB65B66A56D@gmail.com> X-Mailer: VM 7.19 under Emacs 21.3.1 X-Provags-ID: V02:K0:4sypgViqeI6v+zxaodhNoCc0Z7u9+G5C8frfbbSrEBm GllC4KwUwRb82T5BUszdk3FChHwmClXMRd+gS7ayKr6wCd9SlG GB14g1c0aXqf1lqWiu7zu4wCVWuys/DVqmwRI181/WR8YKcpFM lVRlwK/4TnBMZe/ulBP8FqN7R7bzpn3OrzEVmHpqqA2Lr6Zy6j SFbHvzerCkqrve5hgaY/g== X-Spam-Whitelist-Provider: Message-ID: <19921.39458.647973.867958@morse.mittelbach-online.de> Date: Mon, 16 May 2011 23:41:54 +0200 Reply-To: Mailing list for the LaTeX3 project Sender: Mailing list for the LaTeX3 project From: Frank Mittelbach Subject: Re: xparse and space skipping To: LATEX-L@listserv.uni-heidelberg.de In-Reply-To: <27DAD3FD-9C28-4707-9454-FBB65B66A56D@gmail.com> Precedence: list List-Help: , List-Unsubscribe: List-Subscribe: List-Owner: List-Archive: X-GMX-Antispam: 0 (eXpurgate); Detail=5D7Q89H36p4yCuwxJv6KY0FCZRnwZ+1315kH6oNtc3PZNDoFkssqlPkF4Nar/arDYN4pH PNORLMX2OBkyB54+n3snHCy5ehl2mUB0Z2epGg/f6zwbRAm9V1J8JcFAoirgqjtKaqxfv/nb4TAU xMluyoIhSXwgff0eeNAGyuLpG88SxvUKKNFy0/KZY8jbEyOGdzBcPfewuNE+CRTBOK63A==V1; X-Resent-By: Forwarder X-Resent-For: rainer.schoepf@gmx.net X-Resent-To: rainer@rainer-schoepf.de Status: R X-Status: X-Keywords: X-UID: 6759 > On 16/05/2011, at 3:39 PM, Joseph Wright wrote: > > > To me, that means > > > > \foo[...]{...} > > > > is a possible, but I'd hope not > > > > \foo{...}[...] > > I think there are enough examples on CTAN where people have needed to > extend the optional argument syntax to indicate that the 2e model above is > too restricted for user purposes. --text follows this line-- A simple syntax with unnamed positional arguments (optional or mandatory or mixed) as 2e provides it has its uses and they go beyond a single optional argument. But clearly this is a syntax that very fast gets difficult to use or rather to remember. It all depends on how strong the arguments are "naturally ordered" and how often such commands are used. > > Having said that, I do agree in some cases (such as \makebox[][]{}) an > overload of optional arguments is also a bad idea, where a keyval interface > makes more sense. I guess there are worse ones but yes, those kind of commands are good examples were such a syntax is fast reaching its limits especially as the commands are seldom used. But if a command is used often enough you can keep a consise syntax and still have it fairly complex. Anyway, I'm not arguing key/val no key/val. I'm quite a fan of the letter (sometimes) > Dropping trailing optional arguments just doesn't feel right to me; in the > interests of disclosure, however, at least two of the packages I've written > (pstool and mlist) use them, so I'm clearly biased :) Their interfaces > could certainly be revised but I don't think (yet) in hindsight that the > way the commands work therein is necessary a bad idea. I wouldn't drop them either (not for xparse anyway) and I think that Lars' suggestions needs a closer look at to perhaps provide the best of both worlds even here. frank