Received: from mail.proteosys.com ([213.139.130.197]) by nummer-3.proteosys with Microsoft SMTPSVC(6.0.3790.3959); Thu, 6 Aug 2009 10:53:52 +0200 Received: by mail.proteosys.com (8.14.3/8.14.3) with ESMTP id n768rpSt026292 for ; Thu, 6 Aug 2009 10:53:52 +0200 Received: from listserv.uni-heidelberg.de (listserv.uni-heidelberg.de [129.206.100.94]) by relay.uni-heidelberg.de (8.14.1/8.14.1) with ESMTP id n768nC5R006185 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Thu, 6 Aug 2009 10:49:13 +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 n7687nNt001169; Thu, 6 Aug 2009 10:49:12 +0200 Received: by LISTSERV.UNI-HEIDELBERG.DE (LISTSERV-TCP/IP release 15.5) with spool id 287441 for LATEX-L@LISTSERV.UNI-HEIDELBERG.DE; Thu, 6 Aug 2009 10:49:11 +0200 Received: from relay.uni-heidelberg.de (relay.uni-heidelberg.de [129.206.100.212]) by listserv.uni-heidelberg.de (8.13.1/8.13.1) with ESMTP id n768nBjG021865 for ; Thu, 6 Aug 2009 10:49:11 +0200 Received: from ueamailgate01.uea.ac.uk (ueamailgate01.uea.ac.uk [139.222.131.184]) by relay.uni-heidelberg.de (8.14.1/8.14.1) with ESMTP id n768msEr005810 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Thu, 6 Aug 2009 10:48:58 +0200 Received: from ueams01.uea.ac.uk (ueams01.uea.ac.uk [139.222.131.78]) by ueamailgate01.uea.ac.uk (8.13.1/8.13.1) with ESMTP id n768mseI020593 for ; Thu, 6 Aug 2009 09:48:54 +0100 Received: from [139.222.203.158] by ueams01.uea.ac.uk with esmtp (Exim 4.69) (envelope-from ) id 1MYyeW-0007tV-G1 for LATEX-L@LISTSERV.UNI-HEIDELBERG.DE; Thu, 06 Aug 2009 09:48:48 +0100 User-Agent: Thunderbird 2.0.0.22 (Windows/20090605) MIME-Version: 1.0 References: <4A7921CF.5020803@morningstar2.co.uk> <4A7A1505.4040604@residenset.net> <4A7A726F.3080006@morningstar2.co.uk> <4A7A857F.4010400@morningstar2.co.uk> <4A7A906B.6080709@morningstar2.co.uk> <913BFFC3-4041-4426-9FCB-49E95C7C2541@gmail.com> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Canit-CHI2: 0.04 X-Bayes-Prob: 0.0001 (Score 0, tokens from: @@RPTN, outgoing) X-CanItPRO-Stream: UEA:outgoing (inherits from UEA:default,base:default) X-Canit-Stats-ID: 27609264 - 1b658793dd97 X-Scanned-By: MIMEDefang 2.65 on 213.139.130.197 X-Scanned-By: CanIt (www . roaringpenguin . com) on 139.222.131.184 Message-ID: <4A7A98F7.1040208@morningstar2.co.uk> Date: Thu, 6 Aug 2009 09:48:55 +0100 Reply-To: Mailing list for the LaTeX3 project Sender: Mailing list for the LaTeX3 project From: Joseph Wright Subject: Re: xparse To: LATEX-L@LISTSERV.UNI-HEIDELBERG.DE In-Reply-To: <913BFFC3-4041-4426-9FCB-49E95C7C2541@gmail.com> Precedence: list List-Help: , List-Unsubscribe: List-Subscribe: List-Owner: List-Archive: X-ProteoSys-SPAM-Score: -6.599 () BAYES_00,RCVD_IN_DNSWL_MED Return-Path: owner-latex-l@LISTSERV.UNI-HEIDELBERG.DE X-OriginalArrivalTime: 06 Aug 2009 08:53:52.0509 (UTC) FILETIME=[6C27FAD0:01CA1673] Status: R X-Status: X-Keywords: X-UID: 5832 Will Robertson wrote: > So, to perhaps summarise: > > m M - mandatory braced argument > d D - optional delimited argument; picks up material between > and . Can be used for {}, (), etc. Can be followed by a default value > to use. > o O - shorthand for d[] > t - lookahead for optional > s - shorthand for t* > l L - everything before the next brace (not often used, but sometimes > useful) > > No longer: > > c - as d() but mandatory; can perform the check manually (only a > small processing overhead?). > p - shorthand for d(); drop this to keep things simple. All fine with me: I will probably look at re-working this into xparse-alt at the weekend. > Open issues: > > - Do we want to support something like 'd{[[}{]]}{default}' to allow > \foo[[bar]] ? (I'd say no.) I think that "d" is pretty clearly for delimiting by two *tokens*. Anything beyond that is not supported (especially if we want to implement d{} as an optional argument using braces). > - Do we want to support something analogous to > \def\foo #1\endfoo{...#1...} > Consider active quotes, and macros like '\<...>' > Maybe this is as important to support as 'l'. > Could use the letter 'u{}' for "until". Perhaps. I'm not keen on active quotes, but I can see the second form might be useful. Should not be too hard to do. -- Joseph Wright