X-VM-v5-Data: ([nil nil nil nil nil nil nil nil nil] ["1848" "Wed" " 9" "February" "1994" "16:23:33" "GMT" "David Carlisle" "carlisle@cs.man.ac.uk" "<199402091625.AA24050@mail.cs.tu-berlin.de>" "43" "Re: A philosophical question about packages and options" "^Date:" nil nil "2" "1994020916:23:33" "A philosophical question about packages and options" nil "<9402091532.AA03007@m1.cs.man.ac.uk>"]) Return-Path: Received: from sc.ZIB-Berlin.DE (mailserv) by dagobert.ZIB-Berlin.DE (4.1/SMI-4.0/24.6.93) id AA10798; Wed, 9 Feb 94 17:26:21 +0100 Received: from mail.cs.tu-berlin.de by sc.ZIB-Berlin.DE (4.1/SMI-4.0-sc/03.06.93) id AA25269; Wed, 9 Feb 94 17:25:20 +0100 Received: from tubvm.cs.tu-berlin.de by mail.cs.tu-berlin.de with SMTP id AA24050 (5.65c8/IDA-1.4.4(mail.m4[1.12]) for <@MAIL.CS.TU-BERLIN.DE:Schoepf@SC.ZIB-BERLIN.DE>); Wed, 9 Feb 1994 17:25:17 +0100 Message-Id: <199402091625.AA24050@mail.cs.tu-berlin.de> Received: from TUBVM.CS.TU-BERLIN.DE by tubvm.cs.tu-berlin.de (IBM VM SMTP V2R2) with BSMTP id 6709; Wed, 09 Feb 94 17:25:07 +0200 Received: from VM.URZ.UNI-HEIDELBERG.DE (NJE origin MAILER@DHDURZ1) by TUBVM.CS.TU-BERLIN.DE (LMail V1.2a/1.8a) with BSMTP id 6708; Wed, 9 Feb 1994 17:25:07 +0200 Received: from VM.URZ.UNI-HEIDELBERG.DE (NJE origin LISTSERV@DHDURZ1) by VM.URZ.UNI-HEIDELBERG.DE (LMail V1.2a/1.8a) with BSMTP id 7111; Wed, 9 Feb 1994 17:24:21 +0000 Reply-To: Mailing list for the LaTeX3 project In-Reply-To: <9402091532.AA03007@m1.cs.man.ac.uk> (message from Mike Piff on Wed, 9 Feb 1994 14:54:22 LCL) Date: Wed, 9 Feb 1994 16:23:33 GMT From: David Carlisle Sender: Mailing list for the LaTeX3 project To: Multiple recipients of list LATEX-L Subject: Re: A philosophical question about packages and options Status: R X-Status: X-Keywords: X-UID: 1492 > ... \documentclass[option=value]{article} .... key = value syntax is generally quite nice for optional arguments. However, I can only repeat the guiding principles of the upgrade to 2e, as stated in the original announcement: * Unmodified version 2.09 document files can be processed with LaTeX2e. * All new features of LaTeX2e conform to the conventions of version 2.09, making it as easy as possible for current users to learn to use them. key=value is definitely not a standard convention of 2.09. That is not to say it is not good thing, and in fact one of the packages that I am currently wrapping up with latex2e documentation is a generic parser for parsing comma separated lists of this form. But this is *not* to be considered as core LaTeX, but rather a `contributed' package by someone who happens to be on the core team. As packages can not `legally' change the syntax of \documentclass, as they are read too late, the one place that such a parser could not add option=value syntax is in the example given above, oh well that's life. 2e has to build on the conventions of 2.09, that is a big constraint. As discussions on this list have shown, even small changes to apparently innocuous functions can have a big impact on `compatibility'. In recent weeks the discussions here seem to oscillate between `why did you change that, it is no longer compatible' and `why havent you improved this feature by changing command xxx' Of course there is never a good answer to these kind of questions, some of the decisions have to be arbitrary. While this testing phase is going on some changes can be made (eg putting \footheight back) and some changes are just bug fixes (\mediumseries), but for some commands the interface has to be fixed, as otherwise testing will never finish, and it will keep changing for ever. David