![](https://secure.gravatar.com/avatar/d7c3317235884569312c31f786d43bbc.jpg?s=120&d=mm&r=g)
Hi, 1. In the following code, the color is not included in the \startframedtext \stopframedtext environment 2. How can the height of the red square adapts to the height of the text ? 3. Can we improve the code ? Best regards, Fabrice \setupcolors[state=start] \definecolor[mycolor][c=0.00, m=0.10, y=0.20, k=0.00] \defineenumeration [definition] [text={\blue DÉFINITION : }, headstyle={\bf\feature[+][f:smallcaps]}, headcommand={ \startMPcode u:=0.3cm; filldraw (0,0)--(1u,0)--(1u,1u)--(0,1u)--cycle withcolor red ; \stopMPcode}, width=fit, alternative=top, title=yes, titleright=, titleleft=, before={\startframedtext[width=\textwidth,frame=off,background=color,backgroundcolor=\MPcolor{mycolor}]}, after={\stopframedtext}] \starttext \startdefinition{\red Expérience aléatoire} Une {\bf expérience aléatoire} est une expérience renouvelable dont les résultats possibles sont connus sans qu'on puisse déterminer lequel sera réalisé. \stopdefinition \stoptext
![](https://secure.gravatar.com/avatar/b79687264c3e06cba13b54d05b12a9f5.jpg?s=120&d=mm&r=g)
Am 29.03.2015 um 22:05 schrieb Fabrice Couvreur
: Hi,
1. In the following code, the color is not included in the \startframedtext \stopframedtext environment
Remove the \MPcolor command, it is only needed for meatiest graphics. You can also remove \setupcolors[state=start] because MkIV enables colors by default.
2. How can the height of the red square adapts to the height of the text ?
You can use the \htofstring command to get the height of a character but the command accepts only text and you can’t use color or font settings in the argument.
3. Can we improve the code ?
Use keys to set the colors for all elements, you can also remove the \feature command because settings small caps for uppercase text is useless. You should also create a real command for the headcommand key because there can be problems when context checks for the value of the key. \definecolor[mycolor][c=0.00, m=0.10, y=0.20, k=0.00] \define\DefinitionHeadcommand {\blackrule [ color=red, width=\htofstring{D},% width=\htofstring{\enumerationparameter{text}}, height=\htofstring{D}]% \thinspace} \defineenumeration [definition] [text={DÉFINITION : }, headstyle=bold, headcommand=\DefinitionHeadcommand, headcolor=blue, titlecolor=red, width=fit, alternative=top, title=yes, titleright=, titleleft=, before={\startframedtext[width=\textwidth,frame=off,background=color,backgroundcolor=mycolor]}, after={\stopframedtext}] \starttext \startdefinition{Expérience aléatoire} Une {\bf expérience aléatoire} est une expérience renouvelable dont les résultats possibles sont connus sans qu'on puisse déterminer lequel sera réalisé. \stopdefinition \stoptext Wolfgang
![](https://secure.gravatar.com/avatar/23fd5fd7c9582675882a5336e1927a44.jpg?s=120&d=mm&r=g)
Hi Wolfgang, I would first like to express once again my admiration for your knowledge and attention that you have to explain clearly. The code is cleaner, but I want the title ("DÉFINITION :Expérience aléatoire") is not in the colored frame, that is to say, as my original code. Best regards, Fabrice
participants (3)
-
Fabrice
-
Fabrice Couvreur
-
Wolfgang Schuster