X-VM-v5-Data: ([nil nil nil nil nil nil nil nil nil] ["2405" "Wed" "21" "October" "1998" "23:58:24" "+0200" "Hans Aberg" "haberg@MATEMATIK.SU.SE" nil "64" "Re: Users dropping into TeX" "^Date:" nil nil "10" nil nil nil nil nil] nil) X-POP3-Rcpt: schoepf@polly.zdv.Uni-Mainz.DE Received: from listserv.gmd.de (listserv.gmd.de [192.88.97.1]) by mail.Uni-Mainz.DE (8.8.8/8.8.8) with ESMTP id AAA30104; Thu, 22 Oct 1998 00:04:42 +0200 (MET DST) Received: from lsv1.listserv.gmd.de (192.88.97.2) by listserv.gmd.de (LSMTP for OpenVMS v1.1a) with SMTP id <15.07B9A2CA@listserv.gmd.de>; Thu, 22 Oct 1998 0:04:41 +0200 Received: from RELAY.URZ.UNI-HEIDELBERG.DE by RELAY.URZ.UNI-HEIDELBERG.DE (LISTSERV-TCP/IP release 1.8b) with spool id 402396 for LATEX-L@RELAY.URZ.UNI-HEIDELBERG.DE; Thu, 22 Oct 1998 00:00:33 +0200 Received: from mail0.nada.kth.se (mail0.nada.kth.se [130.237.222.70]) by relay.urz.uni-heidelberg.de (8.8.8/8.8.8) with ESMTP id XAA15663 for ; Wed, 21 Oct 1998 23:58:52 +0200 (MET DST) Received: from [130.237.37.63] (sl43.modempool.kth.se [130.237.37.63]) by mail0.nada.kth.se (8.8.7/8.8.7) with ESMTP id XAA16510 for ; Wed, 21 Oct 1998 23:58:46 +0200 (MET DST) X-Sender: su95-hab@mail.nada.kth.se References: <199810211301.JAA11121@hilbert.math.albany.edu> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Message-ID: Reply-To: Mailing list for the LaTeX3 project In-Reply-To: <3WoL2AgGBh108h@dream.kn-bremen.de> Date: Wed, 21 Oct 1998 23:58:24 +0200 From: Hans Aberg Sender: Mailing list for the LaTeX3 project To: Multiple recipients of list LATEX-L Subject: Re: Users dropping into TeX Status: R X-Status: X-Keywords: X-UID: 2694 In <199810211301.JAA11121@hilbert.math.albany.edu> "William F. Hammond" writes: >%%%%% clip >\newenvironment{citations}{% > \list{}{% > \renewcommand{\makelabel}[1]{\normalfont\itshape ##1}% > }% >}{% > \endlist >} >%%%%% clip >\newcommand{\AmSLaTeX}{$\mathcal A$\lower.4ex\hbox{$\!\mathcal > M\!$}$\mathcal S$-\LaTeX} >%%%%% endclips > >(I do not see why "citations" could not have been done entirely in >Lamport LaTeX. (I am unclear what "list" and "endlist" are.)) At 21:09 +0200 98/10/21, Martin Schroeder wrote: > >\newenvironment{foo}{start}{end} defines \foo{start} and \endfoo{end}. > >But this is an undocumented feature -- which you can use at your own >risk. So citations really should be > >\newenvironment{citations}{% > \begin{list}{}{% > \renewcommand{\makelabel}[1]{\normalfont\itshape ##1}% > }% > }{% > \end{list}% > } > >I think the official policy on compatibilty is something like: if it's >mentionend in the manual or in /doc, it will be provided. Otherwise it >might be unavailable or hidden somewhere. This is in fact related to the idea of "modules": In computer lingo, the implementer of a library (or something) to be used by others defines an "interface", with specifications of its usage, called a contract. The user of that feature can only use it according to the contract, but that is expected to be unchanged between versions. So LaTeX defines \begin{list} and \end{list} as a part of the list-environment interface, but \list and \endlist are part of the implementation of the list environment. Some languages have special features in order to prevent users to use the things merely part of the implementation and not the interface, but TeX does not have any such features; so LaTeX instead uses "@" defined as a letter in some contexts and a non-letter to the user. So, in order to emphasize that \list and \endlist do not belong to the interface, these should really have been named \@list or \@endlist: Then people will know this. If developing the concept of "modules", it would be prudent to formalize the use of such features. Hans Aberg * Email: Hans Aberg * Home Page: * AMS member listing: