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 p7NHWZ5B022063 for ; Tue, 23 Aug 2011 19:32:36 +0200 Received: (qmail 11179 invoked by alias); 23 Aug 2011 17:32:30 -0000 Delivered-To: GMX delivery to rainer.schoepf@gmx.net Received: (qmail invoked by alias); 23 Aug 2011 17:32:29 -0000 Received: from relay2.uni-heidelberg.de (EHLO relay2.uni-heidelberg.de) [129.206.210.211] by mx0.gmx.net (mx067) with SMTP; 23 Aug 2011 19:32:29 +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 p7NHUG3H020698 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Tue, 23 Aug 2011 19:30:16 +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 p7NGe52K001953; Tue, 23 Aug 2011 19:30:15 +0200 Received: by LISTSERV.UNI-HEIDELBERG.DE (LISTSERV-TCP/IP release 16.0) with spool id 1650827 for LATEX-L@LISTSERV.UNI-HEIDELBERG.DE; Tue, 23 Aug 2011 19:30:15 +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 p7NHUFLX011493 for ; Tue, 23 Aug 2011 19:30:15 +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 p7NHUFZf021263 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Tue, 23 Aug 2011 19:30:15 +0200 Received: from relay.uni-heidelberg.de (relay.uni-heidelberg.de [129.206.100.212]) by ix.urz.uni-heidelberg.de (8.13.8/8.13.8) with ESMTP id p7NHUEsl032168 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Tue, 23 Aug 2011 19:30:15 +0200 Received: from lo.gmane.org (lo.gmane.org [80.91.229.12]) by relay.uni-heidelberg.de (8.14.1/8.14.1) with ESMTP id p7NHU2q9021171 for ; Tue, 23 Aug 2011 19:30:05 +0200 Received: from list by lo.gmane.org with local (Exim 4.69) (envelope-from ) id 1QvunT-00053X-70 for LATEX-L@URZ.UNI-HEIDELBERG.DE; Tue, 23 Aug 2011 19:29:55 +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 19:29:55 +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 19:29:55 +0200 X-Injected-Via-Gmane: http://gmane.org/ Lines: 77 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> <1konvzgb7ssyz.dlg@nililand.de> <4E53D7B6.80109@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.30 required=5 tests=AWL,BAYES_00,L_P0F_Linux,RCVD_IN_DNSWL_MED,SPF_HELO_PASS, SPF_PASS Message-ID: Date: Tue, 23 Aug 2011 19:29:10 +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=5D7Q89H36p6sJLDpZh614Kjz2nt6F3tHIUcuojxFPemuSVF5k9pQ4l7bbtk8IpEFSUtWW B0uME0MtdNCfFcTWVWb/KhAHz+vBclJqhVW6tCEqUZbXVuRgj0n+PHtThbEw4nvs0YSsd794oq7o 80PEchZ8xb4NKOIp1VGqyoebl63PHvHxc2BpzRFex7ZGxvkXqmjnZ7QGAQ=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: 6828 Am Tue, 23 Aug 2011 17:39:18 +0100 schrieb Joseph Wright: >>> 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? > The current approach is that \keys_set_known:nnN only sets > explicitly-defined keys. So it does not matter if a set of keys have an > 'unknown' value or not. (I'm not quite clear why you'd want to do > \keys_set_known:nnN with an 'unknown' value set if this meant that there > was no difference to just using \keys_set:nn.) I didn't want to do something, I only tried to understand the "side effects" of using the "unknown" key. > >> 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= ... > At a technical level, this can be supported. However, my concern is more > at the conceptual level. In most programming languages, keyval input is > used to replace positional parameters by named ones. On the other hand, > the pgfkeys approach inter-mixes named parameters with executed items. chessboard is doing it too. Once I got the knack on defining keys it came quite naturally to use them not only to set width or size but also to put and remove pieces, declare a color in one key, and with the next key draw a rule in this color. I realized only at the end that this was an quite unusual use of keyval syntax. A "change path" command would be really useful here. Currently every key must have an unique name, and this can give quite long names. > At present, the approach in l3keys when setting keys is rather more > toward the 'named parameters' approach. This is also the case with xkeyval and it could be used for the other approach too ;-) I think l3keys is very powerful and quite fun to use. -- Ulrike Fischer