Framing the text area of a part page w/ tikz/pgf.
The code below frames the text area of a part page. The part page removes the footer and headers, then I use definelayout to change the text height & width. It works find until I load the pgf and/or tikz modules. When either of those modules are loaded, the frame is forced to the next page. The only way I can make the frame stay on the page is to reduce the height of the frame; however, then it doesn't fit the text area that I've defined. Why when I load the modules pgf and/or tikz does the frame for the part page get forced to the next page? How do I fix it? Is there a better way to do this? (don't say remove the pgf and tikz modules :-) ). Thanks, Bart \showframe %\usemodule[pgf] %\usemodule[tikz] \definelayout[PartLayout][ header=0in, headerdistance=0in, footer=0in, footerdistance=0in, ] \setuphead[part][ command=\MyPartCommand, footer=high, header=high, placehead=yes, ] \def\MyPartCommand#1#2{% \setuplayout[PartLayout] \framed[% rulethickness=5pt,% height=\textheight,% strut=no,% width=\textwidth,% ]{\vfill This is A Part \vfill\vfill} \setuplayout[reset] } \starttext \part{This is part one} \stoptext
Am 14.01.2009 um 18:53 schrieb Bart C. Wise:
The code below frames the text area of a part page. The part page removes the footer and headers, then I use definelayout to change the text height & width. It works find until I load the pgf and/or tikz modules. When either of those modules are loaded, the frame is forced to the next page. The only way I can make the frame stay on the page is to reduce the height of the frame; however, then it doesn't fit the text area that I've defined. Why when I load the modules pgf and/or tikz does the frame for the part page get forced to the next page? How do I fix it? Is there a better way to do this? (don't say remove the pgf and tikz modules :-) ).
How about this setup? \defineframedtext [partframed] [width=\textwidth, height=\textheight, rulethickness=5pt, top=\vfill, bottom=\vfill\vfill] \setuphead [part] [before=\startpartframed, after=\stoppartframed, align=middle, footer=high, header=high, placehead=yes] \starttext \part{This is part one} \stoptext Wolfgang
On Wednesday 14 January 2009 11:21:02 am Wolfgang Schuster wrote:
\defineframedtext [partframed] [width=\textwidth, height=\textheight, rulethickness=5pt, top=\vfill, bottom=\vfill\vfill]
\setuphead [part] [before=\startpartframed, after=\stoppartframed, align=middle, footer=high, header=high, placehead=yes]
\starttext \part{This is part one} \stoptext
Thanks Wolfgang. I like the way you implemented the solution; however, if I load the pgf/tikz libraries with your solution, it still forces the frame to the next page. Ultimately I want to load an image and have it framed for the background on the part page. I like the ability that tikz gives me to adjust the opacity of the image, which is why I tried to find a solution using tikz. So I can find a solution without tikz, but is there one that will work with tikz? Bart
Am 14.01.2009 um 19:42 schrieb Bart C. Wise:
Ultimately I want to load an image and have it framed for the background on the part page. I like the ability that tikz gives me to adjust the opacity of the image, which is why I tried to find a solution using tikz. So I can find a solution without tikz, but is there one that will work with tikz?
How about this? \setupexternalfigures[location={local,global,default}] \setupcolors[state=start] \definecolor[partwhite][s=1,t=.8,a=1] \defineoverlay[partimage][\overlayfigure{mill}] \defineframedtext [partframed] [width=\textwidth, height=\textheight, rulethickness=5pt, background={partimage,color}, backgroundcolor=partwhite, top=\vfill, bottom=\vfill\vfill] \setuphead [part] [before=\startpartframed, after=\stoppartframed, align=middle, footer=high, header=high, placehead=yes] \starttext \part{This is part one} \stoptext Wolfgang
On Wednesday 14 January 2009 12:03:51 pm Wolfgang Schuster wrote:
Am 14.01.2009 um 19:42 schrieb Bart C. Wise:
Ultimately I want to load an image and have it framed for the background on the part page. I like the ability that tikz gives me to adjust the opacity of the image, which is why I tried to find a solution using tikz. So I can find a solution without tikz, but is there one that will work with tikz?
How about this?
\setupexternalfigures[location={local,global,default}]
\setupcolors[state=start]
\definecolor[partwhite][s=1,t=.8,a=1]
\defineoverlay[partimage][\overlayfigure{mill}]
\defineframedtext [partframed] [width=\textwidth, height=\textheight, rulethickness=5pt, background={partimage,color}, backgroundcolor=partwhite, top=\vfill, bottom=\vfill\vfill]
\setuphead [part] [before=\startpartframed, after=\stoppartframed, align=middle, footer=high, header=high, placehead=yes]
\starttext \part{This is part one} \stoptext
Wolfgang, Thanks! That one works. And much more elegant than what I was developing. Just so I understand: "background={partimage,color}" : This creates the background from both the image and the backgroundcolor, correct? What does the "s=1" and the "a=1" do in defining the color partwhite? I can't find anything on the web. Bart
Am 14.01.2009 um 20:35 schrieb Bart C. Wise:
On Wednesday 14 January 2009 12:03:51 pm Wolfgang Schuster wrote:
Am 14.01.2009 um 19:42 schrieb Bart C. Wise:
Ultimately I want to load an image and have it framed for the background on the part page. I like the ability that tikz gives me to adjust the opacity of the image, which is why I tried to find a solution using tikz. So I can find a solution without tikz, but is there one that will work with tikz?
How about this?
\setupexternalfigures[location={local,global,default}]
\setupcolors[state=start]
\definecolor[partwhite][s=1,t=.8,a=1]
\defineoverlay[partimage][\overlayfigure{mill}]
\defineframedtext [partframed] [width=\textwidth, height=\textheight, rulethickness=5pt, background={partimage,color}, backgroundcolor=partwhite, top=\vfill, bottom=\vfill\vfill]
\setuphead [part] [before=\startpartframed, after=\stoppartframed, align=middle, footer=high, header=high, placehead=yes]
\starttext \part{This is part one} \stoptext
Thanks! That one works. And much more elegant than what I was developing. Just so I understand: "background={partimage,color}" : This creates the background from both the image and the backgroundcolor, correct?
Yes, I used here two layers for the background, one for the image and another one for the color which is before the image.
What does the "s=1" and the "a=1" do in defining the color partwhite? I can't find anything on the web.
I used s=1 to define a white color and the other two to make it transparent. http://wiki.contextgarden.net/Colors#Transparent_Colors Wolfgang
participants (2)
-
Bart C. Wise
-
Wolfgang Schuster