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
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
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