Dear list, I'm trying to make some fancy chapter headers. With MetaPost I drew a wave, which I'd like to place in the margin. I've read details.pdf and metafun.pdf, but I don't manage to get the positioning right. The wave should begin where the bottomframe ends and move on to the page border. Also, the graphic is placed in the page background layer, but nevertheless the text after the the graphic is shifted down. \startuniqueMPgraphic{wave} numeric periods, width; path wave; periods := 3 + 1/4; width := periods * 2*pi; wave := origin for x=0 step 0.1 until width: -- (x,x*sin(x)) endfor; pickup pencircle scaled 1pt; draw wave xscaled (OverlayWidth/width) yscaled (OverlayHeight/(2*width)); \stopuniqueMPgraphic \definelayer[decorations][position=yes,option=test,location=r] \setupbackgrounds[page][background=decorations] \defineoverlay[wave][\uniqueMPgraphic{wave}] \starttext {\ss\bfc A chapter title} \blank[small] \framed[frame=off,bottomframe=on,width=broad,rulethickness=1pt] {\ss\bfx \date \hfill Author Name} \setlayer[decorations]{\framed[background=wave,frame=off,width=\cutspace,height=2\lineheight]{}} \input knuth \stoptext What am I doing wrong? Is it a better idea to draw the bottomframe in MetaPost too? How do I take care of positioning in that case? Absolute positioning is not an option, because the length of the chapterheads can be two lines. It should also work on other paper sizes (A5 in particular). Kind regards, Tim Steenvoorden
Am 01.04.2011 11:39, schrieb Tim Steenvoorden:
Dear list,
I'm trying to make some fancy chapter headers. With MetaPost I drew a wave, which I'd like to place in the margin. I've read details.pdf and metafun.pdf, but I don't manage to get the positioning right. The wave should begin where the bottomframe ends and move on to the page border. Also, the graphic is placed in the page background layer, but nevertheless the text after the the graphic is shifted down.
\startuniqueMPgraphic{wave} numeric periods, width; path wave; periods := 3 + 1/4; width := periods * 2*pi; wave := origin for x=0 step 0.1 until width: -- (x,x*sin(x)) endfor; pickup pencircle scaled 1pt; draw wave xscaled (OverlayWidth/width) yscaled (OverlayHeight/(2*width)); \stopuniqueMPgraphic
\definelayer[decorations][position=yes,option=test,location=r] \setupbackgrounds[page][background=decorations] \defineoverlay[wave][\uniqueMPgraphic{wave}]
\starttext
{\ss\bfc A chapter title} \blank[small] \framed[frame=off,bottomframe=on,width=broad,rulethickness=1pt] {\ss\bfx \date \hfill Author Name} \setlayer[decorations]{\framed[background=wave,frame=off,width=\cutspace,height=2\lineheight]{}}
\input knuth
\stoptext
What am I doing wrong? Is it a better idea to draw the bottomframe in MetaPost too? How do I take care of positioning in that case? Absolute positioning is not an option, because the length of the chapterheads can be two lines. It should also work on other paper sizes (A5 in particular).
Don't ask me. I have no experience with layers in combination with 'position=yes'. Anyhow, IMO it's much easier to draw all in one graphic than try to attach the MP graphic with the frame(d) border. Also: I have no idea how to do it :-) I attached a working example, but it's more a starting point than a final solution. Best wishes, Peter
Kind regards, Tim Steenvoorden ___________________________________________________________________________________ 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 ___________________________________________________________________________________
On Fri, 1 Apr 2011, Tim Steenvoorden wrote: (Untested).
\startuniqueMPgraphic{wave} numeric periods, width; path wave; periods := 3 + 1/4; width := periods * 2*pi; wave := origin for x=0 step 0.1 until width: -- (x,x*sin(x)) endfor; pickup pencircle scaled 1pt; draw wave xscaled (OverlayWidth/width) yscaled (OverlayHeight/(2*width));
setbounds currentpicture to boundingbox OverlayBox ;
\stopuniqueMPgraphic
Does setting the bounds of the current picture help? Aditya
participants (3)
-
Aditya Mahajan
-
Peter Rolf
-
Tim Steenvoorden