Am Dienstag, 25. Juni 2024, 00:09:09 MESZ schrieb Wolfgang Schuster:
Gerion Entrup schrieb am 24.06.2024 um 23:57:
Am Montag, 24. Juni 2024, 21:20:19 MESZ schrieb Aditya Mahajan:
On Mon, 24 Jun 2024, Gerion Entrup wrote:
Hi,
I was in the process to convert an itemize part to a description and wanted to simplify the code in the same move. I discovered headcommand for that, but struggled to set the text in an highlight _and_ make a colon at the end. Not sure what exactly you want, but how about:
\definehighlight[hl][style={\m{>}\,\switchtobodyfont[tt]}] % This is the wrong way to define such a command as '>' is not part of the style. I have left this definition just for comparison with the soln below. Is there a better way to define a highlight that sets a style (color, font) _and_ a prefix (symbol)? Another way, I know of, would be just a plain def, something like \def{\hl}{\groupedcommand{>\,\switchtobodyfont[tt]}{}}, but actually I want to define a highlight (just with an additional prefix).
1. ConTeXt already uses \hl as name for a existing command.
2. Use \definestartstop:
\definestartstop [gerion] [style=mono,left={›\thinspace}]
\starttext
text
\gerion{text}
\stoptext
\definedescription[category][ alternative=top, headstyle=bold, width=broad, ]
\definedescription[desc][ width=fit, distance={\widthofstring{~}},
distance=\spaceamount,
Wolfgang
This seems to be much better but does not lead to the wanted result. The full example now is: ``` \definestartstop[myhl][style=mono,left={›\thinspace}] \definedescription[categorie][ alternative=top, headstyle=bold, width=broad, ] \definedescription[desc][ width=broad, distance=\spaceamount, headcommand={\groupedcommand{\startmyhl}{\stopmyhl :}}, headstyle=, before={\startpacked}, after={\stoppacked}, alternative=hanging ] \starttext This is a \myhl{highlight}. Some listings \startcategorie{Itemize} \startitemize[packed] \item \myhl{first}: one \item \myhl{second}: two \stopitemize \stopcategorie Now the same as desc: \startcategorie{Desc} \startdesc{first} one \stopdesc \startdesc{second} two \stopdesc \stopcategorie \stoptext ``` This adopts the correct style in \startdesc \stopdesc and sets the colon but omits the › (the left part). Gerion