Am 04.11.2008 um 22:39 schrieb Marcin Borkowski:
Dnia Tue, Nov 04, 2008 at 10:17:51PM +0100, Wolfgang Schuster napisał(a):
Am 04.11.2008 um 21:21 schrieb Marcin Borkowski:
Hi,
I have the following in my code:
\def\doPutTitle#1{% \startalignment[middle] \bfb \page[bigpreference] \blank[2*big] #1% \page[no]% \blank[big]% \page[no]% \stopalignment \page[no]% }%
Why is it still possible that I have a page break after, say, \doPutTitle{some title} (in MkII, in MkIV page breaks fall in different places). Which percentage signs and \page[no]'s are unnecessary here?
\def\doPutTitle#1% {\page[bigpreference] \vbox\bgroup \raggedcenter #1% \egroup \nobreak\blank[big]}
OK, though this looks rather low-level. I was thinking about something more user-friendly;).
This raises a philosophical question: is it the "ConTeXt way" to use low-level constructs in environments and high-level in documents? Or is it better to avoid low level whenever possible? Also, your code mixes low-level commands (\vbox, which is a TeX prmitive, \raggedcenter, which is a ConTeXt low-level command, I guess) and high-level ones (\blank). I understand that this ensures a uniform vertical spacing (\blank[big] is obviously better than \vskip 10pt;)), but I thought that it is against ConTeXt philosophy to use low-level stuff unless something really non-standard is needed.
Here is a better method, there is nothing wrong with low level but you should know what you do. \defineblankmethod [nobreak] {\nobreak} \def\doPutTitle#1% {\framed[frame=offwidth=\textwidth,align=middle]{#1}% \blank[nobreak,line]} Wolfgang