From: Wolfgang Schuster <wolfgang.schuster@gmail.com>
To: mailing list for ConTeXt users <ntg-context@ntg.nl>
Subject: Re: Highlight current chapter in list
Date: Thu, 8 Nov 2012 09:44:57 +0100 [thread overview]
Message-ID: <5D6E4FB4-9C56-49FE-8592-ACBB3F278D77@gmail.com> (raw)
In-Reply-To: <20121108002930.20b7f349@homerow>
Am 08.11.2012 um 00:29 schrieb Marco Patzer <homerow@lavabit.com>:
> Hi!
>
> How do I highlight the current chapter in the table of contents? The
> TOC is displayed on each page. For illustration I misused the
> interaction colour, which of course only works for the first page of
> a chapter.
>
> \setupheadertexts
> [\setups{headlist}]
>
> \startsetups [headlist]
> \framed[align=normal, frame=off]
> {\placelist [chapter] [alternative=f, criterium=all]}
> \stopsetups
>
> \setupinteraction
> [state=start,
> color=lightgray,
> contrastcolor=darkgreen]
>
> \starttext
> \startchapter [title=alpha] \stopchapter
> \startchapter [title=beta] \page\input knuth \stopchapter
> \startchapter [title=gamma] \stopchapter
> \stoptext
You can use the marking mechanism to get the title of the current chapter.
The problem for the solution below is to get a expandable version of the
list entry because \currentlistentrytitle itself isn’t expandable and can’t
be used in \doifelse. Instead of using \ctxcommand better ask Hans for
a raw/expandable version of the tile/pagenumber commands.
\setupheadertexts
[\setups{headlist}]
\startsetups [headlist]
\framed[align=normal, frame=off]
{\placelist [chapter] [alternative=highlight, criterium=all]}
\stopsetups
\definelistalternative
[highlight]
[renderingsetup=list:highlight]
\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
\setupinteraction
[state=start,
color=lightgray,
contrastcolor=darkgreen]
\starttext
\startchapter [title=alpha] \stopchapter
\startchapter [title=beta] \page\input knuth \stopchapter
\startchapter [title=gamma] \stopchapter
\stoptext
Wolfgang
___________________________________________________________________________________
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
___________________________________________________________________________________
next prev parent reply other threads:[~2012-11-08 8:44 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 [this message]
2012-11-08 10:06 ` Marco Patzer
2012-11-08 11:06 ` Hans Hagen
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=5D6E4FB4-9C56-49FE-8592-ACBB3F278D77@gmail.com \
--to=wolfgang.schuster@gmail.com \
--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).