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 o8IAVCRU032210 for ; Sat, 18 Sep 2010 12:31:13 +0200 Received: (qmail 31007 invoked by alias); 18 Sep 2010 10:31:07 -0000 Delivered-To: GMX delivery to rainer.schoepf@gmx.net Received: (qmail invoked by alias); 18 Sep 2010 10:31:04 -0000 Received: from relay.uni-heidelberg.de (EHLO relay.uni-heidelberg.de) [129.206.100.212] by mx0.gmx.net (mx112) with SMTP; 18 Sep 2010 12:31:04 +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 o8IASktN017485 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Sat, 18 Sep 2010 12:28:46 +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 o8HN2daP020290; Sat, 18 Sep 2010 12:29:15 +0200 Received: by LISTSERV.UNI-HEIDELBERG.DE (LISTSERV-TCP/IP release 16.0) with spool id 439318 for LATEX-L@LISTSERV.UNI-HEIDELBERG.DE; Sat, 18 Sep 2010 12:29:10 +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 o8IATAXQ010735 for ; Sat, 18 Sep 2010 12:29:10 +0200 Received: from mail-bw0-f49.google.com (mail-bw0-f49.google.com [209.85.214.49]) by relay2.uni-heidelberg.de (8.13.8/8.13.8) with ESMTP id o8IATFrJ008492 for ; Sat, 18 Sep 2010 12:29:18 +0200 Received: by bwz19 with SMTP id 19so3899158bwz.22 for ; Sat, 18 Sep 2010 03:29:00 -0700 (PDT) Received: by 10.204.54.82 with SMTP id p18mr4838116bkg.142.1284805740399; Sat, 18 Sep 2010 03:29:00 -0700 (PDT) Received: from irwin.vpn.uni-freiburg.de (p548460FE.dip.t-dialin.net [84.132.96.254]) by mx.google.com with ESMTPS id f16sm4572924bkd.16.2010.09.18.03.28.59 (version=TLSv1/SSLv3 cipher=RC4-MD5); Sat, 18 Sep 2010 03:28:59 -0700 (PDT) Received: by irwin.vpn.uni-freiburg.de (Postfix, from userid 500) id 9E7D37762; Sat, 18 Sep 2010 12:31:15 +0200 (CEST) Mail-Followup-To: LATEX-L@LISTSERV.UNI-HEIDELBERG.DE References: <4C93A430.1020103@morningstar2.co.uk> <20100917180303.GA7348@oberdiek.my-fqdn.de> <19603.49961.484432.456512@morse.mittelbach-online.de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Message-ID: <20100918103114.GB25082@oberdiek.my-fqdn.de> Date: Sat, 18 Sep 2010 12:31:15 +0200 Reply-To: Mailing list for the LaTeX3 project Sender: Mailing list for the LaTeX3 project From: Heiko Oberdiek Subject: Re: Option parsing bug or 'feature'? To: LATEX-L@listserv.uni-heidelberg.de In-Reply-To: <19603.49961.484432.456512@morse.mittelbach-online.de> Precedence: list List-Help: , List-Unsubscribe: List-Subscribe: List-Owner: List-Archive: X-GMX-Antispam: 0 (Mail was not recognized as spam); Detail=5D7Q89H36p4U4jfdfC5HDevlx1X2sAZgP9e9F2VTUYI/FLDAh5vXTVin+wznIYULO4W8f iu4UIHVeutAdNYNyhIIRpjhB4NMqCt7OvFNAZ1Wfx4FZJc627ijqKNPBMry42D3C0vBPyK5et6Ko fYsJQ==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: 6409 On Fri, Sep 17, 2010 at 09:36:09PM +0200, Frank Mittelbach wrote: > Hi Heiko, > > > LaTeX2e uses \zap@space to remove the spaces in the option lists. > > As a side effect \zap@space also removes the braces around the > > comma, because the group is followed immediately after a space: > > since you already looked at the different implementations, any suggestion on > how to best improve the LaTeX2e behaviour? Because of the frozen nature of LaTeX2e I don't expect that LaTeX2e is/can/will improved. In the next postings you have already answered it that way. Example, preserving spaces in option names (with or without around equals) will break, for instance: \documentclass[a4 paper, 12 pt]{documentclass} My recommendation for package authors that use key value interfaces is to provide a \setup command for setting the options and getting rid of the option limitations of LaTeX2e. Also setting options in \usepackage makes problems with option clashes more likely, especially if the package is already loaded without options. Another problem is that the option share the same namespace. Global options can trigger wanted and unwanted actions in different packages, that knows the same option. That's even more problematic for key value options, where the packages interprete the same keys, but the values with different syntax. Yours sincerely Heiko