On 5/25/2020 2:40 PM, Bruce Horrocks wrote:
I can't be the first to have wanted to try something like this. Is it possible
to use tabulate (or any of the table types) to customise the layout of the
table of contents?
I'd like 4 columns - title, subject, author and page - where subject and author
will (eventually) be additional parameters supplied to \startchapter. Bonus
points if it works in interactive mode as well.
Minimum non-working example below. This generates the 4 column values per
chapter heading but they run together into a single paragraph as if the table
formatting was not present.
%%% Begin %%%
\setuppapersize [A4] [A4]
\setupinteraction [state=start]
\setuplist [chapter]
[ alternative=command, %interactive
command=\myTOCrow,
before=\myTOCbefore,
after=\myTOCafter
]
% #1 == Section number; #2 == text; #3 == page number
\define[3]\myTOCrow{\NC #2 \NC dummy \NC John Doe \NC #3 \NC\NR }
\define\myTOCbefore{
\starttabulate[|pw(8.75cm)|l|lw(4.2cm)|r|]
\NC \underbars{Title}
\NC \underbars{Subject}
\NC \underbars{Author}
\NC \underbars{Page}
\NC\NR
}
\define\myTOCafter{%
\stoptabulate }
\starttext
\title{Tabulated Table of Contents}
\placelist[chapter]
\startchapter[title=Tufte 1]
\input tufte
\stopchapter
\startchapter[title=Tufte 2]
\input tufte
\stopchapter
\stoptext
%%% End %%%
It's hard. Maybe I need to make a more low level accessor for that but
multipass etc gets in the way. When you knwo the dimensions you can do
this:
\usemodule[article-basic]
\definelistalternative
[whatever]
[renderingsetup=whatever]
\setuplist
[chapter]
[alternative=whatever]
\startsetups whatever
\framed [offset=overlay,frame=off] {
\framed [width=25mm,align=flushleft,frame=off,offset=0pt] {
number: \currentlistentrynumber
}
\framed [width=4cm,align=normal,frame=off,offset=0pt] {
title: \currentlistentrytitle
}
\framed [width=4cm,align=normal,frame=off,offset=0pt] {
author: \structurelistuservariable{author}
}
\framed [width=2cm,align=flushright,frame=off,offset=0pt] {
page: \currentlistentrypagenumber
}
}
\stopsetups
\starttext
\starttitle[title={Tabulated Table of Contents}]
\placelist[chapter]
\stoptitle
\dorecurse {3} {
\startchapter[title=Covid 9][author=Cuomo]
\input cuomo
\stopchapter
}
\stoptext
Hans
-----------------------------------------------------------------
Hans Hagen | PRAGMA ADE
Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
tel: 038 477 53 69 | www.pragma-ade.nl | 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://context.aanhet.net
archive : https://bitbucket.org/phg/context-mirror/commits/
wiki : http://contextgarden.net
___________________________________________________________________________________