X-VM-v5-Data: ([nil nil nil nil nil nil nil nil nil] ["1844" "Tue" "3" "November" "1998" "12:53:32" "+0100" "Chris Rowley" "C.A.Rowley@OPEN.AC.UK" nil "43" "Re: Quotes and punctuation" "^Date:" nil nil "11" 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 MAA16849; Tue, 3 Nov 1998 12:53:59 +0100 (MET) Received: from lsv1.listserv.gmd.de (192.88.97.2) by listserv.gmd.de (LSMTP for OpenVMS v1.1a) with SMTP id <4.7C1D4F49@listserv.gmd.de>; Tue, 3 Nov 1998 12:53:57 +0100 Received: from RELAY.URZ.UNI-HEIDELBERG.DE by RELAY.URZ.UNI-HEIDELBERG.DE (LISTSERV-TCP/IP release 1.8b) with spool id 407322 for LATEX-L@RELAY.URZ.UNI-HEIDELBERG.DE; Tue, 3 Nov 1998 12:53:52 +0100 Received: from ixgate01.dfnrelay.d400.de (ixgate01.dfnrelay.d400.de [193.174.248.1]) by relay.urz.uni-heidelberg.de (8.8.8/8.8.8) with ESMTP id MAA26230 for ; Tue, 3 Nov 1998 12:53:50 +0100 (MET) X400-Received: by mta d400relay in /PRMD=dfnrelay/ADMD=d400/C=de/; Relayed; Tue, 3 Nov 1998 12:53:42 +0100 X400-Received: by mta venus in /PRMD=uk.ac/ADMD= /C=gb/; Relayed; Tue, 3 Nov 1998 12:53:17 +0100 X400-Received: by mta fell.open.ac.uk in /PRMD=UK.AC/ADMD= /C=GB/; Relayed; Tue, 3 Nov 1998 12:52:59 +0100 X400-Received: by mta open.ac.uk in /PRMD=UK.AC/ADMD= /C=GB/; Relayed; Tue, 3 Nov 1998 12:52:58 +0100 X400-Received: by mta UK.AC.MHS-RELAY.SUN in /PRMD=uk.ac/ADMD= /C=gb/; Relayed; Tue, 3 Nov 1998 12:53:32 +0100 X400-Originator: C.A.Rowley@open.ac.uk X400-Recipients: non-disclosure:; X400-MTS-Identifier: [/PRMD=UK.AC/ADMD= /C=GB/;<13886.60082.618695.290249@fell.] X400-Content-Type: P2-1988 (22) Content-Identifier: Re: Quotes an... Alternate-Recipient: Allowed References: <98102213123551@man.ac.uk>, <199811030953.JAA04308@nag.co.uk> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Mailer: VM 6.44 under Emacs 19.34.1 Message-ID: <13886.60082.618695.290249@fell.open.ac.uk> Reply-To: Mailing list for the LaTeX3 project In-Reply-To: <199811030953.JAA04308@nag.co.uk> Date: Tue, 3 Nov 1998 12:53:32 +0100 From: Chris Rowley Sender: Mailing list for the LaTeX3 project To: Multiple recipients of list LATEX-L Subject: Re: Quotes and punctuation Status: R X-Status: X-Keywords: X-UID: 2718 David Carlisle wrote -- > > Of course you can follow the above to its logical conclusion of > implementing _everything_ via active characters and implementing your > own parsing routines _in_ TeX rather than using the parser built into > tex-the-program. Take care or the project will have to pay royalties to a certain fellow-country person of ours for even mentioning the possibility:-). > This is certainly possible (some people have done > exactly that) but TeX isn't really the best language for implementing a > parser, and certainly isn't the fastest. If more involved contextual > analysis is required in the input stream then it probably makes more > sense to look to an extended system that can provide such extended > functionality. (Something like omega's OTP processes.) They may not be > quite what you want here, but the principle is the same, to make a > controlled extension of the underlying system rather than try to build a > tower of macros on the rather fragile sand that is tex-the-program. This suggests two very useful exercises for our readers: 1. Implement "smart quotes" using OTPs (or show why this is not possible or is a good way to do it). 2. Give a reasonably full spec for an extension to TeX's input character processing that would support clean and elegant implementation of this and similar functionality. NOTE: these exercises are not a joke. As Frank, David and I have been trying to state, perhaps too subtly, this kind of exercise is one important part (there are many others) of what is needed to make LaTeX3 happen in the current TeX world. By contrast, clever TeX code showing that "TeX can do it" is not so useful, right now, for this type of parsing problem: since TeX (and even its expansion mechanism alone) is Turing complete "TeX can do all parsing and string manipulation". chris