Received: from mout.gmx.net (mout.gmx.net [212.227.15.15]) by h1439878.stratoserver.net (8.14.4/8.14.4/Debian-2ubuntu2.1) with ESMTP id s8UH3V0Z013403 for ; Tue, 30 Sep 2014 19:03:32 +0200 Received: from relay.uni-heidelberg.de ([129.206.100.212]) by mx-ha.gmx.net (mxgmx006) with ESMTPS (Nemesis) id 0Mchiz-1Xqonc0MvR-00Hw8h for ; Tue, 30 Sep 2014 19:03:25 +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 s8UH1Dct010548 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Tue, 30 Sep 2014 19:01:13 +0200 Received: from listserv.uni-heidelberg.de (listserv.uni-heidelberg.de [127.0.0.1]) by listserv.uni-heidelberg.de (8.13.8/8.13.8) with ESMTP id s8UDpM1Z027164; Tue, 30 Sep 2014 19:01:12 +0200 Received: by LISTSERV.UNI-HEIDELBERG.DE (LISTSERV-TCP/IP release 16.0) with spool id 11326338 for LATEX-L@LISTSERV.UNI-HEIDELBERG.DE; Tue, 30 Sep 2014 19:01:12 +0200 Received: from relay.uni-heidelberg.de (relay.uni-heidelberg.de [129.206.100.212]) by listserv.uni-heidelberg.de (8.13.8/8.13.8) with ESMTP id s8UH1CvD010323 for ; Tue, 30 Sep 2014 19:01:12 +0200 Received: from plane.gmane.org (plane.gmane.org [80.91.229.3]) by relay.uni-heidelberg.de (8.14.1/8.14.1) with ESMTP id s8UH14EE010478 (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=NO) for ; Tue, 30 Sep 2014 19:01:07 +0200 Received: from public by plane.gmane.org with local (Exim 4.69) (envelope-from ) id 1XZ0nP-0007BZ-3C for LATEX-L@LISTSERV.UNI-HEIDELBERG.DE; Tue, 30 Sep 2014 19:01:03 +0200 Received: from mail-2y.bbox.fr ([194.158.98.15]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1XZ0nF-00075j-9N for public-LATEX-L-0lvw86wZMd8wwC3q1xGJAzLcMfAFj/UcfwJ6n/Uicl4@plane.gmane.org; Tue, 30 Sep 2014 19:00:53 +0200 Received: from drums.chezmoi.fr.i-did-not-set--mail-host-address--so-tickle-me (static-176-182-191-61.ncc.abo.bbox.fr [176.182.191.61]) by mail-2y.bbox.fr (Postfix) with ESMTP id 0B1A86D for ; Tue, 30 Sep 2014 19:00:53 +0200 (CEST) References: <5429D0DF.7060608@morningstar2.co.uk> X-Url: http://gte.univ-littoral.fr/members/dbitouze/pub/latex X-Archive: encrypt User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 X-MIME-Autoconverted: from quoted-printable to 8bit by listserv.uni-heidelberg.de id s8UH1CvD010324 Message-ID: Date: Tue, 30 Sep 2014 19:00:52 +0200 Reply-To: Mailing list for the LaTeX3 project Sender: Mailing list for the LaTeX3 project From: =?utf-8?Q?Denis_Bitouz=C3=A9?= Subject: Re: [l3keys] Suggestion: Add a key property for specifying key that /has/ to be used To: LATEX-L@LISTSERV.UNI-HEIDELBERG.DE In-Reply-To: <5429D0DF.7060608@morningstar2.co.uk> (Joseph Wright's message of "Mon, 29 Sep 2014 22:36:31 +0100") Precedence: list List-Help: , List-Unsubscribe: List-Subscribe: List-Owner: List-Archive: X-MIME-Autoconverted: from 8bit to quoted-printable by relay.uni-heidelberg.de id s8UH1Dct010548 Envelope-To: X-GMX-Antispam: 0 (Mail was not recognized as spam); Detail=V3; X-GMX-Antivirus: 0 (no virus found) X-UI-Filterresults: notjunk:1;V01:K0:2rcQaeiFXP4=:TMhWA/hz2PlmdL0slAG0v5FaV0 lBUZRHgw2aVUJ4TlFW3YaGmo07qd85CWU45xCOW7wXr0NCfVkPh4szCSywGLxxRfxBGu5A7Cj iSda0BINYFP4Jk330vgROPmbZnn9CXOoV1Y+2VyF5JP4Ana2C2y/w+CLNqIXM9dCCskHJFdaE jEZOEPngiK8k9CU2AeMOThOiIqbD9mMArgaAnAyyLv0WaeFxhRJluVnUNLYP4p/1sEEt/TcKP z65ckPBx7+COqrj0sYY+bz2IjNP274V1AGXx/iTJwiz54U0TIxbbNUp8oKqy9BbSilXpTdJ5M v8Jhy++sQGE/sNX8cEIr+foBNr6utesM5Hnv1YKR/eO8RSTESXxefcypkIKPXWn0/UWZm8MXN TelSuCAB1Ga0Mpd/NpDMQWFW+1J+4sUWNBJnlWqbeqaNhW7fvYbaaLzYiPmGA3PANGyb6CEAD w7he2mE7vkXG4ouFzZnz8sPw3ZtbIDBJLBkRGScu26T+eGntT2ry6UQffPnd/6UZXJXhe/5G1 CH2xPOOD4un2LEdOhcFEJhmVAIgb8kgl1NxTszW6RTXtkYfv6H/t5lncreKUymLUjRXXa8pXM 1ExiXg5t6X8gQB70WhLO8QMgQ0xn9OtqIET1cMhWz1TtjpbTFLXfAEy5Mb4og6UeD8+s4vUn3 WCnsS7NNg7dtta0NZ3UHmNTxYJXTkPWn6JtwZdYDKqcKDV/jBOaRlWphZT1Hsp6jWfG3QHNQA gaywD34e8jiQUfLk+muMi1B5TFLdG9DFoNh+B08QcIToA5NzKK01q5V1zjz7RzfQieGtANmIe 6NFukf0bXhBrA6tlb7w0WSF2NX6iRqjW6cldtoG3i6+uVQHb25Z8IfmlfaFZG+7gX1lOW2Y/l 0WyDDRFLDCJ/5gPNRcTU25Q1lJWqpNe0prc/x+lajmMji5DY7wcAe/lVdd5BSGXQ8M+rttpbD iTiOjxcqkmaYhuRMnQawUagbWC/+7VSxDpHLl8Ps1WvEyt5tlbLLrQhcx2tKnzqTgnWBP98Sh 90FccVI+kK4OS4LFIbU1QcvdhYzCNkEoAeaIM4K5zNuRAmCCpdoch6mwlG0k62++pT6Ku6yoj 7PX2W5/H2MWCJTJ9wi5Ht0AjqnNjKDq/nHo+lKUgGD4Y+b9qLCp2L0aEihgI2pP1/2VQplcbE ciq4DvM38oUF+VUO4E6ispnWUOfLJC7bGQuukyD8YysGzG4UMtJUBt2YZt53UfVCOxrLEB0Cl G0lCY2elpZ/Y4exmf9QyxULkOnBHHewhZlg2P27P7FZekq+c17a37F7PmP8X4UIQhPBzL99Xp H2bZ1DNWz7qTCTm8s4YmUpdpXp4QbSZ14mYYHY/KaW6xMl7Tb+nR3JdqhZWWG0sQ/5wJCPY/f MdfqgiROeJedpaKClY30shtpSsFKQxUZnVFGBPhajnQb/OObPKelXmuuOmuRzyOd6FxOMhyHw X5PCAbHDnkVwrXlkGka6L/R31LZB5Yn8XTK6NyIxmNXaIcJmRo X-UI-Loop:V01:bRtVi8iBDiw=:ZQsjght4lnSnD6ihX8aOy1u/HaaXJKkBbzmgoLHAqYE= X-UI-Out-Filterresults: notjunk:1; X-Scanned-By: MIMEDefang 2.71 on 85.214.41.38 Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from quoted-printable to 8bit by h1439878.stratoserver.net id s8UH3V0Z013403 Status: R X-Status: X-Keywords: X-UID: 7604 Le 29/09/14 à 23h36, Joseph Wright a écrit : > Sean has pointed to a similarity to dealing with mandatory arguments at > a design level. This request seems a little different as l3keys isn't > meant to be targeting that area. However, there is clearly overlap. OK. > At present, key properties mainly apply to individual keys in a 'stand > alone' sense. This request is different as it's actually about an entire > set of keys. No, maybe I was unclear: my question concerned the "requireness" of a single (or maybe several but treated separately) key property. > To me, that seems a bit odd: it's pretty rare that buried inside a set > of optional settings is one or more mandatory ones. There is also the > question of what 'required' might mean, as > > key = \empty > > or similar might well be equally invalid in the real use case but would > presumably pass such a test. In the use case I have in mind, `key' would be required and expect an integer. Would it be missing, an error message would be emitted; would its value be anything but an integer, an(other) error message would be emitted. > What I think we need before we can really comment is some solid proposed > use cases, showing why the property is needed as opposed to other > approaches as you outline. Here is an outline of my use case. I'm working on a class for a quarterly mathematical journal and I'd like to provide an \issuesetup document command that lets the secretary specify, for each issue, at least the (mandatory) number. The issue's month and year are computed from the number but I'd like to let them be (optionally) specified if, for any reason, a given issue is not published at time. OK, this \issuesetup command could (and I started like this) be designed to have a mandatory argument for the number and an optional argument for specifying the month and the year in a key-value fashion: ┌──── │ \issuesetup{143} └──── or: ┌──── │ \issuesetup[month=3]{143} └──── or: ┌──── │ \issuesetup[month=3,year=2016]{143} └──── but it is less explicit than: ┌──── │ \issuesetup{number=143} └──── or: ┌──── │ \issuesetup{month=3,number=143} └──── or: ┌──── │ \issuesetup{month=3,year=2016,number=143} └──── OK, I could give a more explicit name: \issuenumber rather than \issuesetup but: 1. \issuenumber[month=3,year=2016]{143} would look rather strange (has a "number" an optional "month"?) 2. other properties than just the number (and related month and year) could be added in the issue setup, hence \issuesetup is a more appropriate name than \issuenumber. Thanks. -- Denis