X-VM-v5-Data: ([nil nil nil nil nil nil nil nil nil] ["1866" "Sat" "4" "December" "1999" "12:23:54" "CET" "Achim Blumensath" "blume@CORONA.OCHE.DE" nil "32" "Re: Classes -- a generalization of templates" "^Date:" nil nil "12" nil nil nil nil nil] nil) Return-Path: Received: via tmail-4.1(11) (invoked by user schoepf) for schoepf; Sun, 5 Dec 1999 23:23:00 +0100 (MET) Received: from mail.Uni-Mainz.DE (trudi.zdv.Uni-Mainz.DE [134.93.8.159]) by mailserver1.zdv.Uni-Mainz.DE (8.9.1b+Sun/8.9.1) with ESMTP id XAA26288 for ; Sun, 5 Dec 1999 23:22:58 +0100 (MET) Received: from mail.listserv.gmd.de (mail.listserv.gmd.de [192.88.97.5]) by mail.Uni-Mainz.DE (8.9.3/8.9.3) with ESMTP id XAA22734 for ; Sun, 5 Dec 1999 23:22:58 +0100 (MET) Received: from mail.listserv.gmd.de (192.88.97.5) by mail.listserv.gmd.de (LSMTP for OpenVMS v1.1a) with SMTP id <11.1CE8CE0C@mail.listserv.gmd.de>; Sun, 5 Dec 1999 23:22:51 +0100 Received: from RELAY.URZ.UNI-HEIDELBERG.DE by RELAY.URZ.UNI-HEIDELBERG.DE (LISTSERV-TCP/IP release 1.8b) with spool id 445777 for LATEX-L@RELAY.URZ.UNI-HEIDELBERG.DE; Sun, 5 Dec 1999 23:22:18 +0100 Received: from relay.uni-heidelberg.de (relay.uni-heidelberg.de [129.206.100.212]) by relay.urz.uni-heidelberg.de (8.8.8/8.8.8) with ESMTP id XAA08165 for ; Sun, 5 Dec 1999 23:22:17 +0100 (MET) Received: from downtown.oche.de (downtown.oche.de [194.94.253.3]) by relay.uni-heidelberg.de (8.9.1b+Sun/8.9.1) with ESMTP id XAA11494 for ; Sun, 5 Dec 1999 23:22:31 +0100 (MET) Received: from corona.oche.de (uucp@localhost) by downtown.oche.de (8.9.3/8.9.3/Debian/GNU) with UUCP id XAA27752 for urz.uni-heidelberg.de!latex-l; Sun, 5 Dec 1999 23:20:00 +0100 Received: by corona.oche.de (wUUCP 1.10) id <1jft@corona.oche.de>; Sun, 5 Dec 99 21:16:29 CET X-Mailer: AmiGate 1.6 (13.11.95) Message-ID: <417f4014@corona.oche.de> Reply-To: Mailing list for the LaTeX3 project Date: Sat, 4 Dec 1999 12:23:54 CET From: Achim Blumensath Sender: Mailing list for the LaTeX3 project To: Multiple recipients of list LATEX-L Subject: Re: Classes -- a generalization of templates Status: R X-Status: X-Keywords: X-UID: 3446 Hans Aberg wrote: > Here is a possible generalization of the templates in the > http://www.latex-project.org/talks/tug99.pdf document to classes. The > point with the class dogma is that one has data with certain structure > that one wants to describe, and that it helps that description (as it > lessens programming errors, diminishes the need for repetitive low-level > programming, etc). Even if the template system reminds of object-oriented programming at first glace, it is something completely different. Templates are just commands which are parameterised; an instance provides the actual parameters for the command. It doesn't make sense to subclass a template. You have to write a completely new template if you want to add new parameters. I don't think that an object-oriented approach is appropriate for LaTeX. Objects are entities with an internal state capable of sending and responding to messages. Thus, they are active elements. A text document on the other hand is something static. It consists of text enriched by meta-data describing its layout. LaTeX translates this static description into some lowlevel format. Thus, basically LaTeX is a set of rules determining this translation, i.e., a set of commands to perform this translation. Therefore, IMHO a command-based system like templates is much more appropriate in this context. Some work with the new system has confirmed this impression. Achim ________________________________________________________________________ _ | \_____/ | // Achim Blumensath | \ _ \O/ \___/\ | // blume@corona.oche.de |-< /_\ =o= \ /\ \| \X/ (p^2 - m^2)\psi = 0 |_/ \_ /"\ o----| ____________________________________________________________________\___|