From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.comp.tex.context/5925 Path: main.gmane.org!not-for-mail From: Hans Hagen Newsgroups: gmane.comp.tex.context Subject: Re: Q: Keeping blocks together Date: Thu, 25 Oct 2001 11:54:03 +0200 Sender: owner-ntg-context@let.uu.nl Message-ID: <5.1.0.14.1.20011025114951.02fe8b20@server-1> References: <12163019177.20011025104530@telecable.es> NNTP-Posting-Host: coloc-standby.netfonds.no Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; format=flowed X-Trace: main.gmane.org 1035396487 5791 80.91.224.250 (23 Oct 2002 18:08:07 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Wed, 23 Oct 2002 18:08:07 +0000 (UTC) Cc: ConTeXt Mailing List Original-To: Jose Luis Diaz In-Reply-To: <12163019177.20011025104530@telecable.es> Xref: main.gmane.org gmane.comp.tex.context:5925 X-Report-Spam: http://spam.gmane.org/gmane.comp.tex.context:5925 At 10:45 AM 10/25/2001 +0200, Jose Luis Diaz wrote: > I want to have two kind of blocks typeset with different format, but > disallowing a page break inbetween. For example, assume that I have > pairs Question/Answer, and I never want a page break after the > Question, but a page break after the answer is desirable. To be > precise, I'm working in a multicolumn environment (3 columns) and > what I want to allow/disallow are the column breaks. > I tried the following: > > \defineblock[Question,Answer] > \setupblock[Question] > [before={\startitemize[2]\item}, > after={\stopitemize\page[no]}, > ] > \setupblock[Answer] > [before={\startframedtext[width=\textwidth]\startcolor[red]}, > after={\stopcolor\stopframedtext\page[preference]}, > ] > > (BTW, I need to put a comma at the end of the "after" line, why?) > This code doesn't work. I keep getting column breaks between the > question and the answer (surprisingly, it appears that a column break > is indeed *prefered* in that position, since I get a lot of them) columns are rather rigged and have their own ideas about page breaks > What I'm doing wrong? I even tried resorting to the TeX primitive > \penalty, instead of using \page. Are penalties ignored when > typesetting in columns? indeed, the kind of get lost in the balancing process (when trying not to let the left col be shorter than the right one etc) > Anothe question. While testing the above code, I tried the following > main text: > >\starttext >\dorecurse{10}{ > \beginQuestion > \input tufte > \endQuestion > \beginAnswer > I don't know the answer. > \endAnswer > } > \stoptext > > But I get no text in the output. this is because buffered material cannot be used in macros (a simple \startbuffer ... \stopbuffer \dorecurse{10}{\getbuffer} would have worked. > And a last question. It is "philosophically" correct to use text > blocks for the stated purpose? As far as I understand, text blocks > are provided for "hidding" the text until an adecuate place in the > output, but in my case I need no hidding. There is another way for > defining start/stop pairs? (something like the LaTeX \newenvironment) you may play with the following: % this way you get no interference between color, spacing and penalties \definestartstop [Question] [before={\startitemize[2]\item}, after={\stopitemize\page[no]}] \defineframedtext [Answer] [foregroundcolor=red, width=\textwidth, after={\page[preference]}] \setupcolors[state=start] combined with column sets (work in progresss, so it has bugs) \definecolumnset[twocolumns][n=2] \starttext \startcolumnset[twocolumns] \dorecurse{10} {\placefigure[rlbt]{}{\framed{another test}} \startQuestion \input tufte \par \placefigure[here]{}{\framed{this is just a test}} \input tufte \par \stopQuestion \startAnswer I don't know the answer. \stopAnswer} \stopcolumnset \stoptext btw, "rlbt" means as much as "try to place from right to left and top to bottom" Hans ------------------------------------------------------------------------- Hans Hagen | PRAGMA ADE | pragma@wxs.nl Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: +31 (0)38 477 53 69 | fax: +31 (0)38 477 53 74 | www.pragma-ade.com -------------------------------------------------------------------------