ntg-context - mailing list for ConTeXt users
 help / color / mirror / Atom feed
From: Hans Hagen <pragma@wxs.nl>
To: mailing list for ConTeXt users <ntg-context@ntg.nl>
Subject: Re: Highlight current chapter in list
Date: Thu, 08 Nov 2012 12:06:06 +0100	[thread overview]
Message-ID: <509B921E.4090407@wxs.nl> (raw)
In-Reply-To: <20121108110621.1944bf2c@homerow>

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	other threads:[~2012-11-08 11:06 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-11-07 23:29 Marco Patzer
2012-11-08  8:44 ` Wolfgang Schuster
2012-11-08 10:06   ` Marco Patzer
2012-11-08 11:06     ` Hans Hagen [this message]
2012-11-08 11:15       ` Hans Hagen
2012-11-08 11:42         ` Marco Patzer
2012-11-08 17:32           ` Marco Patzer
2012-11-08 18:18             ` Hans Hagen
2012-11-09 16:53         ` Sietse Brouwer
2012-11-09 17:03           ` Hans Hagen
2012-11-08 21:37   ` Marco Patzer
2012-11-08 21:45     ` Marco Patzer
2012-11-08 21:48     ` Wolfgang Schuster
2012-11-08 22:16       ` Hans Hagen
2012-11-09  0:43         ` Tikz backgrounds (was Re: Highlight current chapter in list) Aditya Mahajan
2012-11-09  9:17           ` Hans Hagen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=509B921E.4090407@wxs.nl \
    --to=pragma@wxs.nl \
    --cc=ntg-context@ntg.nl \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).