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 p7NB73ul029871 for ; Tue, 23 Aug 2011 13:07:04 +0200 Received: (qmail 5167 invoked by alias); 23 Aug 2011 11:06:58 -0000 Delivered-To: GMX delivery to rainer.schoepf@gmx.net Received: (qmail invoked by alias); 23 Aug 2011 11:06:57 -0000 Received: from relay.uni-heidelberg.de (EHLO relay.uni-heidelberg.de) [129.206.100.212] by mx0.gmx.net (mx002) with SMTP; 23 Aug 2011 13:06:57 +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 p7NB4mNR019424 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Tue, 23 Aug 2011 13:04:50 +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 p7NB2gv2001953; Tue, 23 Aug 2011 13:04:48 +0200 Received: by LISTSERV.UNI-HEIDELBERG.DE (LISTSERV-TCP/IP release 16.0) with spool id 1601635 for LATEX-L@LISTSERV.UNI-HEIDELBERG.DE; Tue, 23 Aug 2011 13:04:48 +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 p7NB4l9m013609 for ; Tue, 23 Aug 2011 13:04:48 +0200 Received: from ix.urz.uni-heidelberg.de (cyrus-portal.urz.uni-heidelberg.de [129.206.100.176]) by relay.uni-heidelberg.de (8.14.1/8.14.1) with ESMTP id p7NB4ikt019235 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Tue, 23 Aug 2011 13:04:45 +0200 Received: from relay2.uni-heidelberg.de (relay2.uni-heidelberg.de [129.206.210.211]) by ix.urz.uni-heidelberg.de (8.13.8/8.13.8) with ESMTP id p7NB4i8h022411 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Tue, 23 Aug 2011 13:04:44 +0200 Received: from lo.gmane.org (lo.gmane.org [80.91.229.12]) by relay2.uni-heidelberg.de (8.13.8/8.13.8) with ESMTP id p7NB4Pcv026708 for ; Tue, 23 Aug 2011 13:04:30 +0200 Received: from list by lo.gmane.org with local (Exim 4.69) (envelope-from ) id 1QvomL-0005OZ-53 for LATEX-L@URZ.UNI-HEIDELBERG.DE; Tue, 23 Aug 2011 13:04:21 +0200 Received: from p5dd1d5d5.dip.t-dialin.net ([93.209.213.213]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Tue, 23 Aug 2011 13:04:21 +0200 Received: from news3 by p5dd1d5d5.dip.t-dialin.net with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Tue, 23 Aug 2011 13:04:21 +0200 X-Injected-Via-Gmane: http://gmane.org/ Lines: 72 References: <4E4FF538.7070601@morningstar2.co.uk> <9788A2B7-3E8F-4D2C-A52E-10999BCB59FA@gmail.com> <4E516DF2.4040002@morningstar2.co.uk> <104nbkj0nr84x.dlg@nililand.de> <4E523217.2080408@morningstar2.co.uk> <4E52AA87.6090608@morningstar2.co.uk> <1i25hv8yiyx81$.dlg@nililand.de> <4E537C7A.5040605@morningstar2.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Complaints-To: usenet@dough.gmane.org X-Gmane-NNTP-Posting-Host: p5dd1d5d5.dip.t-dialin.net User-Agent: 40tude_Dialog/2.0.15.41de X-Spam-Flag: No X-Envelope-From: X-Spam-Status: No, hits=-4.20 required=5 tests=AWL,BAYES_00,L_P0F_Linux,RCVD_IN_DNSWL_MED,SPF_HELO_PASS, SPF_PASS Message-ID: <1konvzgb7ssyz.dlg@nililand.de> Date: Tue, 23 Aug 2011 13:03:38 +0200 Reply-To: Mailing list for the LaTeX3 project Sender: Mailing list for the LaTeX3 project From: Ulrike Fischer Subject: Re: couple of l3keys notes To: LATEX-L@listserv.uni-heidelberg.de Precedence: list List-Help: , List-Unsubscribe: List-Subscribe: List-Owner: List-Archive: X-GMX-Antispam: 0 (eXpurgate); Detail=5D7Q89H36p5x1RWm4Ldx8pHNe5ytInNcjhItQsZph79rXFpXTTQ4ZcRcsQ4g6LCmBgaPj DsgBbB7CpEfsUlX2XCUsCN9GFQ/bC1f2MpAy216nOFQHhPzXl7uimnzsK1Cfz21Jf6Nwf7QcHIgT XE3aBW2PHo0mRyH8a+8hfmx+JWnw8NsIRZTSAmVdEVNl+SNa3MOui1oqfY=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: 6826 Am Tue, 23 Aug 2011 11:10:02 +0100 schrieb Joseph Wright: > On 23/08/2011 09:32, Ulrike Fischer wrote: >> I don't have enough practice with l3keys to decide this - just >> starting. But from the language I would expect a \keys_set_known to >> give an error if it encounters something unknown. Also a command to >> set keys can set only known keys, so it sound like a pleonasm. > > Well no, as the special 'unknown' key allows behaviour for a key which > is not defined to be set up. Does keys_set_known makes a difference between modules with and without such an unknown key? > >> Another question: pdfkeys has the notion of a "key tree" and >> "pathes". And you can switch pathes with a command. (.cd I think). >> Can/should one do something similar with l3keys? I see the >> subgroups, but I'm not sure if they really are the same conzept. > > Internally, l3keys uses the same storage approach as pgfkeys. The > \keys_set:nn macro is rather more like \pgfqkeys than \pgfkeys, in the > sense that it includes a root to search from. It is therefore possible > to do something like > > \keys_set:nn { } { foo / key-a = value , bar / key-a = other-value } > > So it would in principal be quite possible to implement > > \keys_set:n % No starting path > { / foo .cd: , key-a = value , bar .cd: , key-a = other-value } > > However, at the moment there's not been a good use case for l3keys for > such an approach. Explaining keys as a tree is not so easy as dealing > with each modules keys separately. I'm currently changing chessfss to keyval-syntax. I have to set properties for board fonts, figurines fonts and other symbols. So I have a structure like this: all chess fonts family width series size fig font encoding family width series size board font encoding family width series size ... So keys like "fig / encoding" look quite natural, but it would be quite useful if a user could set keys also like this: set-all, family=... set-fig, family=... , size= ... -- Ulrike Fischer