Delayed page layout change?
Hi, I'm new to ConTeXt (although have used LaTeX in various ways over a long time) and am impressed! Many thanks for a great system. I'm wanting some pages in a book to have a different layout to others, and am using \definelayout and \setuplayout to do so. This all works, including adding layers to the different layouts. However the layout change (specified by \setuplayout) occurs immediately after the command is given, which means following paragraphs on the page have the layout's new width and not the width used for earlier text on the page: i.e: + + xxxxxxxxx xxxxxxxxx xxxxxxxxx <-- \setuplayout xxxxx xxxxx + + + + xxxxx xxxxx xxxxx xxxxx xxxxx xxxxx + + Is there anyway to defer the change in layout so that it occurs when the next page starts?? I can obviously force my own page breaks using \page and give \setuplayout immediately afterwards, but this doesn't allow for paragraph text to flow over the page boundary. Thank you. David Brooks
On 1/11/2015 12:36 AM, David Brooks wrote:
Hi,
I'm new to ConTeXt (although have used LaTeX in various ways over a long time) and am impressed! Many thanks for a great system.
I'm wanting some pages in a book to have a different layout to others, and am using \definelayout and \setuplayout to do so. This all works, including adding layers to the different layouts. However the layout change (specified by \setuplayout) occurs immediately after the command is given, which means following paragraphs on the page have the layout's new width and not the width used for earlier text on the page: i.e:
+ + xxxxxxxxx xxxxxxxxx xxxxxxxxx <-- \setuplayout xxxxx xxxxx + + + + xxxxx xxxxx xxxxx xxxxx xxxxx xxxxx + +
Is there anyway to defer the change in layout so that it occurs when the next page starts?? I can obviously force my own page breaks using \page and give \setuplayout immediately afterwards, but this doesn't allow for paragraph text to flow over the page boundary.
\setuppagenumbering[alternative=doublesided] \setuplayout [width=11cm] \definelayout [odd] [backspace=1cm,height=18cm] \definelayout [even] [backspace=4cm,height=19cm] \definelayout [5] [backspace=5cm,height=20cm] \definelayout [6] [backspace=5cm] \definelayout [-2] [backspace=0cm,cutspace=0cm] \definelayout [last] [backspace=0cm,cutspace=0cm] \checkcurrentlayout \showframe \starttext \dorecurse{20} {\input knuth \endgraf \input tufte \endgraf} \stoptext so you can play with these settings Hans ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | voip: 087 875 68 74 | www.pragma-ade.com | www.pragma-pod.nl -----------------------------------------------------------------
On 11/01/15 11:39 pm, Hans Hagen wrote:
On 1/11/2015 12:36 AM, David Brooks wrote:
Hi,
I'm new to ConTeXt (although have used LaTeX in various ways over a long time) and am impressed! Many thanks for a great system.
I'm wanting some pages in a book to have a different layout to others, and am using \definelayout and \setuplayout to do so. This all works, including adding layers to the different layouts. However the layout change (specified by \setuplayout) occurs immediately after the command is given, which means following paragraphs on the page have the layout's new width and not the width used for earlier text on the page: i.e:
+ + xxxxxxxxx xxxxxxxxx xxxxxxxxx <-- \setuplayout xxxxx xxxxx + + + + xxxxx xxxxx xxxxx xxxxx xxxxx xxxxx + +
Is there anyway to defer the change in layout so that it occurs when the next page starts?? I can obviously force my own page breaks using \page and give \setuplayout immediately afterwards, but this doesn't allow for paragraph text to flow over the page boundary.
\setuppagenumbering[alternative=doublesided]
\setuplayout [width=11cm] \definelayout [odd] [backspace=1cm,height=18cm] \definelayout [even] [backspace=4cm,height=19cm] \definelayout [5] [backspace=5cm,height=20cm] \definelayout [6] [backspace=5cm] \definelayout [-2] [backspace=0cm,cutspace=0cm] \definelayout [last] [backspace=0cm,cutspace=0cm]
\checkcurrentlayout \showframe
\starttext \dorecurse{20} {\input knuth \endgraf \input tufte \endgraf} \stoptext
so you can play with these settings Thanks, but if the page width changes the current paragraph's width does not adjust across the page boundary, as seen with:
\setuppagenumbering[alternative=doublesided] \setuplayout [width=11cm,height=18cm] \definelayout [odd] [backspace=1cm] \definelayout [even] [backspace=4cm,width=14cm] \checkcurrentlayout \showframe \starttext \dorecurse{4} {\input knuth \endgraf \input tufte \endgraf} \stoptext Regards, Dave
On 1/11/2015 7:04 PM, David Brooks wrote:
Thanks, but if the page width changes the current paragraph's width does not adjust across the page boundary, as seen with:
\setuppagenumbering[alternative=doublesided]
\setuplayout [width=11cm,height=18cm] \definelayout [odd] [backspace=1cm] \definelayout [even] [backspace=4cm,width=14cm]
\checkcurrentlayout \showframe
\starttext \dorecurse{4} {\input knuth \endgraf \input tufte \endgraf} \stoptext
That is because the paragraph is already typeset .. in principle we can have a simple reflow but then users would ask for more complex things and it would not work ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | voip: 087 875 68 74 | www.pragma-ade.com | www.pragma-pod.nl -----------------------------------------------------------------
On 1/11/2015 7:04 PM, David Brooks wrote:
Thanks, but if the page width changes the current paragraph's width does not adjust across the page boundary, as seen with:
\setuppagenumbering[alternative=doublesided]
\setuplayout [width=11cm,height=18cm] \definelayout [odd] [backspace=1cm] \definelayout [even] [backspace=4cm,width=14cm]
\checkcurrentlayout \showframe
\starttext \dorecurse{4} {\input knuth \endgraf \input tufte \endgraf} \stoptext
That is because the paragraph is already typeset .. in principle we can have a simple reflow but then users would ask for more complex things and it would not work OK, thanks. Now I know this, I can adjust tweak content so that
On 12/01/15 7:30 am, Hans Hagen wrote: paragraphs don't flow over a change of page layout. Regards, Dave
On 1/11/2015 7:58 PM, David Brooks wrote:
On 1/11/2015 7:04 PM, David Brooks wrote:
Thanks, but if the page width changes the current paragraph's width does not adjust across the page boundary, as seen with:
\setuppagenumbering[alternative=doublesided]
\setuplayout [width=11cm,height=18cm] \definelayout [odd] [backspace=1cm] \definelayout [even] [backspace=4cm,width=14cm]
\checkcurrentlayout \showframe
\starttext \dorecurse{4} {\input knuth \endgraf \input tufte \endgraf} \stoptext
That is because the paragraph is already typeset .. in principle we can have a simple reflow but then users would ask for more complex things and it would not work OK, thanks. Now I know this, I can adjust tweak content so that
On 12/01/15 7:30 am, Hans Hagen wrote: paragraphs don't flow over a change of page layout.
e.g. bij injecting \break or \par at the right spot Hans ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | voip: 087 875 68 74 | www.pragma-ade.com | www.pragma-pod.nl -----------------------------------------------------------------
participants (2)
-
David Brooks
-
Hans Hagen