Optimize code to create a environnementt with Metafun ?
![](https://secure.gravatar.com/avatar/d7c3317235884569312c31f786d43bbc.jpg?s=120&d=mm&r=g)
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 ? 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
![](https://secure.gravatar.com/avatar/49e63acb01f2ca80efce7eed08310ce8.jpg?s=120&d=mm&r=g)
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 -----------------------------------------------------------------
![](https://secure.gravatar.com/avatar/d7c3317235884569312c31f786d43bbc.jpg?s=120&d=mm&r=g)
Hi Hans,
So the code is "perfect" ? : =)
typography? sure, but more a discussion topic at the ctx meeting
Seriously, where can we read the conference proceedings ?
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
___________________________________________________________________________________
![](https://secure.gravatar.com/avatar/49e63acb01f2ca80efce7eed08310ce8.jpg?s=120&d=mm&r=g)
On 7/26/2016 2:20 PM, Fabrice Couvreur wrote:
Hi Hans, So the code is "perfect"? : =)
typography? sure, but more a discussion topic at the ctx meeting
Seriously, where can we read the conference proceedings?
such things don't end up in proceedings ... btw, it's those (and other) discussions that make tex meetings interesting Hans ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl -----------------------------------------------------------------
![](https://secure.gravatar.com/avatar/d7c3317235884569312c31f786d43bbc.jpg?s=120&d=mm&r=g)
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
___________________________________________________________________________________
![](https://secure.gravatar.com/avatar/49e63acb01f2ca80efce7eed08310ce8.jpg?s=120&d=mm&r=g)
On 7/26/2016 3:12 PM, Fabrice Couvreur wrote:
Hi Hans, How to pass the "SomeText" parameter?
with setvariables and getvariable
\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
mailto:pragma@wxs.nl>: 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 mailto: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 http://www.pragma-ade.nl | www.pragma-pod.nl http://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 mailto: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 ___________________________________________________________________________________
___________________________________________________________________________________ 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 -----------------------------------------------------------------
![](https://secure.gravatar.com/avatar/d7c3317235884569312c31f786d43bbc.jpg?s=120&d=mm&r=g)
Hi Hans,
I think I was not very clear.
Title first framed : Hans
Title second framed : Hagen
Thanks
Fabrice
\setupbodyfont[pagella,11pt]
\setupcolors[state=start]
\defineframedtext
[MyFrame]
[before={\blank},
after={\blank},
frame=off,
background=MyFrame,
width=\textwidth,
height=fit,
style=italic]
\setvariables
[text]
[text1=Hans,
text2=Hagen,]
\startuseMPgraphic{MyFrame}
path b;
picture p;
p := textext.rt("\white\getvariable{text}{text1}");
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
\startMyFrame
\input knuth
\stopMyFrame
\startMyFrame
\input knuth
\stopMyFrame
2016-07-26 16:15 GMT+02:00 Hans Hagen
On 7/26/2016 3:12 PM, Fabrice Couvreur wrote:
Hi Hans, How to pass the "SomeText" parameter?
with setvariables and getvariable
\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
mailto:pragma@wxs.nl>: 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 mailto: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 http://www.pragma-ade.nl | www.pragma-pod.nl http://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 mailto: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
___________________________________________________________________________________
___________________________________________________________________________________ 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
___________________________________________________________________________________
![](https://secure.gravatar.com/avatar/b79687264c3e06cba13b54d05b12a9f5.jpg?s=120&d=mm&r=g)
Fabrice Couvreur mailto:fabrice1.couvreur@gmail.com 26. Juli 2016 um 20:21 Hi Hans, I think I was not very clear.
Title first framed : Hans
Title second framed : Hagen
You can pass a title to the optional framedtext argument (use camel case to avoid using existing key names) and access the value later in the metapost graphic.
Thanks Fabrice
\setupbodyfont[pagella,11pt]
\setupcolors[state=start]
\defineframedtext [MyFrame] [before={\blank}, after={\blank}, frame=off, background=MyFrame, width=\textwidth, width=max, height=fit, style=italic]
\setvariables [text] [text1=Hans, text2=Hagen,]
\startuseMPgraphic{MyFrame} path b; picture p; p := textext.rt("\white\getvariable{text}{text1}");
p := textext.rt("\white\framedtextparameter{Title}");
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
\startMyFrame \input knuth \stopMyFrame
\startMyFrame \input knuth \stopMyFrame
\startMyFrame[Title=Hans] \input knuth \stopMyFrame \startMyFrame[Title=Hagen] \input knuth \stopMyFrame Wolfgang
![](https://secure.gravatar.com/avatar/d7c3317235884569312c31f786d43bbc.jpg?s=120&d=mm&r=g)
Hi Wolfgang
Thanks once again !
\startMyFrame[Title=Thanks ]
\input knuth
\stopMyFrame
\startMyFrame[Title=once again !]
\input knuth
\stopMyFrame
Fabrice
2016-07-26 21:49 GMT+02:00 Wolfgang Schuster
Fabrice Couvreur
26. Juli 2016 um 20:21 Hi Hans, I think I was not very clear. Title first framed : Hans
Title second framed : Hagen
You can pass a title to the optional framedtext argument (use camel case to avoid using existing key names) and access the value later in the metapost graphic.
Thanks Fabrice
\setupbodyfont[pagella,11pt]
\setupcolors[state=start]
\defineframedtext [MyFrame] [before={\blank}, after={\blank}, frame=off, background=MyFrame, width=\textwidth,
width=max,
height=fit, style=italic]
\setvariables [text] [text1=Hans, text2=Hagen,]
\startuseMPgraphic{MyFrame} path b; picture p; p := textext.rt("\white\getvariable{text}{text1}");
p := textext.rt("\white\framedtextparameter{Title}");
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
\startMyFrame \input knuth \stopMyFrame
\startMyFrame \input knuth \stopMyFrame
\startMyFrame[Title=Hans] \input knuth \stopMyFrame
\startMyFrame[Title=Hagen] \input knuth \stopMyFrame
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
___________________________________________________________________________________
participants (3)
-
Fabrice Couvreur
-
Hans Hagen
-
Wolfgang Schuster