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? Also, how to avoid a page break right before an itemization? Adding [intro] seems not to work. And one more thing about pagebreaks: how to avoid a pagebreak right before a \startformula ... \stopformula? And what is the ConTeXt way of setting stretchable vertical glue (e.g. for \blank's, below itemizations etc.)? Thanks in advance & greets -- Marcin Borkowski (http://mbork.pl) People can be divided into 10 groups: those who like the binary system and those who don't.
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]}
Also, how to avoid a page break right before an itemization? Adding [intro] seems not to work.
Example!
And one more thing about pagebreaks: how to avoid a pagebreak right before a \startformula ... \stopformula? And what is the ConTeXt way of setting stretchable vertical glue (e.g. for \blank's, below itemizations etc.)?
\blank[ small | medium | big | ... ] Wolfgang
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.
Also, how to avoid a page break right before an itemization? Adding [intro] seems not to work.
Example!
Sorry, I haven't provided one. Here you are. \starttext \dorecurse{12}{% This is some intro (\recurselevel). \startitemize[n,packed,joinedup,columns,two,intro] \dorecurse{8}{\item This is an item.} \stopitemize }% \stoptext (strange things happen both in MkII and MkIV in the online ConTeXt!)
And one more thing about pagebreaks: how to avoid a pagebreak right before a \startformula ... \stopformula? And what is the ConTeXt way of setting stretchable vertical glue (e.g. for \blank's, below itemizations etc.)?
\blank[ small | medium | big | ... ]
But how do I control the stretchability?
Wolfgang
Greets -- Marcin Borkowski (http://mbork.pl) O ludzką twarz - walka trwa! Już płoną ognie - chwyćmy za ostrze! Naszym ogniem Moc Najwyższego, ostrzem wierność obranej drodze... Walka trwa! (Izaiash)
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
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.
Am 04.11.2008 um 23:42 schrieb Marcin Borkowski:
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;)?
Ask Mojca, she has the shirts. Wolfgang
Dnia Tue, Nov 04, 2008 at 11:25:17PM +0100, Wolfgang Schuster napisał(a):
\def\doPutTitle#1% {\framed[frame=offwidth=\textwidth,align=middle]{#1}% \blank[nobreak,line]}
And what to do if I want to use a similar to above command in \setuphead[chapter][command=\doPutTitle] to avoid a page break right after the title?
Wolfgang
Greets -- Marcin Borkowski (http://mbork.pl) - Is it a Perl program or a Perl script? - Well, a script is what you give the actors. A program is what you give the audience. (Larry Wall)
On Wed, Nov 5, 2008 at 10:57 AM, Marcin Borkowski
Dnia Tue, Nov 04, 2008 at 11:25:17PM +0100, Wolfgang Schuster napisał(a):
\def\doPutTitle#1% {\framed[frame=offwidth=\textwidth,align=middle]{#1}% \blank[nobreak,line]}
And what to do if I want to use a similar to above command in
\def\doPutTitle#1#2% {\framed[frame=offwidth=\textwidth,align=middle]{#1\space#1}}
\setuphead[chapter][command=\doPutTitle]
to avoid a page break right after the title?
ConTeXt already tries to avoid page breaks after headers. Wolfgang
Dnia Wed, Nov 05, 2008 at 11:13:47AM +0100, Wolfgang Schuster napisał(a):
On Wed, Nov 5, 2008 at 10:57 AM, Marcin Borkowski
wrote: Dnia Tue, Nov 04, 2008 at 11:25:17PM +0100, Wolfgang Schuster napisał(a):
\def\doPutTitle#1% {\framed[frame=offwidth=\textwidth,align=middle]{#1}% \blank[nobreak,line]}
And what to do if I want to use a similar to above command in
\def\doPutTitle#1#2% {\framed[frame=offwidth=\textwidth,align=middle]{#1\space#1}}
That I knew, sorry:(.
\setuphead[chapter][command=\doPutTitle]
to avoid a page break right after the title?
ConTeXt already tries to avoid page breaks after headers.
OK. The problem was a bit different: I started the chapter with an itemize without [intro]. Now it works, thanks!
Wolfgang
Greets -- Marcin Borkowski (http://mbork.pl) Najkrótszy dowcip matematyczny: Obierzmy epsilon ujemne.
Hi! And yet another question on this topic: how to avoid a page break after \chapter[...] ? (I decided to define a new head, derived from chapter, which does not begin on a page of its own, but the heading should never be at the page bottom alone!) Greets -- Marcin Borkowski (http://mbork.pl) - Gandalf! A ja myślałem, że nie żyjesz. Co prawda o sobie też byłem tego zdania. Sam Gamgee
2008/11/5 Marcin Borkowski
Hi!
And yet another question on this topic: how to avoid a page break after
\chapter[...]
?
(I decided to define a new head, derived from chapter, which does not begin on a page of its own, but the heading should never be at the page bottom alone!)
\definehead[marcin][chapter] \setuphead [marcin] [page=no] Wolfgang
Hi, one more problem with pagebreaks: I'd like to prohibit a pagebreak before a \startformula ... \stopformula. What do I do? Greets -- Marcin Borkowski (http://mbork.pl) IHS
On Wed, Nov 5, 2008 at 11:50 AM, Marcin Borkowski
Hi,
one more problem with pagebreaks: I'd like to prohibit a pagebreak before a \startformula ... \stopformula. What do I do?
\defineblankmethod [nobreak] {\nobreak} \setupformulas[spacebefore=nobreak] Not sure if this did work, try it or send a test file. Wolfgang
Dnia Wed, Nov 05, 2008 at 12:12:40PM +0100, Wolfgang Schuster napisał(a):
On Wed, Nov 5, 2008 at 11:50 AM, Marcin Borkowski
wrote: Hi,
one more problem with pagebreaks: I'd like to prohibit a pagebreak before a \startformula ... \stopformula. What do I do?
\defineblankmethod [nobreak] {\nobreak}
\setupformulas[spacebefore=nobreak]
Not sure if this did work, try it or send a test file.
Wow, it does! However, it also tries to squeeze too much stuff (vertically) to avoid the break. I guess that this is one of these things one has to tweak manually anyway. What would probably help (since I have lots of \items and lots of math - it's a number of problem sets in analysis;) - btw, available at http://mbork.pl/?action=browse;id=Mathematical_Analysis_for_Computer_Science...) would be an automatic \page[bigpreference] before each \item. Is that possible?
Wolfgang
Greets -- Marcin Borkowski (http://mbork.pl) Jest tak. Friedman ma weksel Schapira z żyrem Glasa i windykator jest Balenstein. On daje dwadzieścia pięć procent franko loko, towar jest u Lutmana, tylko ten towar jest zajęty przez Honigmana z powodu weksel Roitberga. Za ten weksel Roitberga można dostać gwarancję od jego teścia Rozenzweiga, tylko on jest przepisany na Rozenzweigową, a Rozenzweigowa jest chora. (Kabaret Dudek)
On Wed, Nov 5, 2008 at 1:13 PM, Marcin Borkowski
Dnia Wed, Nov 05, 2008 at 12:12:40PM +0100, Wolfgang Schuster napisał(a):
On Wed, Nov 5, 2008 at 11:50 AM, Marcin Borkowski
wrote: Hi,
one more problem with pagebreaks: I'd like to prohibit a pagebreak before a \startformula ... \stopformula. What do I do?
\defineblankmethod [nobreak] {\nobreak}
\setupformulas[spacebefore=nobreak]
Not sure if this did work, try it or send a test file.
Wow, it does! However, it also tries to squeeze too much stuff (vertically) to avoid the break. I guess that this is one of these things one has to tweak manually anyway.
What would probably help (since I have lots of \items and lots of math - it's a number of problem sets in analysis;) - btw, available at http://mbork.pl/?action=browse;id=Mathematical_Analysis_for_Computer_Science...) would be an automatic \page[bigpreference] before each \item. Is that possible?
\setupitemize[inbetween=\allowbreak\blank] or \setupitemize[inbetween=\goodbreak\blank] or ... Wolfgang
participants (3)
-
luigi scarso
-
Marcin Borkowski
-
Wolfgang Schuster