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

Reply via email to