X-VM-v5-Data: ([nil nil nil nil nil nil nil nil nil] ["2267" "Wed" " 9" "February" "1994" "16:41:46" "LCL" "Mike Piff" "M.Piff@sheffield.ac.uk" "<199402091650.AA24782@mail.cs.tu-berlin.de>" "56" "Re: Continuation lines" "^Date:" nil nil "2" "1994020916:41:46" "Continuation lines" 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 AA10843; Wed, 9 Feb 94 17:51:37 +0100 Received: from mail.cs.tu-berlin.de by sc.ZIB-Berlin.DE (4.1/SMI-4.0-sc/03.06.93) id AA25439; Wed, 9 Feb 94 17:50:36 +0100 Received: from tubvm.cs.tu-berlin.de by mail.cs.tu-berlin.de with SMTP id AA24782 (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:50:34 +0100 Message-Id: <199402091650.AA24782@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 6900; Wed, 09 Feb 94 17:48:50 +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 6899; Wed, 9 Feb 1994 17:48:51 +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 7224; Wed, 9 Feb 1994 17:47:44 +0000 Reply-To: Mailing list for the LaTeX3 project Date: Wed, 9 Feb 1994 16:41:46 LCL From: Mike Piff Sender: Mailing list for the LaTeX3 project To: Multiple recipients of list LATEX-L Subject: Re: Continuation lines Status: R X-Status: X-Keywords: X-UID: 1494 From: "Johannes L. Braams" %> If I may refer to a talk I gave in Portland at TUG92, this sort of %> thing can be acheived *without* fiddling with output routines. %> %> Algorithm (just cut from an existing style file, so it needs %> modification): %> %>\newbox\question@box %>\newbox\rest@box %>\newlength\question@ht %>\question@ht= %> %>\def\question#1{\def\q@num{#1}\question@ht=...\pickup@text} %>\def\endquestion{% %> \endpickup@text{question}% %> {Question \q@num\space(continued)} %> {Question \q@num\space continued on next page}} %> %>\def\pickup@text{\setbox\pickup@box=\vbox% %> \bgroup\hsize=\pickup@wd\@parboxrestore} %>\def\endpickup@text#1#2#3{\egroup\vbadness=10000 %> \edef\box@todo{\expandafter\csname#1@box\endcsname} %> \edef\box@height{\expandafter\csname#1@ht\endcsname} %> \global\setbox\box@todo = \vsplit\pickup@box to \box@height %> \wd\box@todo=\textwidth %> \ifdim\ht\pickup@box>0pt %> \global\setbox\box@todo = \vbox{\unvbox\box@todo %> \hbox to \pickup@wd{\null\hfill\strut #3}} %> \global\setbox\rest@box =\vbox{\hsize=\pickup@wd %> \unvbox\rest@box\strut %> \hbox{\hskip-\shiftleft\strut #2} %> \unvbox\pickup@box} %> \fi %>} %> %> All you have to do now is set \rest@box at the top of the next %> page. %> %> Johannes Braams %> Unfortunately not! I meant to try this approach when I could get round to it, but never did. ( I used it to balance some text in columns before \multicol existed---the first thing I ever did in LaTeX/TeX.) You see, the appropriate break points for a question have to be determined by the structure of the question, with appropriate penalties, eg, break before a part in preference to before a subpart, and *never* before a displayed equation. So---it gets complicated. But I agree that it can be done. Mike %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Dr M J Piff, School of Mathematics and Statistics, University of %% %% Sheffield, UK. e-mail: M.Piff@sheffield.ac.uk %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%