On 11/8/2012 11:06 AM, Marco Patzer wrote:
2012-11-08 Wolfgang Schuster:
Hi Wolfgang!
\startsetups [headlist] \framed[align=normal, frame=off] {\placelist [chapter] [alternative=highlight, criterium=all]} \stopsetups
\definelistalternative [highlight] [renderingsetup=list:highlight]
I like the flexibility of renderingsetups for \defineheadalternative, but frankly, I didn't know they can be used for lists as well and I was clueless about the best place to hook into.
\startsetups [list:highlight] \par \startlinealignment[middle] \doifelse{\fetchmark[chapter][first]}{\currentlistentrytitle} %\doifelse{\fetchmark[chapter][first]}{\ctxcommand{listtitle("\currentlist",\currentlistindex)}} {\color[red] {\currentlistentrytitle}} {\color[blue]{\currentlistentrytitle}} \stoplinealignment \par \stopsetups
That's a neat and clean solution. Thanks Wolfgang.
Wolfgang: Say that we have: \installcorenamespace{internalreference} \def\structureheadlocation#1% {\csname\??internalreference\ifcsname\??internalreference#1\endcsname#1\else\s!default\fi\endcsname} \letvalue{\??internalreference\s!default}\!!zerocount \def\storeinternalreference#1#2% {\setxvalue{\??internalreference\currentstructurename}{#2}} and in \strc_sectioning_register add: \storeinternalreference\currentstructurename\nextinternalreference then we can say: \startsetups [list:highlight] \par \startlinealignment[middle] \doifelse\currentlistentrylocation{\structureheadlocation{chapter}} {\color[red] {\currentlistentrytitle}} {\color[blue]{\currentlistentrytitle}} \stoplinealignment \par \stopsetups which is just comparing numbers (so one can also say: \startsetups [list:highlight] \par \startlinealignment[middle] \ifnum\currentlistentrylocation=\structureheadlocation{chapter}\relax \color[red] {\currentlistentrytitle} \else \color[blue]{\currentlistentrytitle} \fi \stoplinealignment \par \stopsetups but that's for low level coders) Hans ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | voip: 087 875 68 74 | www.pragma-ade.com | www.pragma-pod.nl -----------------------------------------------------------------