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 o8IB6ASj005858 for ; Sat, 18 Sep 2010 13:06:11 +0200 Received: (qmail 9495 invoked by alias); 18 Sep 2010 11:06:05 -0000 Delivered-To: GMX delivery to rainer.schoepf@gmx.net Received: (qmail invoked by alias); 18 Sep 2010 11:05:58 -0000 Received: from relay.uni-heidelberg.de (EHLO relay.uni-heidelberg.de) [129.206.100.212] by mx0.gmx.net (mx027) with SMTP; 18 Sep 2010 13:05:58 +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 o8IB3rHE014006 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Sat, 18 Sep 2010 13:03:54 +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 o8HN2db5020290; Sat, 18 Sep 2010 13:04:21 +0200 Received: by LISTSERV.UNI-HEIDELBERG.DE (LISTSERV-TCP/IP release 16.0) with spool id 439372 for LATEX-L@LISTSERV.UNI-HEIDELBERG.DE; Sat, 18 Sep 2010 13:04:21 +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 o8IB4LFZ012764 for ; Sat, 18 Sep 2010 13:04:21 +0200 Received: from nm19.bullet.mail.ac4.yahoo.com (nm19.bullet.mail.ac4.yahoo.com [98.139.52.216]) by relay2.uni-heidelberg.de (8.13.8/8.13.8) with SMTP id o8IB4VsB028713 for ; Sat, 18 Sep 2010 13:04:32 +0200 Received: from [98.139.52.194] by nm19.bullet.mail.ac4.yahoo.com with NNFMP; 18 Sep 2010 11:04:15 -0000 Received: from [74.6.228.38] by tm7.bullet.mail.ac4.yahoo.com with NNFMP; 18 Sep 2010 11:04:15 -0000 Received: from [127.0.0.1] by smtp107.mail.ac4.yahoo.com with NNFMP; 18 Sep 2010 11:04:15 -0000 X-Yahoo-Newman-Id: 281342.40133.bm@smtp107.mail.ac4.yahoo.com Received: from [192.168.1.70] (st_philipp@85.181.134.27 with plain) by smtp107.mail.ac4.yahoo.com with SMTP; 18 Sep 2010 04:04:15 -0700 PDT X-Yahoo-SMTP: _jlT6bOswBCTfNEaYibKorijSw14_bs- X-YMail-OSG: 2vM5r6gVM1kJCzHako8D0Wz3tOHPcSlhkdHCIzoGwh8LE.g v3EJCZSRKWbtSlSXlmUemjdM6JwOyea6UIjHE0oQ5m8GAEJiwwdG.ihAGs44 bUgyZ.QBpiwggJ2vM.mZ.2LisK6b9qJHVhMB07wqB8nOG5OdNwjn7Wmyh6fY kcqSh2aMa02e9rSH5w6J5O5C2BHycahKXhbHduzoRZGe7DuaLaWiEsE.2fAw QrIvc6v_T1CLt0qStKyZAA.zU4H7I7tXZCBV0Wz7Y.gAiswCTYmMfYKYsW1B AvgV5MHJbO6wndi98aRFgYQ-- X-Yahoo-Newman-Property: ymail-3 Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Apple Message framework v1081) References: <4C93A430.1020103@morningstar2.co.uk> <20100917180303.GA7348@oberdiek.my-fqdn.de> <19603.49961.484432.456512@morse.mittelbach-online.de> <20100918103114.GB25082@oberdiek.my-fqdn.de> X-Mailer: Apple Mail (2.1081) Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from quoted-printable to 8bit by listserv.uni-heidelberg.de id o8IB4LFZ012765 Message-ID: <4CD7B98D-31F9-49FA-BDCD-91D6E7F03114@yahoo.de> Date: Sat, 18 Sep 2010 13:04:13 +0200 Reply-To: Mailing list for the LaTeX3 project Sender: Mailing list for the LaTeX3 project From: Philipp Stephani Subject: Re: Option parsing bug or 'feature'? To: LATEX-L@listserv.uni-heidelberg.de In-Reply-To: <20100918103114.GB25082@oberdiek.my-fqdn.de> Precedence: list List-Help: , List-Unsubscribe: List-Subscribe: List-Owner: List-Archive: X-GMX-Antispam: 0 (Mail was not recognized as spam); Detail=5D7Q89H36p77e5KAPs1l6v/Sb97LojnDtMgfETrECMLUO9erHzOJe+OynZRhvlGqb5A0X bbiCt2rAnnct/NAlbHMvoAL6GY+23tB3khNK7au3fkL89Y026H2WJg1zsjGg0I0r5V9ldzzR5wBB /r19Q==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: 6410 Am 18.09.2010 um 12:31 schrieb Heiko Oberdiek: > 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. I agree. I use the following policy for package options, which I believe is defensive enough: - Avoid options whenever possible. - If an option is required (e.g. if a package loads another package conditionally), always process it locally using \ProcessLocalKeyvalOptions (kvoptions) or \ProcessKeysPackageOption (l3keys2e). - Never process global options except "standard" ones like "draft".