Hi Hans,
How to pass the "SomeText" parameter ?
\setupbodyfont[pagella,11pt]
\setupcolors[state=start]
\defineframedtext
[SomeText]
[before={\blank},
after={\blank},
frame=off,
background=MyFrame,
width=\textwidth,
height=fit,
style=italic]
\startuseMPgraphic{MyFrame}
path b;
picture p;
p := textext.rt("\white SomeText");
p := p shifted (2BodyFontSize,OverlayHeight-ypart center p+.25ExHeight);
b := boundingbox p leftenlarged .5EmWidth rightenlarged .5EmWidth;
fill OverlayBox withcolor lightgray;
fill b withcolor darkred;
draw bottomboundary OverlayBox withpen pencircle scaled 1pt withcolor
darkred;
draw topboundary OverlayBox withpen pencircle scaled 1pt withcolor
darkred;
draw p;
setbounds currentpicture to boundingbox currentpicture enlarged 2mm;
\stopuseMPgraphic
\defineoverlay
[MyFrame]
[\useMPgraphic{MyFrame}]
\starttext
\startSomeText{SomeText1}
\input knuth
\stopSomeText
\startSomeText{SomeText2}
\input knuth
\stopSomeText
\stoptext
Thanks
Fabrice
2016-07-26 12:34 GMT+02:00 Hans Hagen
On 7/26/2016 10:18 AM, Fabrice Couvreur wrote:
Hello, Hans and Wolfgang really helped me to create new environments with Metafun. I think Hans continuous development Metafun. So my question is simple: can we optimize this code?
in what sense ...
speed? not much to gain
correctness? mayhe use "lightgray" and "darkred" for consistency
typography? sure, but more a discussion topic at the ctx meeting
Thanks,
Fabrice
\setupbodyfont[pagella,11pt]
\setupcolors[state=start]
\defineframedtext [MyDefinition] [before={\blank}, after={\blank}, frame=off, background=MyFrame, width=\textwidth, height=fit, style=italic]
\definelabel [Définition] [headstyle=\bf\smallcaps]
\startuseMPgraphic{MyFrame} path b; picture p; p := textext.rt("\white\Définition"); p := p shifted (2BodyFontSize,OverlayHeight-ypart center p+.25ExHeight); b := boundingbox p leftenlarged .5EmWidth rightenlarged .5EmWidth; fill OverlayBox withcolor \MPcolor{lightgray}; fill b withcolor darkred; draw bottomboundary OverlayBox withpen pencircle scaled 1pt withcolor darkred; draw topboundary OverlayBox withpen pencircle scaled 1pt withcolor darkred; draw p; setbounds currentpicture to boundingbox currentpicture enlarged 2mm; \stopuseMPgraphic
\defineoverlay [MyFrame] [\useMPgraphic{MyFrame}]
\starttext
\showframe
\startMyDefinition \input knuth \stopMyDefinition
\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
___________________________________________________________________________________
--
----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl -----------------------------------------------------------------
___________________________________________________________________________________ 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
___________________________________________________________________________________