Hello list, I'm trying to make something using bits and examples found here and elsewhere, but I'm hitting a wall. I know there's a flawed logic in my approach, but I can't figure it out. Any help is appreciated. Expected behavior of the following MWE: When starting a new chapter, check if the page is even (left page), if so, fill it with color, and start the chapter in the next odd page (right page), removing the header but leaving the footer in that start-chapter page; and if this is a start-chapter page, use a specific graphic overlay for the page, but if if not (if its a regular page), use another graphic. Result: The header still appears in the start-chapter page, if it comes after the color filled page. But, if the start-chapter page comes after a regular (even) page, everything works as expected (no color-filled page, no header in the start-chapter page). MWE: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% START MWE \definecolor[rojo][h=ED553B] \definehighlight[rojo][color=rojo] \startMPinclusions numeric u ; u := 1.125pt ; numeric i ; i := 0.125in ; string prevChapterTitle, currentChapterTitle; prevChapterTitle := ""; currentChapterTitle := ""; \stopMPinclusions \startuseMPgraphic{page:background} StartPage; currentChapterTitle := "\namedstructurevariable{chapter}{title}"; if currentChapterTitle <> prevChapterTitle : fill (topboundary Page -- cycle) enlarged(0,8i) shifted (0,-4i) withcolor transparent(4, 0.2, \MPcolor{rojo}) ; fill (bottomboundary Page -- cycle) enlarged(0,1u) shifted (0,6i) withcolor \MPcolor{rojo} ; prevChapterTitle := currentChapterTitle ; else: fill (topboundary Page -- cycle) enlarged(0,0.25u) shifted (0,-7i+3u) withcolor \MPcolor{rojo} ; fill (bottomboundary Page -- cycle) enlarged(0,0.25u) shifted (0,6i) withcolor \MPcolor{rojo} ; fi; StopPage; \stopuseMPgraphic \defineoverlay [chapter:background] [\useMPgraphic{page:background}] \setupbackgrounds[page][background=chapter:background] \definepagebreak[firstpagebreak][yes,header] \startsetups [chapter:before] \doifoddpageelse {} {\pushbackground[page] \setupbackgrounds[page][background=color,backgroundcolor=rojo] \page[yes,right] \popbackground} \stopsetups \setuphead[chapter] [width=20em, before=\directsetup{chapter:before}, align={flushleft,nothyphenated,verytolerant}, style={\tfd\sansbold}, header=empty, page=yes, commandbefore={\blank[1.75in]}, after={\blackrule[color=rojo,height=4pt,width=6em]\blank[1.25in]}] \setuppagenumbering[alternative=doublesided,location=] \setupheadertexts [] [{{\small\sans\getmarking[chapter]}}] [{{\small\sans\getmarking[chapter]}}] [] \setupfootertexts [] [{\rojo{\small\sansbold\pagenumber}}] [{\rojo{\small\sansbold\pagenumber}}] [] \starttext \dorecurse{4}{% \startchapter[title={A chapter with a really long, long title}] \dorecurse{9}{\input{tufte}} \stopchapter \startchapter[title={A different chapter with a really long, long title}] \dorecurse{6}{\input{tufte}} \stopchapter} \stoptext %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% STOP MWE Thank you for your time. Andrés Conrado Montoya
Hi List, it seems my message went unnoticed, if you can help me out, please do. I'm an struggling with this layout. I'm trying to make something using bits and examples found here and elsewhere, but I'm hitting a wall. I know there's a flawed logic in my approach, but I can't figure it out. Any help is appreciated. Expected behavior of the following MWE: When starting a new chapter, check if the page is even (left page), if so, fill it with color, and start the chapter in the next odd page (right page), removing the header but leaving the footer in that start-chapter page; and if this is a start-chapter page, use a specific graphic overlay for the page, but if if not (if its a regular page), use another graphic. Result: The header still appears in the start-chapter page, if it comes after the color filled page. But, if the start-chapter page comes after a regular (even) page, everything works as expected (no color-filled page, no header in the start-chapter page). MWE: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% START MWE \definecolor[rojo][h=ED553B] \definehighlight[rojo][color=rojo] \startMPinclusions numeric u ; u := 1.125pt ; numeric i ; i := 0.125in ; string prevChapterTitle, currentChapterTitle; prevChapterTitle := ""; currentChapterTitle := ""; \stopMPinclusions \startuseMPgraphic{page:background} StartPage; currentChapterTitle := "\namedstructurevariable{chapter}{title}"; if currentChapterTitle <> prevChapterTitle : fill (topboundary Page -- cycle) enlarged(0,8i) shifted (0,-4i) withcolor transparent(4, 0.2, \MPcolor{rojo}) ; fill (bottomboundary Page -- cycle) enlarged(0,1u) shifted (0,6i) withcolor \MPcolor{rojo} ; prevChapterTitle := currentChapterTitle ; else: fill (topboundary Page -- cycle) enlarged(0,0.25u) shifted (0,-7i+3u) withcolor \MPcolor{rojo} ; fill (bottomboundary Page -- cycle) enlarged(0,0.25u) shifted (0,6i) withcolor \MPcolor{rojo} ; fi; StopPage; \stopuseMPgraphic \defineoverlay [chapter:background] [\useMPgraphic{page:background}] \setupbackgrounds[page][background=chapter:background] \definepagebreak[firstpagebreak][yes,header] \startsetups [chapter:before] \doifoddpageelse {} {\pushbackground[page] \setupbackgrounds[page][background=color,backgroundcolor=rojo] \page[yes,right] \popbackground} \stopsetups \setuphead[chapter] [width=20em, before=\directsetup{chapter:before}, align={flushleft,nothyphenated,verytolerant}, style={\tfd\sansbold}, header=empty, page=yes, commandbefore={\blank[1.75in]}, after={\blackrule[color=rojo,height=4pt,width=6em]\blank[1.25in]}] \setuppagenumbering[alternative=doublesided,location=] \setupheadertexts [] [{{\small\sans\getmarking[chapter]}}] [{{\small\sans\getmarking[chapter]}}] [] \setupfootertexts [] [{\rojo{\small\sansbold\pagenumber}}] [{\rojo{\small\sansbold\pagenumber}}] [] \starttext \dorecurse{4}{% \startchapter[title={A chapter with a really long, long title}] \dorecurse{9}{\input{tufte}} \stopchapter \startchapter[title={A different chapter with a really long, long title}] \dorecurse{6}{\input{tufte}} \stopchapter} \stoptext %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% STOP MWE Thank you for your time. Andrés Conrado Montoya
Andres Conrado Montoya schrieb am 27.06.2019 um 19:22:
Hi List, it seems my message went unnoticed, if you can help me out, please do. I'm an struggling with this layout.
I'm trying to make something using bits and examples found here and elsewhere, but I'm hitting a wall. I know there's a flawed logic in my approach, but I can't figure it out. Any help is appreciated.
Expected behavior of the following MWE: When starting a new chapter, check if the page is even (left page), if so, fill it with color, and start the chapter in the next odd page (right page), removing the header but leaving the footer in that start-chapter page; and if this is a start-chapter page, use a specific graphic overlay for the page, but if if not (if its a regular page), use another graphic.
Result: The header still appears in the start-chapter page, if it comes after the color filled page. But, if the start-chapter page comes after a regular (even) page, everything works as expected (no color-filled page, no header in the start-chapter page).
MWE:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% START MWE
[...]
\startsetups [chapter:before] \doifoddpageelse {} {\pushbackground[page] \setupbackgrounds[page][background=color,backgroundcolor=rojo] \page[yes,right] \popbackground} \stopsetups \startsetups [chapter:before] \page \doifoddpageelse {} {\pushbackground[page] \setupbackgrounds[page][background=color,backgroundcolor=rojo] \page[yes,header,footer,right] \popbackground} \stopsetups
\setuphead[chapter] [width=20em, before=\directsetup{chapter:before}, Apply the above setup with
beforesection=\directsetup{chapter:before}, Wolfgang
Wolfgang... Thank you, man. Thank you so very much. This works perfectly. As I understand it from your correction, my mistake was that I was not doing the page break before everything else, as I should, because in any case there will always be a page break in my layout. Then, let the rest of the algorithm decide if there will be a left or right page, headers and footers, etc. Am I correct? Thank you again for your work. Andrés Conrado Montoya Andi Kú andresconrado@gmail.com http://sesentaycuatro.com http://messier87.com http://chiquitico.org ---------------------------------------- Los fines no justifican los medios, porque la medida verdadera de nuestro carácter está dada por los medios que estamos dispuestos a utilizar, no por los fines que proclamamos. ---------------------------------------- “You develop an instant global consciousness, a people orientation, an intense dissatisfaction with the state of the world, and a compulsion to do something about it. From out there on the moon, international politics look so petty. You want to grab a politician by the scruff of the neck and drag him a quarter of a million miles out and say, ‘Look at that, you son of a bitch.’” — Apollo 14 astronaut Edgar Mitchell El jue., 27 jun. 2019 a las 13:17, Wolfgang Schuster (< wolfgang.schuster.lists@gmail.com>) escribió:
Andres Conrado Montoya schrieb am 27.06.2019 um 19:22:
Hi List, it seems my message went unnoticed, if you can help me out, please do. I'm an struggling with this layout.
I'm trying to make something using bits and examples found here and elsewhere, but I'm hitting a wall. I know there's a flawed logic in my approach, but I can't figure it out. Any help is appreciated.
Expected behavior of the following MWE: When starting a new chapter, check if the page is even (left page), if so, fill it with color, and start the chapter in the next odd page (right page), removing the header but leaving the footer in that start-chapter page; and if this is a start-chapter page, use a specific graphic overlay for the page, but if if not (if its a regular page), use another graphic.
Result: The header still appears in the start-chapter page, if it comes after the color filled page. But, if the start-chapter page comes after a regular (even) page, everything works as expected (no color-filled page, no header in the start-chapter page).
MWE:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% START MWE
[...]
\startsetups [chapter:before] \doifoddpageelse {} {\pushbackground[page] \setupbackgrounds[page][background=color,backgroundcolor=rojo] \page[yes,right] \popbackground} \stopsetups
\startsetups [chapter:before] \page \doifoddpageelse {} {\pushbackground[page] \setupbackgrounds[page][background=color,backgroundcolor=rojo] \page[yes,header,footer,right] \popbackground} \stopsetups
\setuphead[chapter] [width=20em, before=\directsetup{chapter:before},
Apply the above setup with
beforesection=\directsetup{chapter:before},
Wolfgang
Andres Conrado Montoya schrieb am 27.06.2019 um 20:53:
Wolfgang... Thank you, man. Thank you so very much. This works perfectly.
As I understand it from your correction, my mistake was that I was not doing the page break before everything else, as I should, because in any case there will always be a page break in my layout. Then, let the rest of the algorithm decide if there will be a left or right page, headers and footers, etc. Am I correct? Yes, it's important to do the page check before the section is inserted.
When you use the before key you perform the check after \startchapter finished the previous page and removed the header line, when you insert now the colored page the header setting is used for this page and one the following page with the section title you get the unwanted header text. Wolfgang
participants (2)
-
Andres Conrado Montoya
-
Wolfgang Schuster