Dnia Tue, Nov 04, 2008 at 11:25:17PM +0100, Wolfgang Schuster napisał(a):
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.
Yes, that's obvious. But high-level is better in one thing: when I want to teach ConTeXt to non-TeX-maniacs;), it's the only possibility.
\defineblankmethod [nobreak] {\nobreak}
\def\doPutTitle#1% {\framed[frame=offwidth=\textwidth,align=middle]{#1}% \blank[nobreak,line]}
OK, that's very nice, apart from the thing that the only two ways of learning it are: (1) studying sources or (2) asking here. Also, the trick with \framed[frame=off,...] is neat, but I still don't get it: why my \startalignment[middle] didn't work? And how does exactly \blank[something] work? Don't think I need these answers *now*. But it would be nice to understand ConTeXt a bit some day... You know, with plain TeX it's relatively easy to understand *everything* - it's so small and, well, primitive;). With LaTeX things get messy, but still I can read the sources - they are very "plainy", I mean LaTeX does not have so much UI for developers/package/class writers, so it's not *that* difficult to understand parts of source code. But ConTeXt baffles me a lot. I guess that reading sources is the only remedy - but I don't have enough time now... But some day, I *will* understand this;).
Wolfgang
PS. Wolfgang, can I still subscribe to your fan club? Do I get a free t-shirt;)? Greets -- Marcin Borkowski (http://mbork.pl) People can be divided into two groups: those who can be divided into two groups and those who can't.