X-VM-v5-Data: ([nil nil nil nil nil nil nil nil nil] ["776" "Tue" " 1" "March" "1994" "14:29:00" "GMT" "Jonathan Fine" "J.Fine@PMMS.CAM.AC.UK" nil "20" "Re: (La)TeX conditional compilation" "^Date:" nil nil "3" nil nil nil nil] nil) Return-Path: Received: from sc.ZIB-Berlin.DE (mailserv) by dagobert.ZIB-Berlin.DE (4.1/SMI-4.0/24.6.93) id AA06634; Tue, 1 Mar 94 15:32:41 +0100 Received: from mail.cs.tu-berlin.de by sc.ZIB-Berlin.DE (4.1/SMI-4.0-sc/03.06.93) id AA01995; Tue, 1 Mar 94 15:30:39 +0100 Received: from tubvm.cs.tu-berlin.de by mail.cs.tu-berlin.de with SMTP id AA19797 (5.65c8/IDA-1.4.4(mail.m4[1.12]) for <@MAIL.CS.TU-BERLIN.DE:Schoepf@SC.ZIB-BERLIN.DE>); Tue, 1 Mar 1994 15:30:37 +0100 Message-Id: <199403011430.AA19797@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 2055; Tue, 01 Mar 94 15:30:09 +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 2054; Tue, 1 Mar 1994 15:30:09 +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 3359; Tue, 1 Mar 1994 15:29:25 +0000 Reply-To: Mailing list for the LaTeX3 project Date: Tue, 1 Mar 1994 14:29:00 GMT From: Jonathan Fine Sender: Mailing list for the LaTeX3 project To: Multiple recipients of list LATEX-L Subject: Re: (La)TeX conditional compilation Status: R X-Status: X-Keywords: X-UID: 1578 Dr Rik Huygen wonders why > \newenvironment{Expert}{\ifSomeCondition}{\fi} does not work, when \isSomeCondition is false. This is due to basis facts about the manner in which the TeX \if and \fi commands work. Basically, they skip *without expansion* and so the \fi in the end of the environment *is not seen* when the conditional text is skipped. The solution is to use some other skipping mechanism. The (by now not so) new verbatim environment of Mittelbach and Sch\"opf allows skipping of material. Another possibility is to do something like \newenvironment{Expert}{\setbox0\vbox\bgroup}{\egroup\endit} where \endit is either \unvbox\box0 or \relax depending on what one wants to do with the material just gathered. Jonathan Fine J.Fine@pmms.cam.ac.uk