\definelayout[first] does not yield to default layout on page 2
First-page layout is an issue that I have asked about before, but maybe I am doing something wrong. Here is my question in an earlier thread: http://archive.contextgarden.net/message/20111228.041922.c60f9cd5.en.html . I want to define a layout for the first page of my document with different header and footer formatting -- specifically, no header and a large footer to hold publication information. Based on examples on Contextgarden and this list, I think my code below is correct. However, the first page formatting is continued on all pages of the document. The effect is the same when using \definelayout[first] and \definelayout[1]. %%------------------------------------------------------------------- setuppapersize[letter][letter] \setupindenting[yes, medium] \setuplayout [width=middle, backspace=15mm, topspace=10mm, height=254mm, header=10mm, % normal header headerdistance=5mm, footer=5mm, footerdistance=5mm, grid=yes] \definelayout [first] [width=middle, backspace=15mm, topspace=10mm, height=254mm, header=0mm, % no header headerdistance=0mm, footer=25mm, % big footer footerdistance=5mm, grid=yes] \definecolumnset[body][n=2,balancing=yes] \setupheadertexts [This is a header] [pagenumber] [pagenumber] [Some text] \setupfootertexts [footer] [footer] [footer] [footer] \starttext \startcolumnset[body] \dorecurse{20}{\input tufte\par} \stopcolumnset \stoptext %%--------------------------------------------------------------- Thanks, -- Peter Park Nelson peter.park.nelson@gmail.com
According to http://wiki.contextgarden.net/Layout#Multiple_layouts, you can
do this by using the commands \setuplayout[yourcustomlayout] and
\setuplayout[reset] at the location you want to change the layout.
--
Wagner Macedo
On 25 January 2012 23:41, Peter Park Nelson
First-page layout is an issue that I have asked about before, but maybe I am doing something wrong. Here is my question in an earlier thread: http://archive.contextgarden.net/message/20111228.041922.c60f9cd5.en.html .
I want to define a layout for the first page of my document with different header and footer formatting -- specifically, no header and a large footer to hold publication information. Based on examples on Contextgarden and this list, I think my code below is correct. However, the first page formatting is continued on all pages of the document. The effect is the same when using \definelayout[first] and \definelayout[1].
%%-------------------------------------------------------------------
setuppapersize[letter][letter] \setupindenting[yes, medium]
\setuplayout [width=middle, backspace=15mm, topspace=10mm, height=254mm, header=10mm, % normal header headerdistance=5mm, footer=5mm, footerdistance=5mm, grid=yes]
\definelayout [first] [width=middle, backspace=15mm, topspace=10mm, height=254mm, header=0mm, % no header headerdistance=0mm, footer=25mm, % big footer footerdistance=5mm, grid=yes]
\definecolumnset[body][n=2,balancing=yes]
\setupheadertexts [This is a header] [pagenumber] [pagenumber] [Some text]
\setupfootertexts [footer] [footer] [footer] [footer]
\starttext
\startcolumnset[body]
\dorecurse{20}{\input tufte\par}
\stopcolumnset
\stoptext
Wagner,
Thanks for pointing this out, it works:
\definelayout
[1]
[first page layout...]
\definelayout
[2]
[reset] % call for a reset when the second page is reached
\setuplayout
[default layout...]
But the question of why \definelayout[first] does not work correctly
remains. Perhaps the developers will look into it.
PPN
On Thu, Jan 26, 2012 at 8:18 AM, Wagner Macedo
According to http://wiki.contextgarden.net/Layout#Multiple_layouts, you can do this by using the commands \setuplayout[yourcustomlayout] and \setuplayout[reset] at the location you want to change the layout.
-- Wagner Macedo
On 25 January 2012 23:41, Peter Park Nelson
wrote: First-page layout is an issue that I have asked about before, but maybe I am doing something wrong. Here is my question in an earlier thread: http://archive.contextgarden.net/message/20111228.041922.c60f9cd5.en.html .
I want to define a layout for the first page of my document with different header and footer formatting -- specifically, no header and a large footer to hold publication information. Based on examples on Contextgarden and this list, I think my code below is correct. However, the first page formatting is continued on all pages of the document. The effect is the same when using \definelayout[first] and \definelayout[1].
%%-------------------------------------------------------------------
setuppapersize[letter][letter] \setupindenting[yes, medium]
\setuplayout [width=middle, backspace=15mm, topspace=10mm, height=254mm, header=10mm, % normal header headerdistance=5mm, footer=5mm, footerdistance=5mm, grid=yes]
\definelayout [first] [width=middle, backspace=15mm, topspace=10mm, height=254mm, header=0mm, % no header headerdistance=0mm, footer=25mm, % big footer footerdistance=5mm, grid=yes]
\definecolumnset[body][n=2,balancing=yes]
\setupheadertexts [This is a header] [pagenumber] [pagenumber] [Some text]
\setupfootertexts [footer] [footer] [footer] [footer]
\starttext
\startcolumnset[body]
\dorecurse{20}{\input tufte\par}
\stopcolumnset
\stoptext
___________________________________________________________________________________ If your question is of interest to others as well, please add an entry to the Wiki!
maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://tex.aanhet.net archive : http://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___________________________________________________________________________________
-- Peter Park Nelson peter.park.nelson@gmail.com
Oh crap, I thought Wagner's solution worked but it doesn't -- quite.
\showframe indicates that the page areas are defined correctly, and
the footer frame on page 2 and later is the correct size. But Context
is not filling the text columns all the way to the bottom; The body
text is still stopping short as though the larger footer was still in
effect.
Frustrating.
On Thu, Jan 26, 2012 at 8:18 AM, Wagner Macedo
According to http://wiki.contextgarden.net/Layout#Multiple_layouts, you can do this by using the commands \setuplayout[yourcustomlayout] and \setuplayout[reset] at the location you want to change the layout.
-- Wagner Macedo
On 25 January 2012 23:41, Peter Park Nelson
wrote: First-page layout is an issue that I have asked about before, but maybe I am doing something wrong. Here is my question in an earlier thread: http://archive.contextgarden.net/message/20111228.041922.c60f9cd5.en.html .
I want to define a layout for the first page of my document with different header and footer formatting -- specifically, no header and a large footer to hold publication information. Based on examples on Contextgarden and this list, I think my code below is correct. However, the first page formatting is continued on all pages of the document. The effect is the same when using \definelayout[first] and \definelayout[1].
%%-------------------------------------------------------------------
setuppapersize[letter][letter] \setupindenting[yes, medium]
\setuplayout [width=middle, backspace=15mm, topspace=10mm, height=254mm, header=10mm, % normal header headerdistance=5mm, footer=5mm, footerdistance=5mm, grid=yes]
\definelayout [first] [width=middle, backspace=15mm, topspace=10mm, height=254mm, header=0mm, % no header headerdistance=0mm, footer=25mm, % big footer footerdistance=5mm, grid=yes]
\definecolumnset[body][n=2,balancing=yes]
\setupheadertexts [This is a header] [pagenumber] [pagenumber] [Some text]
\setupfootertexts [footer] [footer] [footer] [footer]
\starttext
\startcolumnset[body]
\dorecurse{20}{\input tufte\par}
\stopcolumnset
\stoptext
___________________________________________________________________________________ If your question is of interest to others as well, please add an entry to the Wiki!
maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://tex.aanhet.net archive : http://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___________________________________________________________________________________
-- Peter Park Nelson peter.park.nelson@gmail.com
Well, I never need this, so I thought that information was correct.
I will do some tests when I'll have time to see if works for me.
--
Wagner Macedo
On 26 January 2012 14:40, Peter Park Nelson
Oh crap, I thought Wagner's solution worked but it doesn't -- quite.
\showframe indicates that the page areas are defined correctly, and the footer frame on page 2 and later is the correct size. But Context is not filling the text columns all the way to the bottom; The body text is still stopping short as though the larger footer was still in effect.
Frustrating.
On Thu, Jan 26, 2012 at 8:18 AM, Wagner Macedo
wrote: According to http://wiki.contextgarden.net/Layout#Multiple_layouts, you can do this by using the commands \setuplayout[yourcustomlayout] and \setuplayout[reset] at the location you want to change the layout.
-- Wagner Macedo
On 25 January 2012 23:41, Peter Park Nelson
wrote:
First-page layout is an issue that I have asked about before, but maybe I am doing something wrong. Here is my question in an earlier thread:
http://archive.contextgarden.net/message/20111228.041922.c60f9cd5.en.html
.
I want to define a layout for the first page of my document with different header and footer formatting -- specifically, no header and a large footer to hold publication information. Based on examples on Contextgarden and this list, I think my code below is correct. However, the first page formatting is continued on all pages of the document. The effect is the same when using \definelayout[first] and \definelayout[1].
%%-------------------------------------------------------------------
setuppapersize[letter][letter] \setupindenting[yes, medium]
\setuplayout [width=middle, backspace=15mm, topspace=10mm, height=254mm, header=10mm, % normal header headerdistance=5mm, footer=5mm, footerdistance=5mm, grid=yes]
\definelayout [first] [width=middle, backspace=15mm, topspace=10mm, height=254mm, header=0mm, % no header headerdistance=0mm, footer=25mm, % big footer footerdistance=5mm, grid=yes]
\definecolumnset[body][n=2,balancing=yes]
\setupheadertexts [This is a header] [pagenumber] [pagenumber] [Some text]
\setupfootertexts [footer] [footer] [footer] [footer]
\starttext
\startcolumnset[body]
\dorecurse{20}{\input tufte\par}
\stopcolumnset
\stoptext
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!
maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://tex.aanhet.net archive : http://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net
___________________________________________________________________________________
-- Peter Park Nelson peter.park.nelson@gmail.com
___________________________________________________________________________________ If your question is of interest to others as well, please add an entry to the Wiki!
maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://tex.aanhet.net archive : http://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net
___________________________________________________________________________________
Am 26.01.2012 um 03:41 schrieb Peter Park Nelson:
First-page layout is an issue that I have asked about before, but maybe I am doing something wrong. Here is my question in an earlier thread: http://archive.contextgarden.net/message/20111228.041922.c60f9cd5.en.html.
I want to define a layout for the first page of my document with different header and footer formatting -- specifically, no header and a large footer to hold publication information. Based on examples on Contextgarden and this list, I think my code below is correct. However, the first page formatting is continued on all pages of the document. The effect is the same when using \definelayout[first] and \definelayout[1].
Is MkIV a option for you? The problem had been there for a while as well but now it’s fixed you can decide what ConTeXt should do after the first page. With the “state” you can control whether the layout at the second page should be switched back to the global layout with \definelayout[…][state=start] (this is the default setting) or it should remain with \definelayout[…][state=repeat].
\definelayout [first] [width=middle, backspace=15mm, topspace=10mm, height=254mm, header=0mm, % no header headerdistance=0mm, footer=25mm, % big footer footerdistance=5mm, grid=yes]
You have to set only what’s different from the global layout. \definelayout [first] [header=0mm, headerdistance=0mm, footer=25mm, footerdistance=5mm] Wolfgang
On Thu, Jan 26, 2012 at 12:18 PM, Wolfgang Schuster
Am 26.01.2012 um 03:41 schrieb Peter Park Nelson:
First-page layout is an issue that I have asked about before, but maybe I am doing something wrong. Here is my question in an earlier thread: http://archive.contextgarden.net/message/20111228.041922.c60f9cd5.en.html.
I want to define a layout for the first page of my document with different header and footer formatting -- specifically, no header and a large footer to hold publication information. Based on examples on Contextgarden and this list, I think my code below is correct. However, the first page formatting is continued on all pages of the document. The effect is the same when using \definelayout[first] and \definelayout[1].
Is MkIV a option for you? The problem had been there for a while as well but now it’s fixed you can decide what ConTeXt should do after the first page.
With the “state” you can control whether the layout at the second page should be switched back to the global layout with \definelayout[…][state=start] (this is the default setting) or it should remain with \definelayout[…][state=repeat].
\definelayout [first] [width=middle, backspace=15mm, topspace=10mm, height=254mm, header=0mm, % no header headerdistance=0mm, footer=25mm, % big footer footerdistance=5mm, grid=yes]
You have to set only what’s different from the global layout.
\definelayout [first] [header=0mm, headerdistance=0mm, footer=25mm, footerdistance=5mm]
Wolfgang ___________________________________________________________________________________ If your question is of interest to others as well, please add an entry to the Wiki!
maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://tex.aanhet.net archive : http://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___________________________________________________________________________________
Wolfgang and Wagner, thank you for taking the time to respond to this. I am using MkIV. I just updated to the latest beta (I had been running one beta behind). I was intentionally not using layout inheritance in my \definelayout commands to eliminate the possibility of a problem in the inheritance mechanism. Interaction with columnsets also seems to be part of the problem, as I will try to explain. 1. In a layout with no columnset: \definelayout[first] creates a unique layout for the first page and returns to the default layout on page 2. BUT from page 3 onwards, the text does not go all the way to the bottom of the text area (although \showframe indicates that the text area is correct). A workaround is to add \definelayout[current][...parameters that undo the first-page parameters...]. 2. In a layout with a columnset (\definecolumnset[body][n=2,balancing=yes]): use of \definelayout[first] causes failure with the error message below. Ignoring warnings and forcing Context to continue results in a pdf with \showframe lines drawn correctly, but text not filling the whole column height, as described previously. ################# ERROR MESSAGE: system > tex > error on line 70 in file J2-pagearea.tex: Emergency stop ... 60 [footer] 61 [footer] 62 63 \starttext 64 \showframe 65 \showgrid 66 67 68 \startcolumnset[body] 69 70 >> \dorecurse{40}{\input tufte \par } 71 72 %\input tufte \par 73 74 \stopcolumnset 75 76 \stoptext 77 \OTRSETdoifcellelse ...er #1:\number #2\endcsname \@EA \secondoftwoarguments... \@@ar@@3 ...ellelse {\mofcolumns }\columnlastcell {\global \advance \columnl... \redoloop ->\expandrecursecontent \endofloop <to be read again> { <inserted text> 44 \endofloop ...expr \recurselevel +\plusone \relax } ... l.70 \dorecurse{40}{\input tufte \par } End of file on the terminal! ! ==> Fatal error occurred, no output PDF file produced! -- Peter Park Nelson peter.park.nelson@gmail.com
On Thu, Jan 26, 2012 at 2:40 PM, Peter Park Nelson
On Thu, Jan 26, 2012 at 12:18 PM, Wolfgang Schuster
wrote: Am 26.01.2012 um 03:41 schrieb Peter Park Nelson:
First-page layout is an issue that I have asked about before, but maybe I am doing something wrong. Here is my question in an earlier thread: http://archive.contextgarden.net/message/20111228.041922.c60f9cd5.en.html.
I want to define a layout for the first page of my document with different header and footer formatting -- specifically, no header and a large footer to hold publication information. Based on examples on Contextgarden and this list, I think my code below is correct. However, the first page formatting is continued on all pages of the document. The effect is the same when using \definelayout[first] and \definelayout[1].
Is MkIV a option for you? The problem had been there for a while as well but now it’s fixed you can decide what ConTeXt should do after the first page.
With the “state” you can control whether the layout at the second page should be switched back to the global layout with \definelayout[…][state=start] (this is the default setting) or it should remain with \definelayout[…][state=repeat].
\definelayout [first] [width=middle, backspace=15mm, topspace=10mm, height=254mm, header=0mm, % no header headerdistance=0mm, footer=25mm, % big footer footerdistance=5mm, grid=yes]
You have to set only what’s different from the global layout.
\definelayout [first] [header=0mm, headerdistance=0mm, footer=25mm, footerdistance=5mm]
Wolfgang ___________________________________________________________________________________ If your question is of interest to others as well, please add an entry to the Wiki!
maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://tex.aanhet.net archive : http://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___________________________________________________________________________________
Wolfgang and Wagner, thank you for taking the time to respond to this.
I am using MkIV. I just updated to the latest beta (I had been running one beta behind). I was intentionally not using layout inheritance in my \definelayout commands to eliminate the possibility of a problem in the inheritance mechanism.
Interaction with columnsets also seems to be part of the problem, as I will try to explain.
1. In a layout with no columnset: \definelayout[first] creates a unique layout for the first page and returns to the default layout on page 2. BUT from page 3 onwards, the text does not go all the way to the bottom of the text area (although \showframe indicates that the text area is correct). A workaround is to add \definelayout[current][...parameters that undo the first-page parameters...].
2. In a layout with a columnset (\definecolumnset[body][n=2,balancing=yes]): use of \definelayout[first] causes failure with the error message below. Ignoring warnings and forcing Context to continue results in a pdf with \showframe lines drawn correctly, but text not filling the whole column height, as described previously.
#################
ERROR MESSAGE:
system > tex > error on line 70 in file J2-pagearea.tex: Emergency stop ...
60 [footer] 61 [footer] 62 63 \starttext 64 \showframe 65 \showgrid 66 67 68 \startcolumnset[body] 69 70 >> \dorecurse{40}{\input tufte \par } 71 72 %\input tufte \par 73 74 \stopcolumnset 75 76 \stoptext 77
\OTRSETdoifcellelse ...er #1:\number #2\endcsname \@EA \secondoftwoarguments... \@@ar@@3 ...ellelse {\mofcolumns }\columnlastcell {\global \advance \columnl... \redoloop ->\expandrecursecontent \endofloop <to be read again> { <inserted text> 44 \endofloop ...expr \recurselevel +\plusone \relax } ... l.70 \dorecurse{40}{\input tufte \par }
End of file on the terminal!
! ==> Fatal error occurred, no output PDF file produced!
-- Peter Park Nelson peter.park.nelson@gmail.com
More testing with the old columns mechanism instead of columnset: \startcolumns[n=2] produces roughly the same result as no columns, the text stops short of the bottom of the page. However, the \definelayout[current] workaround I mentioned does not solve the problem in this case. I'm quite willing to abandon the columnset mechanism if I can get a working solution with columns. -- Peter Park Nelson peter.park.nelson@gmail.com
Yeah! Woo!
On Thu, Jan 26, 2012 at 2:40 PM, Peter Park Nelson
On Thu, Jan 26, 2012 at 12:18 PM, Wolfgang Schuster
wrote: Am 26.01.2012 um 03:41 schrieb Peter Park Nelson:
First-page layout is an issue that I have asked about before, but maybe I am doing something wrong. Here is my question in an earlier thread: http://archive.contextgarden.net/message/20111228.041922.c60f9cd5.en.html.
I want to define a layout for the first page of my document with different header and footer formatting -- specifically, no header and a large footer to hold publication information. Based on examples on Contextgarden and this list, I think my code below is correct. However, the first page formatting is continued on all pages of the document. The effect is the same when using \definelayout[first] and \definelayout[1].
Is MkIV a option for you? The problem had been there for a while as well but now it’s fixed you can decide what ConTeXt should do after the first page.
With the “state” you can control whether the layout at the second page should be switched back to the global layout with \definelayout[…][state=start] (this is the default setting) or it should remain with \definelayout[…][state=repeat].
\definelayout [first] [width=middle, backspace=15mm, topspace=10mm, height=254mm, header=0mm, % no header headerdistance=0mm, footer=25mm, % big footer footerdistance=5mm, grid=yes]
You have to set only what’s different from the global layout.
\definelayout [first] [header=0mm, headerdistance=0mm, footer=25mm, footerdistance=5mm]
Wolfgang ___________________________________________________________________________________ If your question is of interest to others as well, please add an entry to the Wiki!
maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://tex.aanhet.net archive : http://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___________________________________________________________________________________
Wolfgang and Wagner, thank you for taking the time to respond to this.
I am using MkIV. I just updated to the latest beta (I had been running one beta behind). I was intentionally not using layout inheritance in my \definelayout commands to eliminate the possibility of a problem in the inheritance mechanism.
Interaction with columnsets also seems to be part of the problem, as I will try to explain.
1. In a layout with no columnset: \definelayout[first] creates a unique layout for the first page and returns to the default layout on page 2. BUT from page 3 onwards, the text does not go all the way to the bottom of the text area (although \showframe indicates that the text area is correct). A workaround is to add \definelayout[current][...parameters that undo the first-page parameters...].
2. In a layout with a columnset (\definecolumnset[body][n=2,balancing=yes]): use of \definelayout[first] causes failure with the error message below. Ignoring warnings and forcing Context to continue results in a pdf with \showframe lines drawn correctly, but text not filling the whole column height, as described previously.
#################
ERROR MESSAGE:
system > tex > error on line 70 in file J2-pagearea.tex: Emergency stop ...
60 [footer] 61 [footer] 62 63 \starttext 64 \showframe 65 \showgrid 66 67 68 \startcolumnset[body] 69 70 >> \dorecurse{40}{\input tufte \par } 71 72 %\input tufte \par 73 74 \stopcolumnset 75 76 \stoptext 77
\OTRSETdoifcellelse ...er #1:\number #2\endcsname \@EA \secondoftwoarguments... \@@ar@@3 ...ellelse {\mofcolumns }\columnlastcell {\global \advance \columnl... \redoloop ->\expandrecursecontent \endofloop <to be read again> { <inserted text> 44 \endofloop ...expr \recurselevel +\plusone \relax } ... l.70 \dorecurse{40}{\input tufte \par }
End of file on the terminal!
! ==> Fatal error occurred, no output PDF file produced!
-- Peter Park Nelson peter.park.nelson@gmail.com
-- Peter Park Nelson peter.park.nelson@gmail.com
participants (3)
-
Peter Park Nelson
-
Wagner Macedo
-
Wolfgang Schuster