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 p7LBZbFc023879 for ; Sun, 21 Aug 2011 13:35:46 +0200 Received: (qmail 4873 invoked by alias); 21 Aug 2011 11:35:32 -0000 Delivered-To: GMX delivery to rainer.schoepf@gmx.net Received: (qmail invoked by alias); 21 Aug 2011 11:35:32 -0000 Received: from relay2.uni-heidelberg.de (EHLO relay2.uni-heidelberg.de) [129.206.210.211] by mx0.gmx.net (mx098) with SMTP; 21 Aug 2011 13:35:32 +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 p7LBXOEj013623 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Sun, 21 Aug 2011 13:33:24 +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 p7L8mh1g017027; Sun, 21 Aug 2011 13:33:23 +0200 Received: by LISTSERV.UNI-HEIDELBERG.DE (LISTSERV-TCP/IP release 16.0) with spool id 1545843 for LATEX-L@LISTSERV.UNI-HEIDELBERG.DE; Sun, 21 Aug 2011 13:33:23 +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 p7LBXN9Y026352 for ; Sun, 21 Aug 2011 13:33:23 +0200 Received: from lon1-post-3.mail.demon.net (lon1-post-3.mail.demon.net [195.173.77.150]) by relay.uni-heidelberg.de (8.14.1/8.14.1) with ESMTP id p7LBXDMW014998 for ; Sun, 21 Aug 2011 13:33:17 +0200 Received: from morningstar2.demon.co.uk ([80.176.134.7] helo=palladium.local) by lon1-post-3.mail.demon.net with esmtp (Exim 4.69) id 1Qv6Gi-0000D6-ex; Sun, 21 Aug 2011 11:33:13 +0000 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:6.0) Gecko/20110812 Thunderbird/6.0 MIME-Version: 1.0 References: <4E4FF538.7070601@morningstar2.co.uk> <9788A2B7-3E8F-4D2C-A52E-10999BCB59FA@gmail.com> <4E50CD5A.9040304@morningstar2.co.uk> <480570CB-1922-4C42-AA23-0DCB88D6A911@gmail.com> X-Enigmail-Version: 1.3 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Message-ID: <4E50ECDC.7090903@morningstar2.co.uk> Date: Sun, 21 Aug 2011 12:32:44 +0100 Reply-To: Mailing list for the LaTeX3 project Sender: Mailing list for the LaTeX3 project From: Joseph Wright Subject: Re: couple of l3keys notes To: LATEX-L@listserv.uni-heidelberg.de In-Reply-To: <480570CB-1922-4C42-AA23-0DCB88D6A911@gmail.com> Precedence: list List-Help: , List-Unsubscribe: List-Subscribe: List-Owner: List-Archive: X-GMX-Antispam: 0 (eXpurgate); Detail=5D7Q89H36p42lhgaIAOef8vfEUQBIZIwAx8ZDwKTy6dtHTOCYON8NFjsvlPVdF1lVWT4V MNA0nFYyp6wlhIob0vznHeo70+uQVwuSu2kz/O0Bvd+zTkkvTtb4ZFxHAChPgxqW9qcxFj4lciV4 WtTth1jSTv9sgwuX7a4Id+nncwDEwxkRxJu3OtLTHT7vMtL1YzBEGGLNpk=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: 6811 On 21/08/2011 10:39, Will Robertson wrote: >>> I suppose fontspec is a little odd in its keyval approach when viewed through this lens. It's perfectly reasonable (in fontspec!) to write options like >>> >>> [Numbers={OldStyle,Proportional}] >> >> To me, this looks like a meta-option of two boolean choices. We don't >> currently have a 'meta-in-other-paths', so I'd do something like >> >> \keys_define:nn { fontspec } >> { Numbers .code:n = \keys_set:nn { fontspec / Numbers } {#1} } >> \keys_define:nn { fontspec / Numbers } >> { >> OldStyle .bool_set:N = \l_fontspec_Numbers_OldStyle_bool , >> Proportional .bool_set:N = \l_fontspec_Numbers_Proportional_bool , >> } >> >> Perhaps we need something like ".multichoice:", which would do the same >> as the above automatically. (This is not that disimilar to what .choice: >> does.) > > This is essentially the approach I was using with xkeyval; I always thought it was a bit clunky (admittedly, less so here). I think I like the idea of .multichoice:, as having both mutually-exclusive and multiple-choice options seems like a fairly sensible breakdown -- does anyone else have any comments on this? I've added .multichoice: and .multichoices:nn, marked as 'experimental'. Feedback on these and .choices:nn would be very useful. -- Joseph Wright